Remove Explorer.databaseAccount (#717)
Co-authored-by: Steve Faulkner <southpolesteve@gmail.com>
This commit is contained in:
parent
fdd12b41c4
commit
8c05ac740c
|
@ -69,6 +69,7 @@ module.exports = {
|
||||||
moduleNameMapper: {
|
moduleNameMapper: {
|
||||||
"^.*[.](svg|png|gif|less|css)$": "<rootDir>/mockModule",
|
"^.*[.](svg|png|gif|less|css)$": "<rootDir>/mockModule",
|
||||||
"@nteract/stateful-components/(.*)$": "<rootDir>/mockModule",
|
"@nteract/stateful-components/(.*)$": "<rootDir>/mockModule",
|
||||||
|
"monaco-editor/(.*)$": "<rootDir>/__mocks__/monaco-editor",
|
||||||
"office-ui-fabric-react/lib/(.*)$": "office-ui-fabric-react/lib-commonjs/$1", // https://github.com/OfficeDev/office-ui-fabric-react/wiki/Fabric-6-Release-Notes
|
"office-ui-fabric-react/lib/(.*)$": "office-ui-fabric-react/lib-commonjs/$1", // https://github.com/OfficeDev/office-ui-fabric-react/wiki/Fabric-6-Release-Notes
|
||||||
"^dnd-core$": "dnd-core/dist/cjs",
|
"^dnd-core$": "dnd-core/dist/cjs",
|
||||||
"^react-dnd$": "react-dnd/dist/cjs",
|
"^react-dnd$": "react-dnd/dist/cjs",
|
||||||
|
|
|
@ -2110,76 +2110,37 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@fluentui/date-time-utilities": {
|
"@fluentui/date-time-utilities": {
|
||||||
"version": "7.9.0",
|
"version": "7.9.1",
|
||||||
"resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.1.tgz",
|
||||||
"integrity": "sha512-D8p5WWeonqRO1EgIvo7WSlX1rcm87r2VQd62zTJPQImx8rpwc77CRI+iAvfxyVHRZMdt4Qk6Jq99dUaudPWaZw==",
|
"integrity": "sha512-o8iU1VIY+QsqVRWARKiky29fh4KR1xaKSgMClXIi65qkt8EDDhjmlzL0KVDEoDA2GWukwb/1PpaVCWDg4v3cUQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@uifabric/set-version": "^7.0.23",
|
"@uifabric/set-version": "^7.0.24",
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@fluentui/dom-utilities": {
|
"@fluentui/dom-utilities": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.2.tgz",
|
||||||
"integrity": "sha512-w40gi8fzCpwa7U8cONiuu8rszPStkVOL/weDf5pCbYEb1gdaV7MDPSNkgM6IV0Kz+k017noDgK9Fv4ru1Dwz1g==",
|
"integrity": "sha512-XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@uifabric/set-version": "^7.0.23",
|
"@uifabric/set-version": "^7.0.24",
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@fluentui/keyboard-key": {
|
"@fluentui/keyboard-key": {
|
||||||
"version": "0.2.12",
|
"version": "0.2.17",
|
||||||
"resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.2.12.tgz",
|
"resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.2.17.tgz",
|
||||||
"integrity": "sha512-t3yIbbPKJubb22vQ/FIWwS9vFAzaPYzFxKWPHVWLtxs/P+5yL+LD3B16DRtYreWAdl9CZvEbos58ChLZ0KHwSQ==",
|
"integrity": "sha512-iT1bU56rKrKEOfODoW6fScY11qj3iaYrZ+z11T6fo5+TDm84UGkkXjLXJTE57ZJzg0/gbccHQWYv+chY7bJN8Q==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@fluentui/react-focus": {
|
|
||||||
"version": "7.17.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.1.tgz",
|
|
||||||
"integrity": "sha512-Nulq2pE4pX6Pf+tGZl8uLp8VfqUzx3elC5v7QvYSBdjnZK8ykitdsa+Sd3PKYWW2EMlzVRSptlzbuJ6JyEDQKQ==",
|
|
||||||
"requires": {
|
|
||||||
"@fluentui/keyboard-key": "^0.2.12",
|
|
||||||
"@uifabric/merge-styles": "^7.19.1",
|
|
||||||
"@uifabric/set-version": "^7.0.23",
|
|
||||||
"@uifabric/styling": "^7.16.19",
|
|
||||||
"@uifabric/utilities": "^7.33.2",
|
|
||||||
"tslib": "^1.10.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@uifabric/styling": {
|
|
||||||
"version": "7.16.19",
|
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz",
|
|
||||||
"integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==",
|
|
||||||
"requires": {
|
|
||||||
"@fluentui/theme": "^1.7.1",
|
|
||||||
"@microsoft/load-themed-styles": "^1.10.26",
|
|
||||||
"@uifabric/merge-styles": "^7.19.1",
|
|
||||||
"@uifabric/set-version": "^7.0.23",
|
|
||||||
"@uifabric/utilities": "^7.33.2",
|
|
||||||
"tslib": "^1.10.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@fluentui/react-window-provider": {
|
"@fluentui/react-window-provider": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.2.tgz",
|
||||||
"integrity": "sha512-5hvruDyF0uE8+6YN6Y+d2sEzexBadxUNxUjDcDreTPsmtHPwF5FPBYLhoD7T84L5U4YNvKxKh25tYJm6E0GE2w==",
|
"integrity": "sha512-fGSgL3Vp/+6t1Ysfz21FWZmqsU+iFVxOigvHnm5uKVyyRPwtaabv/F6kQ2y5isLMI2YmJaUd2i0cDJKu8ggrvw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@uifabric/set-version": "^7.0.23",
|
"@uifabric/set-version": "^7.0.24",
|
||||||
"tslib": "^1.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@fluentui/theme": {
|
|
||||||
"version": "1.7.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.1.tgz",
|
|
||||||
"integrity": "sha512-cwx8gJ0O9d+Z8g6Lq7BgDgH8XPfSloUSy0GN3fWHJGrDCBPcnmz6/GKbbvxw9PZ2t1iNcAzJEJNT6NyuOOobPA==",
|
|
||||||
"requires": {
|
|
||||||
"@uifabric/merge-styles": "^7.19.1",
|
|
||||||
"@uifabric/set-version": "^7.0.23",
|
|
||||||
"@uifabric/utilities": "^7.33.2",
|
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -5850,131 +5811,37 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@uifabric/azure-themes": {
|
"@uifabric/azure-themes": {
|
||||||
"version": "7.6.7",
|
"version": "7.7.32",
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/azure-themes/-/azure-themes-7.6.7.tgz",
|
"resolved": "https://registry.npmjs.org/@uifabric/azure-themes/-/azure-themes-7.7.32.tgz",
|
||||||
"integrity": "sha512-KlfcjxoVn66wamYjWxZY1b7ezMIcX08ZbDZNKMvh/C9zchTqQ8P/cFAcfiBrxhKL3HJtb0CBFkhd3lYcQD76jg==",
|
"integrity": "sha512-S7mym3EQ/WjRu0+VHLv6HP06BvaszaEl1jXvI8IiP19aWn+AYWEtdB0BjTA8/SUc1PXrRWG/wZgucOgLvKncDA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@fluentui/theme": "^1.7.1",
|
"@fluentui/theme": "^1.7.4",
|
||||||
"@uifabric/merge-styles": "^7.19.1",
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
"@uifabric/set-version": "^7.0.23",
|
"@uifabric/set-version": "^7.0.24",
|
||||||
"office-ui-fabric-react": "^7.157.0",
|
"office-ui-fabric-react": "^7.168.2",
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@uifabric/styling": {
|
"@fluentui/react-focus": {
|
||||||
"version": "7.16.19",
|
"version": "7.17.6",
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz",
|
"resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.6.tgz",
|
||||||
"integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==",
|
"integrity": "sha512-JkLWNDe567lhvbnIhbYv9nUWYDIVN06utc3krs0UZBI+A0YZtQmftBtY0ghXo4PSjgozZocdu9sYkkgZOgyRLg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@fluentui/theme": "^1.7.1",
|
"@fluentui/keyboard-key": "^0.2.12",
|
||||||
"@microsoft/load-themed-styles": "^1.10.26",
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
"@uifabric/merge-styles": "^7.19.1",
|
"@uifabric/set-version": "^7.0.24",
|
||||||
"@uifabric/set-version": "^7.0.23",
|
"@uifabric/styling": "^7.19.0",
|
||||||
"@uifabric/utilities": "^7.33.2",
|
"@uifabric/utilities": "^7.33.5",
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"office-ui-fabric-react": {
|
"@fluentui/react-window-provider": {
|
||||||
"version": "7.157.0",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.157.0.tgz",
|
"resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.2.tgz",
|
||||||
"integrity": "sha512-nS0RfhQKho2S2hiUxHcgM47AZUK1EzbjkdWkofNHQk8q0PwJkQPTUjTbSuxhQNLzXHiaQJz930ZYUvRCZvlL1w==",
|
"integrity": "sha512-fGSgL3Vp/+6t1Ysfz21FWZmqsU+iFVxOigvHnm5uKVyyRPwtaabv/F6kQ2y5isLMI2YmJaUd2i0cDJKu8ggrvw==",
|
||||||
"requires": {
|
|
||||||
"@fluentui/date-time-utilities": "^7.9.0",
|
|
||||||
"@fluentui/react-focus": "^7.17.1",
|
|
||||||
"@fluentui/react-window-provider": "^1.0.1",
|
|
||||||
"@microsoft/load-themed-styles": "^1.10.26",
|
|
||||||
"@uifabric/foundation": "^7.9.21",
|
|
||||||
"@uifabric/icons": "^7.5.18",
|
|
||||||
"@uifabric/merge-styles": "^7.19.1",
|
|
||||||
"@uifabric/react-hooks": "^7.13.9",
|
|
||||||
"@uifabric/set-version": "^7.0.23",
|
|
||||||
"@uifabric/styling": "^7.16.19",
|
|
||||||
"@uifabric/utilities": "^7.33.2",
|
|
||||||
"prop-types": "^15.7.2",
|
|
||||||
"tslib": "^1.10.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@uifabric/file-type-icons": {
|
|
||||||
"version": "7.6.24",
|
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/file-type-icons/-/file-type-icons-7.6.24.tgz",
|
|
||||||
"integrity": "sha512-dmBpfWrWovw/TtwUtamfY4UqwsSqzTGm0Npvo/9b0mkIANrO6MGuz8M4MqvAWbzi/vq0dlGP5FF+ShkhtmrMnw==",
|
|
||||||
"requires": {
|
|
||||||
"@uifabric/set-version": "^7.0.23",
|
|
||||||
"@uifabric/styling": "^7.16.19",
|
|
||||||
"tslib": "^1.10.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@uifabric/styling": {
|
|
||||||
"version": "7.16.19",
|
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz",
|
|
||||||
"integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==",
|
|
||||||
"requires": {
|
|
||||||
"@fluentui/theme": "^1.7.1",
|
|
||||||
"@microsoft/load-themed-styles": "^1.10.26",
|
|
||||||
"@uifabric/merge-styles": "^7.19.1",
|
|
||||||
"@uifabric/set-version": "^7.0.23",
|
|
||||||
"@uifabric/utilities": "^7.33.2",
|
|
||||||
"tslib": "^1.10.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@uifabric/foundation": {
|
|
||||||
"version": "7.9.21",
|
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.21.tgz",
|
|
||||||
"integrity": "sha512-z58pcC0hJr6S0iYLxNFoqfrfLIMxbSxFHRirk5LDT2HXbiVIYbJwbK4O0InS+sz3chdx8GGSdIUz7muXeT/D+A==",
|
|
||||||
"requires": {
|
|
||||||
"@uifabric/merge-styles": "^7.19.1",
|
|
||||||
"@uifabric/set-version": "^7.0.23",
|
|
||||||
"@uifabric/styling": "^7.16.19",
|
|
||||||
"@uifabric/utilities": "^7.33.2",
|
|
||||||
"tslib": "^1.10.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@uifabric/styling": {
|
|
||||||
"version": "7.16.19",
|
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz",
|
|
||||||
"integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==",
|
|
||||||
"requires": {
|
|
||||||
"@fluentui/theme": "^1.7.1",
|
|
||||||
"@microsoft/load-themed-styles": "^1.10.26",
|
|
||||||
"@uifabric/merge-styles": "^7.19.1",
|
|
||||||
"@uifabric/set-version": "^7.0.23",
|
|
||||||
"@uifabric/utilities": "^7.33.2",
|
|
||||||
"tslib": "^1.10.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@uifabric/icons": {
|
|
||||||
"version": "7.5.18",
|
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.18.tgz",
|
|
||||||
"integrity": "sha512-gLPEccWlTER9NiXcOHZ+dSJ3tgLAQ4mTf3hTlKV7e7dKBTl95jzcemG5S2NJQ7xWPTH3+5K1Bpd+nqZo9EJw3w==",
|
|
||||||
"requires": {
|
|
||||||
"@uifabric/set-version": "^7.0.23",
|
|
||||||
"@uifabric/styling": "^7.16.19",
|
|
||||||
"tslib": "^1.10.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@fluentui/dom-utilities": {
|
|
||||||
"version": "1.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.2.tgz",
|
|
||||||
"integrity": "sha512-XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==",
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"@uifabric/set-version": "^7.0.24",
|
"@uifabric/set-version": "^7.0.24",
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@uifabric/set-version": {
|
|
||||||
"version": "7.0.24",
|
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz",
|
|
||||||
"integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==",
|
|
||||||
"requires": {
|
|
||||||
"tslib": "^1.10.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@fluentui/theme": {
|
"@fluentui/theme": {
|
||||||
|
@ -5986,60 +5853,178 @@
|
||||||
"@uifabric/set-version": "^7.0.24",
|
"@uifabric/set-version": "^7.0.24",
|
||||||
"@uifabric/utilities": "^7.33.5",
|
"@uifabric/utilities": "^7.33.5",
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
},
|
}
|
||||||
"dependencies": {
|
},
|
||||||
"@uifabric/merge-styles": {
|
"@types/react": {
|
||||||
"version": "7.19.2",
|
"version": "16.14.5",
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.2.tgz",
|
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.5.tgz",
|
||||||
"integrity": "sha512-kTlhwglDqwVgIaJq+0yXgzi65plGhmFcPrfme/rXUGMJZoU+qlGT5jXj5d3kuI59p6VB8jWEg9DAxHozhYeu0g==",
|
"integrity": "sha512-YRRv9DNZhaVTVRh9Wmmit7Y0UFhEVqXqCSw3uazRWMxa2x85hWQZ5BN24i7GXZbaclaLXEcodEeIHsjBA8eAMw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@uifabric/set-version": "^7.0.24",
|
"@types/prop-types": "*",
|
||||||
"tslib": "^1.10.0"
|
"@types/scheduler": "*",
|
||||||
}
|
"csstype": "^3.0.2"
|
||||||
},
|
}
|
||||||
"@uifabric/set-version": {
|
},
|
||||||
"version": "7.0.24",
|
"@types/react-dom": {
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz",
|
"version": "16.9.12",
|
||||||
"integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==",
|
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.12.tgz",
|
||||||
"requires": {
|
"integrity": "sha512-i7NPZZpPte3jtVOoW+eLB7G/jsX5OM6GqQnH+lC0nq0rqwlK0x8WcMEvYDgFWqWhWMlTltTimzdMax6wYfZssA==",
|
||||||
"tslib": "^1.10.0"
|
"requires": {
|
||||||
}
|
"@types/react": "^16"
|
||||||
},
|
}
|
||||||
"@uifabric/utilities": {
|
},
|
||||||
"version": "7.33.5",
|
"@uifabric/foundation": {
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz",
|
"version": "7.9.26",
|
||||||
"integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==",
|
"resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.26.tgz",
|
||||||
"requires": {
|
"integrity": "sha512-1FLTb+jlH/Tuel2L9wT/zLl5ZW6W4Lbjrs5VUVjv81vWxzznvPnTf8+Ew0qkzaH7xDuMNMl7okswhV0IfJyheg==",
|
||||||
"@fluentui/dom-utilities": "^1.1.2",
|
"requires": {
|
||||||
"@uifabric/merge-styles": "^7.19.2",
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
"@uifabric/set-version": "^7.0.24",
|
"@uifabric/set-version": "^7.0.24",
|
||||||
"prop-types": "^15.7.2",
|
"@uifabric/styling": "^7.19.0",
|
||||||
"tslib": "^1.10.0"
|
"@uifabric/utilities": "^7.33.5",
|
||||||
}
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"@uifabric/react-hooks": {
|
||||||
|
"version": "7.14.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.14.0.tgz",
|
||||||
|
"integrity": "sha512-Ndu/DEKHF4gFXEZa2AGgSkdWaj+njVrsSyXbkWRh2UZReFWnH1LMko9p/ZCwk1i9kAd5CUmyIfURUzIEya9YCg==",
|
||||||
|
"requires": {
|
||||||
|
"@fluentui/react-window-provider": "^1.0.2",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"@uifabric/utilities": "^7.33.5",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@uifabric/styling": {
|
"@uifabric/styling": {
|
||||||
"version": "7.16.19",
|
"version": "7.19.0",
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz",
|
"resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz",
|
||||||
"integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==",
|
"integrity": "sha512-fXComDtGV7dHF4rP4cLHwI6fC+1f/nvPavpMBz4IQdySwixta9TVMKbzt0OA6i0mJztqZCVAd27F/sl9R/JmcQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@fluentui/theme": "^1.7.1",
|
"@fluentui/theme": "^1.7.4",
|
||||||
"@microsoft/load-themed-styles": "^1.10.26",
|
"@microsoft/load-themed-styles": "^1.10.26",
|
||||||
"@uifabric/merge-styles": "^7.19.1",
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
"@uifabric/set-version": "^7.0.23",
|
"@uifabric/set-version": "^7.0.24",
|
||||||
"@uifabric/utilities": "^7.33.2",
|
"@uifabric/utilities": "^7.33.5",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@uifabric/utilities": {
|
||||||
|
"version": "7.33.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz",
|
||||||
|
"integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==",
|
||||||
|
"requires": {
|
||||||
|
"@fluentui/dom-utilities": "^1.1.2",
|
||||||
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"prop-types": "^15.7.2",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"csstype": {
|
||||||
|
"version": "3.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz",
|
||||||
|
"integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw=="
|
||||||
|
},
|
||||||
|
"office-ui-fabric-react": {
|
||||||
|
"version": "7.168.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.168.2.tgz",
|
||||||
|
"integrity": "sha512-ssN6/6K4Z/PdT2ExE1q61B34w6LqfQrqTvrlq/NfSvDk7USxXvP3+rd7HQAUrynSsWx2MnNeYt23d34sSHLCKw==",
|
||||||
|
"requires": {
|
||||||
|
"@fluentui/date-time-utilities": "^7.9.1",
|
||||||
|
"@fluentui/react-focus": "^7.17.6",
|
||||||
|
"@fluentui/react-window-provider": "^1.0.2",
|
||||||
|
"@microsoft/load-themed-styles": "^1.10.26",
|
||||||
|
"@uifabric/foundation": "^7.9.26",
|
||||||
|
"@uifabric/icons": "^7.5.23",
|
||||||
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
|
"@uifabric/react-hooks": "^7.14.0",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"@uifabric/styling": "^7.19.0",
|
||||||
|
"@uifabric/utilities": "^7.33.5",
|
||||||
|
"prop-types": "^15.7.2",
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@uifabric/merge-styles": {
|
"@uifabric/icons": {
|
||||||
"version": "7.19.1",
|
"version": "7.5.23",
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.1.tgz",
|
"resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.23.tgz",
|
||||||
"integrity": "sha512-yqUwmk62Kgu216QNPE9vOfS3h0kiSbTvoqM5QcZi+IzpqsBOlzZx3A9Er9UiDaqHRd5lsYF5pO/jeUULmBWF/A==",
|
"integrity": "sha512-eIvUbH0EWgFgdfgFfINgqS2ZVZTyJ/9n5nR4bmcyAe75wsKxm4ser4WIT9IvaBF6+HFVfjUF/v6+VMD7y2LBng==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@uifabric/set-version": "^7.0.23",
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"@uifabric/styling": "^7.19.0",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@fluentui/theme": {
|
||||||
|
"version": "1.7.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz",
|
||||||
|
"integrity": "sha512-o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==",
|
||||||
|
"requires": {
|
||||||
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"@uifabric/utilities": "^7.33.5",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@types/react": {
|
||||||
|
"version": "16.14.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.5.tgz",
|
||||||
|
"integrity": "sha512-YRRv9DNZhaVTVRh9Wmmit7Y0UFhEVqXqCSw3uazRWMxa2x85hWQZ5BN24i7GXZbaclaLXEcodEeIHsjBA8eAMw==",
|
||||||
|
"requires": {
|
||||||
|
"@types/prop-types": "*",
|
||||||
|
"@types/scheduler": "*",
|
||||||
|
"csstype": "^3.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@types/react-dom": {
|
||||||
|
"version": "16.9.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.12.tgz",
|
||||||
|
"integrity": "sha512-i7NPZZpPte3jtVOoW+eLB7G/jsX5OM6GqQnH+lC0nq0rqwlK0x8WcMEvYDgFWqWhWMlTltTimzdMax6wYfZssA==",
|
||||||
|
"requires": {
|
||||||
|
"@types/react": "^16"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@uifabric/styling": {
|
||||||
|
"version": "7.19.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz",
|
||||||
|
"integrity": "sha512-fXComDtGV7dHF4rP4cLHwI6fC+1f/nvPavpMBz4IQdySwixta9TVMKbzt0OA6i0mJztqZCVAd27F/sl9R/JmcQ==",
|
||||||
|
"requires": {
|
||||||
|
"@fluentui/theme": "^1.7.4",
|
||||||
|
"@microsoft/load-themed-styles": "^1.10.26",
|
||||||
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"@uifabric/utilities": "^7.33.5",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@uifabric/utilities": {
|
||||||
|
"version": "7.33.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz",
|
||||||
|
"integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==",
|
||||||
|
"requires": {
|
||||||
|
"@fluentui/dom-utilities": "^1.1.2",
|
||||||
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"prop-types": "^15.7.2",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"csstype": {
|
||||||
|
"version": "3.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz",
|
||||||
|
"integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@uifabric/merge-styles": {
|
||||||
|
"version": "7.19.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.2.tgz",
|
||||||
|
"integrity": "sha512-kTlhwglDqwVgIaJq+0yXgzi65plGhmFcPrfme/rXUGMJZoU+qlGT5jXj5d3kuI59p6VB8jWEg9DAxHozhYeu0g==",
|
||||||
|
"requires": {
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -6058,23 +6043,83 @@
|
||||||
"@uifabric/utilities": "^7.23.0",
|
"@uifabric/utilities": "^7.23.0",
|
||||||
"office-ui-fabric-react": "^7.121.10",
|
"office-ui-fabric-react": "^7.121.10",
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@fluentui/theme": {
|
||||||
|
"version": "1.7.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz",
|
||||||
|
"integrity": "sha512-o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==",
|
||||||
|
"requires": {
|
||||||
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"@uifabric/utilities": "^7.33.5",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@uifabric/file-type-icons": {
|
||||||
|
"version": "7.6.30",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/file-type-icons/-/file-type-icons-7.6.30.tgz",
|
||||||
|
"integrity": "sha512-NpZ5kKFxmT60EvHzKSD9XpKYDLBCJDZw3ae3WhW4k2z67RKo5yOZ76hzN9y3UWW3E0qMw9r2+zFF7JukjQYHtw==",
|
||||||
|
"requires": {
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"@uifabric/styling": "^7.19.0",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@uifabric/foundation": {
|
||||||
|
"version": "7.9.26",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.26.tgz",
|
||||||
|
"integrity": "sha512-1FLTb+jlH/Tuel2L9wT/zLl5ZW6W4Lbjrs5VUVjv81vWxzznvPnTf8+Ew0qkzaH7xDuMNMl7okswhV0IfJyheg==",
|
||||||
|
"requires": {
|
||||||
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"@uifabric/styling": "^7.19.0",
|
||||||
|
"@uifabric/utilities": "^7.33.5",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@uifabric/styling": {
|
||||||
|
"version": "7.19.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz",
|
||||||
|
"integrity": "sha512-fXComDtGV7dHF4rP4cLHwI6fC+1f/nvPavpMBz4IQdySwixta9TVMKbzt0OA6i0mJztqZCVAd27F/sl9R/JmcQ==",
|
||||||
|
"requires": {
|
||||||
|
"@fluentui/theme": "^1.7.4",
|
||||||
|
"@microsoft/load-themed-styles": "^1.10.26",
|
||||||
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"@uifabric/utilities": "^7.33.5",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@uifabric/utilities": {
|
||||||
|
"version": "7.33.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz",
|
||||||
|
"integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==",
|
||||||
|
"requires": {
|
||||||
|
"@fluentui/dom-utilities": "^1.1.2",
|
||||||
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"prop-types": "^15.7.2",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@uifabric/react-hooks": {
|
"@uifabric/react-hooks": {
|
||||||
"version": "7.13.9",
|
"version": "7.14.0",
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.13.9.tgz",
|
"resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.14.0.tgz",
|
||||||
"integrity": "sha512-VtDg2b3ypYXX7MLp1STk1Fj6ZIeZktXnm0hu1Os/pGvq6xkuLRly5XP6ZSHitm8K7ZcMo48CcNL8smmiXprBQg==",
|
"integrity": "sha512-Ndu/DEKHF4gFXEZa2AGgSkdWaj+njVrsSyXbkWRh2UZReFWnH1LMko9p/ZCwk1i9kAd5CUmyIfURUzIEya9YCg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@fluentui/react-window-provider": "^1.0.1",
|
"@fluentui/react-window-provider": "^1.0.2",
|
||||||
"@uifabric/set-version": "^7.0.23",
|
"@uifabric/set-version": "^7.0.24",
|
||||||
"@uifabric/utilities": "^7.33.2",
|
"@uifabric/utilities": "^7.33.5",
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@uifabric/set-version": {
|
"@uifabric/set-version": {
|
||||||
"version": "7.0.23",
|
"version": "7.0.24",
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.23.tgz",
|
"resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz",
|
||||||
"integrity": "sha512-9E+YKtnH2kyMKnK9XZZsqyM8OCxEJIIfxtaThTlQpYOzrWAGJxQADFbZ7+Usi0U2xHnWNPFROjq+B9ocEzhqMA==",
|
"integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
|
@ -6089,49 +6134,177 @@
|
||||||
"@uifabric/set-version": "^7.0.15",
|
"@uifabric/set-version": "^7.0.15",
|
||||||
"@uifabric/utilities": "^7.23.0",
|
"@uifabric/utilities": "^7.23.0",
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
}
|
|
||||||
},
|
|
||||||
"@uifabric/theme-samples": {
|
|
||||||
"version": "7.2.6",
|
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/theme-samples/-/theme-samples-7.2.6.tgz",
|
|
||||||
"integrity": "sha512-oDBKF1I9E9kd75Jmi/WYkd7oMNMMpmkdcrasjnLGjAr8uQUCHIZAWL6Kf0R7EHdvqOupX7LrDZtj4BBBAICfmw==",
|
|
||||||
"requires": {
|
|
||||||
"@fluentui/theme": "^1.7.1",
|
|
||||||
"@uifabric/set-version": "^7.0.23",
|
|
||||||
"@uifabric/variants": "^7.2.32",
|
|
||||||
"office-ui-fabric-react": "^7.157.0",
|
|
||||||
"tslib": "^1.10.0"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@uifabric/styling": {
|
"@types/react": {
|
||||||
"version": "7.16.19",
|
"version": "16.14.5",
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz",
|
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.5.tgz",
|
||||||
"integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==",
|
"integrity": "sha512-YRRv9DNZhaVTVRh9Wmmit7Y0UFhEVqXqCSw3uazRWMxa2x85hWQZ5BN24i7GXZbaclaLXEcodEeIHsjBA8eAMw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@fluentui/theme": "^1.7.1",
|
"@types/prop-types": "*",
|
||||||
"@microsoft/load-themed-styles": "^1.10.26",
|
"@types/scheduler": "*",
|
||||||
"@uifabric/merge-styles": "^7.19.1",
|
"csstype": "^3.0.2"
|
||||||
"@uifabric/set-version": "^7.0.23",
|
}
|
||||||
"@uifabric/utilities": "^7.33.2",
|
},
|
||||||
|
"@types/react-dom": {
|
||||||
|
"version": "16.9.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.12.tgz",
|
||||||
|
"integrity": "sha512-i7NPZZpPte3jtVOoW+eLB7G/jsX5OM6GqQnH+lC0nq0rqwlK0x8WcMEvYDgFWqWhWMlTltTimzdMax6wYfZssA==",
|
||||||
|
"requires": {
|
||||||
|
"@types/react": "^16"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@uifabric/utilities": {
|
||||||
|
"version": "7.33.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz",
|
||||||
|
"integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==",
|
||||||
|
"requires": {
|
||||||
|
"@fluentui/dom-utilities": "^1.1.2",
|
||||||
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"prop-types": "^15.7.2",
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"office-ui-fabric-react": {
|
"csstype": {
|
||||||
"version": "7.157.0",
|
"version": "3.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.157.0.tgz",
|
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz",
|
||||||
"integrity": "sha512-nS0RfhQKho2S2hiUxHcgM47AZUK1EzbjkdWkofNHQk8q0PwJkQPTUjTbSuxhQNLzXHiaQJz930ZYUvRCZvlL1w==",
|
"integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@uifabric/theme-samples": {
|
||||||
|
"version": "7.2.34",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/theme-samples/-/theme-samples-7.2.34.tgz",
|
||||||
|
"integrity": "sha512-olraurYMgXOA3ytPcm8oBcXj/eWZ04pAtpENkHQVujR6Ok4qqka1neVchTW7IBUgw+X+Rl/ampT7sqq77h2JYw==",
|
||||||
|
"requires": {
|
||||||
|
"@fluentui/theme": "^1.7.4",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"@uifabric/variants": "^7.2.35",
|
||||||
|
"office-ui-fabric-react": "^7.168.2",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@fluentui/react-focus": {
|
||||||
|
"version": "7.17.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.6.tgz",
|
||||||
|
"integrity": "sha512-JkLWNDe567lhvbnIhbYv9nUWYDIVN06utc3krs0UZBI+A0YZtQmftBtY0ghXo4PSjgozZocdu9sYkkgZOgyRLg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@fluentui/date-time-utilities": "^7.9.0",
|
"@fluentui/keyboard-key": "^0.2.12",
|
||||||
"@fluentui/react-focus": "^7.17.1",
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
"@fluentui/react-window-provider": "^1.0.1",
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"@uifabric/styling": "^7.19.0",
|
||||||
|
"@uifabric/utilities": "^7.33.5",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@fluentui/react-window-provider": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-fGSgL3Vp/+6t1Ysfz21FWZmqsU+iFVxOigvHnm5uKVyyRPwtaabv/F6kQ2y5isLMI2YmJaUd2i0cDJKu8ggrvw==",
|
||||||
|
"requires": {
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@fluentui/theme": {
|
||||||
|
"version": "1.7.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz",
|
||||||
|
"integrity": "sha512-o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==",
|
||||||
|
"requires": {
|
||||||
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"@uifabric/utilities": "^7.33.5",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@types/react": {
|
||||||
|
"version": "16.14.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.5.tgz",
|
||||||
|
"integrity": "sha512-YRRv9DNZhaVTVRh9Wmmit7Y0UFhEVqXqCSw3uazRWMxa2x85hWQZ5BN24i7GXZbaclaLXEcodEeIHsjBA8eAMw==",
|
||||||
|
"requires": {
|
||||||
|
"@types/prop-types": "*",
|
||||||
|
"@types/scheduler": "*",
|
||||||
|
"csstype": "^3.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@types/react-dom": {
|
||||||
|
"version": "16.9.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.12.tgz",
|
||||||
|
"integrity": "sha512-i7NPZZpPte3jtVOoW+eLB7G/jsX5OM6GqQnH+lC0nq0rqwlK0x8WcMEvYDgFWqWhWMlTltTimzdMax6wYfZssA==",
|
||||||
|
"requires": {
|
||||||
|
"@types/react": "^16"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@uifabric/foundation": {
|
||||||
|
"version": "7.9.26",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.26.tgz",
|
||||||
|
"integrity": "sha512-1FLTb+jlH/Tuel2L9wT/zLl5ZW6W4Lbjrs5VUVjv81vWxzznvPnTf8+Ew0qkzaH7xDuMNMl7okswhV0IfJyheg==",
|
||||||
|
"requires": {
|
||||||
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"@uifabric/styling": "^7.19.0",
|
||||||
|
"@uifabric/utilities": "^7.33.5",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@uifabric/react-hooks": {
|
||||||
|
"version": "7.14.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.14.0.tgz",
|
||||||
|
"integrity": "sha512-Ndu/DEKHF4gFXEZa2AGgSkdWaj+njVrsSyXbkWRh2UZReFWnH1LMko9p/ZCwk1i9kAd5CUmyIfURUzIEya9YCg==",
|
||||||
|
"requires": {
|
||||||
|
"@fluentui/react-window-provider": "^1.0.2",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"@uifabric/utilities": "^7.33.5",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@uifabric/styling": {
|
||||||
|
"version": "7.19.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz",
|
||||||
|
"integrity": "sha512-fXComDtGV7dHF4rP4cLHwI6fC+1f/nvPavpMBz4IQdySwixta9TVMKbzt0OA6i0mJztqZCVAd27F/sl9R/JmcQ==",
|
||||||
|
"requires": {
|
||||||
|
"@fluentui/theme": "^1.7.4",
|
||||||
"@microsoft/load-themed-styles": "^1.10.26",
|
"@microsoft/load-themed-styles": "^1.10.26",
|
||||||
"@uifabric/foundation": "^7.9.21",
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
"@uifabric/icons": "^7.5.18",
|
"@uifabric/set-version": "^7.0.24",
|
||||||
"@uifabric/merge-styles": "^7.19.1",
|
"@uifabric/utilities": "^7.33.5",
|
||||||
"@uifabric/react-hooks": "^7.13.9",
|
"tslib": "^1.10.0"
|
||||||
"@uifabric/set-version": "^7.0.23",
|
}
|
||||||
"@uifabric/styling": "^7.16.19",
|
},
|
||||||
"@uifabric/utilities": "^7.33.2",
|
"@uifabric/utilities": {
|
||||||
|
"version": "7.33.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz",
|
||||||
|
"integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==",
|
||||||
|
"requires": {
|
||||||
|
"@fluentui/dom-utilities": "^1.1.2",
|
||||||
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"prop-types": "^15.7.2",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"csstype": {
|
||||||
|
"version": "3.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz",
|
||||||
|
"integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw=="
|
||||||
|
},
|
||||||
|
"office-ui-fabric-react": {
|
||||||
|
"version": "7.168.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.168.2.tgz",
|
||||||
|
"integrity": "sha512-ssN6/6K4Z/PdT2ExE1q61B34w6LqfQrqTvrlq/NfSvDk7USxXvP3+rd7HQAUrynSsWx2MnNeYt23d34sSHLCKw==",
|
||||||
|
"requires": {
|
||||||
|
"@fluentui/date-time-utilities": "^7.9.1",
|
||||||
|
"@fluentui/react-focus": "^7.17.6",
|
||||||
|
"@fluentui/react-window-provider": "^1.0.2",
|
||||||
|
"@microsoft/load-themed-styles": "^1.10.26",
|
||||||
|
"@uifabric/foundation": "^7.9.26",
|
||||||
|
"@uifabric/icons": "^7.5.23",
|
||||||
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
|
"@uifabric/react-hooks": "^7.14.0",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"@uifabric/styling": "^7.19.0",
|
||||||
|
"@uifabric/utilities": "^7.33.5",
|
||||||
"prop-types": "^15.7.2",
|
"prop-types": "^15.7.2",
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
|
@ -6139,25 +6312,73 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@uifabric/utilities": {
|
"@uifabric/utilities": {
|
||||||
"version": "7.33.2",
|
"version": "7.33.5",
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.2.tgz",
|
"resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz",
|
||||||
"integrity": "sha512-v2c3IUJdpru/hoGNOwIW549O5D4XBAc5sLpB7RREGI5ywoWuIJlNyYtBEGOwhAY62J2blj11qi86Ep+oZDM/Kw==",
|
"integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@fluentui/dom-utilities": "^1.1.1",
|
"@fluentui/dom-utilities": "^1.1.2",
|
||||||
"@uifabric/merge-styles": "^7.19.1",
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
"@uifabric/set-version": "^7.0.23",
|
"@uifabric/set-version": "^7.0.24",
|
||||||
"prop-types": "^15.7.2",
|
"prop-types": "^15.7.2",
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@uifabric/variants": {
|
"@uifabric/variants": {
|
||||||
"version": "7.2.32",
|
"version": "7.2.35",
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/variants/-/variants-7.2.32.tgz",
|
"resolved": "https://registry.npmjs.org/@uifabric/variants/-/variants-7.2.35.tgz",
|
||||||
"integrity": "sha512-ffyizuMGyF/8SnPqBvdQ5IceiN5nVQkrUI0+GhCuKmZC7IDlW+srjfzzjHZ9QLmnb3N5e/qlCrjbhfgFvTfZ6w==",
|
"integrity": "sha512-pK9n0QM3wYuE/f7scOhkW0jsSx1BPU6RePeuMJcoriCgK6zeN66p5ySwh+UhjuEtoGaSfVxeFve02hWNTfO8vg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@fluentui/theme": "^1.7.1",
|
"@fluentui/theme": "^1.7.4",
|
||||||
"@uifabric/set-version": "^7.0.23",
|
"@uifabric/set-version": "^7.0.24",
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@fluentui/theme": {
|
||||||
|
"version": "1.7.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz",
|
||||||
|
"integrity": "sha512-o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==",
|
||||||
|
"requires": {
|
||||||
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"@uifabric/utilities": "^7.33.5",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@types/react": {
|
||||||
|
"version": "16.14.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.5.tgz",
|
||||||
|
"integrity": "sha512-YRRv9DNZhaVTVRh9Wmmit7Y0UFhEVqXqCSw3uazRWMxa2x85hWQZ5BN24i7GXZbaclaLXEcodEeIHsjBA8eAMw==",
|
||||||
|
"requires": {
|
||||||
|
"@types/prop-types": "*",
|
||||||
|
"@types/scheduler": "*",
|
||||||
|
"csstype": "^3.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@types/react-dom": {
|
||||||
|
"version": "16.9.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.12.tgz",
|
||||||
|
"integrity": "sha512-i7NPZZpPte3jtVOoW+eLB7G/jsX5OM6GqQnH+lC0nq0rqwlK0x8WcMEvYDgFWqWhWMlTltTimzdMax6wYfZssA==",
|
||||||
|
"requires": {
|
||||||
|
"@types/react": "^16"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@uifabric/utilities": {
|
||||||
|
"version": "7.33.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz",
|
||||||
|
"integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==",
|
||||||
|
"requires": {
|
||||||
|
"@fluentui/dom-utilities": "^1.1.2",
|
||||||
|
"@uifabric/merge-styles": "^7.19.2",
|
||||||
|
"@uifabric/set-version": "^7.0.24",
|
||||||
|
"prop-types": "^15.7.2",
|
||||||
|
"tslib": "^1.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"csstype": {
|
||||||
|
"version": "3.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz",
|
||||||
|
"integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw=="
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@ungap/url-search-params": {
|
"@ungap/url-search-params": {
|
||||||
|
@ -7261,9 +7482,9 @@
|
||||||
"integrity": "sha1-SfiW1uhYpKSZ34XDj7OZua/4QPg="
|
"integrity": "sha1-SfiW1uhYpKSZ34XDj7OZua/4QPg="
|
||||||
},
|
},
|
||||||
"bl": {
|
"bl": {
|
||||||
"version": "4.0.3",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
|
||||||
"integrity": "sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==",
|
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"buffer": "^5.5.0",
|
"buffer": "^5.5.0",
|
||||||
|
@ -7939,9 +8160,9 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"anymatch": {
|
"anymatch": {
|
||||||
"version": "3.1.1",
|
"version": "3.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
|
||||||
"integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
|
"integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
|
@ -19353,9 +19574,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node-abi": {
|
"node-abi": {
|
||||||
"version": "2.19.3",
|
"version": "2.26.0",
|
||||||
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.19.3.tgz",
|
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.26.0.tgz",
|
||||||
"integrity": "sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg==",
|
"integrity": "sha512-ag/Vos/mXXpWLLAYWsAoQdgS+gW7IwvgMLOgqopm/DbzAjazLltzgzpVMsFlgmo9TzG5hGXeaBZx2AI731RIsQ==",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"semver": "^5.4.1"
|
"semver": "^5.4.1"
|
||||||
|
@ -20065,24 +20286,6 @@
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fluentui/date-time-utilities": {
|
|
||||||
"version": "7.9.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.1.tgz",
|
|
||||||
"integrity": "sha512-o8iU1VIY+QsqVRWARKiky29fh4KR1xaKSgMClXIi65qkt8EDDhjmlzL0KVDEoDA2GWukwb/1PpaVCWDg4v3cUQ==",
|
|
||||||
"requires": {
|
|
||||||
"@uifabric/set-version": "^7.0.24",
|
|
||||||
"tslib": "^1.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@fluentui/dom-utilities": {
|
|
||||||
"version": "1.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.2.tgz",
|
|
||||||
"integrity": "sha512-XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==",
|
|
||||||
"requires": {
|
|
||||||
"@uifabric/set-version": "^7.0.24",
|
|
||||||
"tslib": "^1.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@fluentui/react-focus": {
|
"@fluentui/react-focus": {
|
||||||
"version": "7.17.6",
|
"version": "7.17.6",
|
||||||
"resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.6.tgz",
|
"resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.6.tgz",
|
||||||
|
@ -20128,25 +20331,6 @@
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@uifabric/icons": {
|
|
||||||
"version": "7.5.23",
|
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.23.tgz",
|
|
||||||
"integrity": "sha512-eIvUbH0EWgFgdfgFfINgqS2ZVZTyJ/9n5nR4bmcyAe75wsKxm4ser4WIT9IvaBF6+HFVfjUF/v6+VMD7y2LBng==",
|
|
||||||
"requires": {
|
|
||||||
"@uifabric/set-version": "^7.0.24",
|
|
||||||
"@uifabric/styling": "^7.19.0",
|
|
||||||
"tslib": "^1.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@uifabric/merge-styles": {
|
|
||||||
"version": "7.19.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.2.tgz",
|
|
||||||
"integrity": "sha512-kTlhwglDqwVgIaJq+0yXgzi65plGhmFcPrfme/rXUGMJZoU+qlGT5jXj5d3kuI59p6VB8jWEg9DAxHozhYeu0g==",
|
|
||||||
"requires": {
|
|
||||||
"@uifabric/set-version": "^7.0.24",
|
|
||||||
"tslib": "^1.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@uifabric/react-hooks": {
|
"@uifabric/react-hooks": {
|
||||||
"version": "7.14.0",
|
"version": "7.14.0",
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.14.0.tgz",
|
"resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.14.0.tgz",
|
||||||
|
@ -20158,14 +20342,6 @@
|
||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@uifabric/set-version": {
|
|
||||||
"version": "7.0.24",
|
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz",
|
|
||||||
"integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==",
|
|
||||||
"requires": {
|
|
||||||
"tslib": "^1.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@uifabric/styling": {
|
"@uifabric/styling": {
|
||||||
"version": "7.19.0",
|
"version": "7.19.0",
|
||||||
"resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz",
|
"resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz",
|
||||||
|
|
|
@ -43,6 +43,7 @@
|
||||||
"@types/mkdirp": "1.0.1",
|
"@types/mkdirp": "1.0.1",
|
||||||
"@types/node-fetch": "2.5.7",
|
"@types/node-fetch": "2.5.7",
|
||||||
"@uifabric/react-cards": "0.109.110",
|
"@uifabric/react-cards": "0.109.110",
|
||||||
|
"@uifabric/react-hooks": "7.14.0",
|
||||||
"@uifabric/styling": "7.13.7",
|
"@uifabric/styling": "7.13.7",
|
||||||
"applicationinsights": "1.8.0",
|
"applicationinsights": "1.8.0",
|
||||||
"bootstrap": "3.4.1",
|
"bootstrap": "3.4.1",
|
||||||
|
|
|
@ -43,12 +43,7 @@ export const endpoint = () => {
|
||||||
const location = _global.parent ? _global.parent.location : _global.location;
|
const location = _global.parent ? _global.parent.location : _global.location;
|
||||||
return configContext.EMULATOR_ENDPOINT || location.origin;
|
return configContext.EMULATOR_ENDPOINT || location.origin;
|
||||||
}
|
}
|
||||||
return (
|
return userContext.endpoint || userContext?.databaseAccount?.properties?.documentEndpoint;
|
||||||
userContext.endpoint ||
|
|
||||||
(userContext.databaseAccount &&
|
|
||||||
userContext.databaseAccount.properties &&
|
|
||||||
userContext.databaseAccount.properties.documentEndpoint)
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export async function getTokenFromAuthService(verb: string, resourceType: string, resourceId?: string): Promise<any> {
|
export async function getTokenFromAuthService(verb: string, resourceType: string, resourceId?: string): Promise<any> {
|
||||||
|
|
|
@ -61,7 +61,7 @@ export function queryDocuments(
|
||||||
query: string,
|
query: string,
|
||||||
continuationToken?: string
|
continuationToken?: string
|
||||||
): Promise<QueryResponse> {
|
): Promise<QueryResponse> {
|
||||||
const databaseAccount = userContext.databaseAccount;
|
const { databaseAccount } = userContext;
|
||||||
const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint;
|
const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint;
|
||||||
const params = {
|
const params = {
|
||||||
db: databaseId,
|
db: databaseId,
|
||||||
|
@ -121,7 +121,7 @@ export function readDocument(
|
||||||
collection: Collection,
|
collection: Collection,
|
||||||
documentId: DocumentId
|
documentId: DocumentId
|
||||||
): Promise<DataModels.DocumentId> {
|
): Promise<DataModels.DocumentId> {
|
||||||
const databaseAccount = userContext.databaseAccount;
|
const { databaseAccount } = userContext;
|
||||||
const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint;
|
const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint;
|
||||||
const idComponents = documentId.self.split("/");
|
const idComponents = documentId.self.split("/");
|
||||||
const path = idComponents.slice(0, 4).join("/");
|
const path = idComponents.slice(0, 4).join("/");
|
||||||
|
@ -167,7 +167,7 @@ export function createDocument(
|
||||||
partitionKeyProperty: string,
|
partitionKeyProperty: string,
|
||||||
documentContent: unknown
|
documentContent: unknown
|
||||||
): Promise<DataModels.DocumentId> {
|
): Promise<DataModels.DocumentId> {
|
||||||
const databaseAccount = userContext.databaseAccount;
|
const { databaseAccount } = userContext;
|
||||||
const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint;
|
const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint;
|
||||||
const params = {
|
const params = {
|
||||||
db: databaseId,
|
db: databaseId,
|
||||||
|
@ -206,7 +206,7 @@ export function updateDocument(
|
||||||
documentId: DocumentId,
|
documentId: DocumentId,
|
||||||
documentContent: string
|
documentContent: string
|
||||||
): Promise<DataModels.DocumentId> {
|
): Promise<DataModels.DocumentId> {
|
||||||
const databaseAccount = userContext.databaseAccount;
|
const { databaseAccount } = userContext;
|
||||||
const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint;
|
const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint;
|
||||||
const idComponents = documentId.self.split("/");
|
const idComponents = documentId.self.split("/");
|
||||||
const path = idComponents.slice(0, 5).join("/");
|
const path = idComponents.slice(0, 5).join("/");
|
||||||
|
@ -247,7 +247,7 @@ export function updateDocument(
|
||||||
}
|
}
|
||||||
|
|
||||||
export function deleteDocument(databaseId: string, collection: Collection, documentId: DocumentId): Promise<void> {
|
export function deleteDocument(databaseId: string, collection: Collection, documentId: DocumentId): Promise<void> {
|
||||||
const databaseAccount = userContext.databaseAccount;
|
const { databaseAccount } = userContext;
|
||||||
const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint;
|
const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint;
|
||||||
const idComponents = documentId.self.split("/");
|
const idComponents = documentId.self.split("/");
|
||||||
const path = idComponents.slice(0, 5).join("/");
|
const path = idComponents.slice(0, 5).join("/");
|
||||||
|
@ -289,7 +289,7 @@ export function deleteDocument(databaseId: string, collection: Collection, docum
|
||||||
export function createMongoCollectionWithProxy(
|
export function createMongoCollectionWithProxy(
|
||||||
params: DataModels.CreateCollectionParams
|
params: DataModels.CreateCollectionParams
|
||||||
): Promise<DataModels.Collection> {
|
): Promise<DataModels.Collection> {
|
||||||
const databaseAccount = userContext.databaseAccount;
|
const { databaseAccount } = userContext;
|
||||||
const shardKey: string = params.partitionKey?.paths[0];
|
const shardKey: string = params.partitionKey?.paths[0];
|
||||||
const mongoParams: DataModels.MongoParameters = {
|
const mongoParams: DataModels.MongoParameters = {
|
||||||
resourceUrl: databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint,
|
resourceUrl: databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint,
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
import { configContext, Platform } from "../ConfigContext";
|
||||||
import * as DataModels from "../Contracts/DataModels";
|
import * as DataModels from "../Contracts/DataModels";
|
||||||
import * as ViewModels from "../Contracts/ViewModels";
|
import * as ViewModels from "../Contracts/ViewModels";
|
||||||
import { getAuthorizationHeader } from "../Utils/AuthorizationUtils";
|
|
||||||
import { userContext } from "../UserContext";
|
import { userContext } from "../UserContext";
|
||||||
import { configContext, Platform } from "../ConfigContext";
|
import { getAuthorizationHeader } from "../Utils/AuthorizationUtils";
|
||||||
|
|
||||||
const notificationsPath = () => {
|
const notificationsPath = () => {
|
||||||
switch (configContext.platform) {
|
switch (configContext.platform) {
|
||||||
|
@ -20,9 +20,7 @@ export const fetchPortalNotifications = async (): Promise<DataModels.Notificatio
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
const databaseAccount = userContext.databaseAccount;
|
const { databaseAccount, resourceGroup, subscriptionId } = userContext;
|
||||||
const subscriptionId = userContext.subscriptionId;
|
|
||||||
const resourceGroup = userContext.resourceGroup;
|
|
||||||
const url = `${configContext.BACKEND_ENDPOINT}${notificationsPath()}?accountName=${
|
const url = `${configContext.BACKEND_ENDPOINT}${notificationsPath()}?accountName=${
|
||||||
databaseAccount.name
|
databaseAccount.name
|
||||||
}&subscriptionId=${subscriptionId}&resourceGroup=${resourceGroup}`;
|
}&subscriptionId=${subscriptionId}&resourceGroup=${resourceGroup}`;
|
||||||
|
|
|
@ -182,11 +182,8 @@ export class QueriesClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
public getResourceId(): string {
|
public getResourceId(): string {
|
||||||
const databaseAccount = userContext.databaseAccount;
|
const { databaseAccount, subscriptionId = "", resourceGroup = "" } = userContext;
|
||||||
const databaseAccountName = (databaseAccount && databaseAccount.name) || "";
|
const databaseAccountName = databaseAccount?.name || "";
|
||||||
const subscriptionId = userContext.subscriptionId || "";
|
|
||||||
const resourceGroup = userContext.resourceGroup || "";
|
|
||||||
|
|
||||||
return `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroup}/providers/Microsoft.DocumentDb/databaseAccounts/${databaseAccountName}`;
|
return `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroup}/providers/Microsoft.DocumentDb/databaseAccounts/${databaseAccountName}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -62,8 +62,8 @@ export const createCollection = async (params: DataModels.CreateCollectionParams
|
||||||
};
|
};
|
||||||
|
|
||||||
const createCollectionWithARM = async (params: DataModels.CreateCollectionParams): Promise<DataModels.Collection> => {
|
const createCollectionWithARM = async (params: DataModels.CreateCollectionParams): Promise<DataModels.Collection> => {
|
||||||
const defaultExperience = userContext.apiType;
|
const { apiType } = userContext;
|
||||||
switch (defaultExperience) {
|
switch (apiType) {
|
||||||
case "SQL":
|
case "SQL":
|
||||||
return createSqlContainer(params);
|
return createSqlContainer(params);
|
||||||
case "Mongo":
|
case "Mongo":
|
||||||
|
@ -75,7 +75,7 @@ const createCollectionWithARM = async (params: DataModels.CreateCollectionParams
|
||||||
case "Tables":
|
case "Tables":
|
||||||
return createTable(params);
|
return createTable(params);
|
||||||
default:
|
default:
|
||||||
throw new Error(`Unsupported default experience type: ${defaultExperience}`);
|
throw new Error(`Unsupported default experience type: ${apiType}`);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -48,8 +48,9 @@ export async function createDatabase(params: DataModels.CreateDatabaseParams): P
|
||||||
}
|
}
|
||||||
|
|
||||||
async function createDatabaseWithARM(params: DataModels.CreateDatabaseParams): Promise<DataModels.Database> {
|
async function createDatabaseWithARM(params: DataModels.CreateDatabaseParams): Promise<DataModels.Database> {
|
||||||
const defaultExperience = userContext.apiType;
|
const { apiType } = userContext;
|
||||||
switch (defaultExperience) {
|
|
||||||
|
switch (apiType) {
|
||||||
case "SQL":
|
case "SQL":
|
||||||
return createSqlDatabase(params);
|
return createSqlDatabase(params);
|
||||||
case "Mongo":
|
case "Mongo":
|
||||||
|
@ -59,7 +60,7 @@ async function createDatabaseWithARM(params: DataModels.CreateDatabaseParams): P
|
||||||
case "Gremlin":
|
case "Gremlin":
|
||||||
return createGremlineDatabase(params);
|
return createGremlineDatabase(params);
|
||||||
default:
|
default:
|
||||||
throw new Error(`Unsupported default experience type: ${defaultExperience}`);
|
throw new Error(`Unsupported default experience type: ${apiType}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,12 +27,10 @@ export async function deleteCollection(databaseId: string, collectionId: string)
|
||||||
}
|
}
|
||||||
|
|
||||||
function deleteCollectionWithARM(databaseId: string, collectionId: string): Promise<void> {
|
function deleteCollectionWithARM(databaseId: string, collectionId: string): Promise<void> {
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext;
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const accountName = databaseAccount.name;
|
||||||
const accountName = userContext.databaseAccount.name;
|
|
||||||
const defaultExperience = userContext.apiType;
|
|
||||||
|
|
||||||
switch (defaultExperience) {
|
switch (apiType) {
|
||||||
case "SQL":
|
case "SQL":
|
||||||
return deleteSqlContainer(subscriptionId, resourceGroup, accountName, databaseId, collectionId);
|
return deleteSqlContainer(subscriptionId, resourceGroup, accountName, databaseId, collectionId);
|
||||||
case "Mongo":
|
case "Mongo":
|
||||||
|
@ -44,6 +42,6 @@ function deleteCollectionWithARM(databaseId: string, collectionId: string): Prom
|
||||||
case "Tables":
|
case "Tables":
|
||||||
return deleteTable(subscriptionId, resourceGroup, accountName, collectionId);
|
return deleteTable(subscriptionId, resourceGroup, accountName, collectionId);
|
||||||
default:
|
default:
|
||||||
throw new Error(`Unsupported default experience type: ${defaultExperience}`);
|
throw new Error(`Unsupported default experience type: ${apiType}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,12 +30,10 @@ export async function deleteDatabase(databaseId: string): Promise<void> {
|
||||||
}
|
}
|
||||||
|
|
||||||
function deleteDatabaseWithARM(databaseId: string): Promise<void> {
|
function deleteDatabaseWithARM(databaseId: string): Promise<void> {
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext;
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const accountName = databaseAccount.name;
|
||||||
const accountName = userContext.databaseAccount.name;
|
|
||||||
const defaultExperience = userContext.apiType;
|
|
||||||
|
|
||||||
switch (defaultExperience) {
|
switch (apiType) {
|
||||||
case "SQL":
|
case "SQL":
|
||||||
return deleteSqlDatabase(subscriptionId, resourceGroup, accountName, databaseId);
|
return deleteSqlDatabase(subscriptionId, resourceGroup, accountName, databaseId);
|
||||||
case "Mongo":
|
case "Mongo":
|
||||||
|
@ -45,6 +43,6 @@ function deleteDatabaseWithARM(databaseId: string): Promise<void> {
|
||||||
case "Gremlin":
|
case "Gremlin":
|
||||||
return deleteGremlinDatabase(subscriptionId, resourceGroup, accountName, databaseId);
|
return deleteGremlinDatabase(subscriptionId, resourceGroup, accountName, databaseId);
|
||||||
default:
|
default:
|
||||||
throw new Error(`Unsupported default experience type: ${defaultExperience}`);
|
throw new Error(`Unsupported default experience type: ${apiType}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { AuthType } from "../../AuthType";
|
import { AuthType } from "../../AuthType";
|
||||||
import { armRequest } from "../../Utils/arm/request";
|
|
||||||
import { configContext } from "../../ConfigContext";
|
import { configContext } from "../../ConfigContext";
|
||||||
import { handleError } from "../ErrorHandlingUtils";
|
|
||||||
import { userContext } from "../../UserContext";
|
import { userContext } from "../../UserContext";
|
||||||
|
import { armRequest } from "../../Utils/arm/request";
|
||||||
|
import { handleError } from "../ErrorHandlingUtils";
|
||||||
|
|
||||||
interface TimeSeriesData {
|
interface TimeSeriesData {
|
||||||
data: {
|
data: {
|
||||||
|
@ -45,9 +45,9 @@ export const getCollectionUsageSizeInKB = async (databaseName: string, container
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, databaseAccount } = userContext;
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const accountName = databaseAccount.name;
|
||||||
const accountName = userContext.databaseAccount.name;
|
|
||||||
const filter = `DatabaseName eq '${databaseName}' and CollectionName eq '${containerName}'`;
|
const filter = `DatabaseName eq '${databaseName}' and CollectionName eq '${containerName}'`;
|
||||||
const metricNames = "DataUsage,IndexUsage";
|
const metricNames = "DataUsage,IndexUsage";
|
||||||
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroup}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/providers/microsoft.insights/metrics`;
|
const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroup}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/providers/microsoft.insights/metrics`;
|
||||||
|
|
|
@ -28,14 +28,12 @@ export const readCollectionOffer = async (params: ReadCollectionOfferParams): Pr
|
||||||
};
|
};
|
||||||
|
|
||||||
const readCollectionOfferWithARM = async (databaseId: string, collectionId: string): Promise<Offer> => {
|
const readCollectionOfferWithARM = async (databaseId: string, collectionId: string): Promise<Offer> => {
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext;
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const accountName = databaseAccount.name;
|
||||||
const accountName = userContext.databaseAccount.name;
|
|
||||||
const defaultExperience = userContext.apiType;
|
|
||||||
|
|
||||||
let rpResponse;
|
let rpResponse;
|
||||||
try {
|
try {
|
||||||
switch (defaultExperience) {
|
switch (apiType) {
|
||||||
case "SQL":
|
case "SQL":
|
||||||
rpResponse = await getSqlContainerThroughput(
|
rpResponse = await getSqlContainerThroughput(
|
||||||
subscriptionId,
|
subscriptionId,
|
||||||
|
@ -76,7 +74,7 @@ const readCollectionOfferWithARM = async (databaseId: string, collectionId: stri
|
||||||
rpResponse = await getTableThroughput(subscriptionId, resourceGroup, accountName, collectionId);
|
rpResponse = await getTableThroughput(subscriptionId, resourceGroup, accountName, collectionId);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new Error(`Unsupported default experience type: ${defaultExperience}`);
|
throw new Error(`Unsupported default experience type: ${apiType}`);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (error.code !== "NotFound") {
|
if (error.code !== "NotFound") {
|
||||||
|
|
|
@ -29,12 +29,11 @@ export async function readCollections(databaseId: string): Promise<DataModels.Co
|
||||||
|
|
||||||
async function readCollectionsWithARM(databaseId: string): Promise<DataModels.Collection[]> {
|
async function readCollectionsWithARM(databaseId: string): Promise<DataModels.Collection[]> {
|
||||||
let rpResponse;
|
let rpResponse;
|
||||||
const subscriptionId = userContext.subscriptionId;
|
|
||||||
const resourceGroup = userContext.resourceGroup;
|
|
||||||
const accountName = userContext.databaseAccount.name;
|
|
||||||
const defaultExperience = userContext.apiType;
|
|
||||||
|
|
||||||
switch (defaultExperience) {
|
const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext;
|
||||||
|
const accountName = databaseAccount.name;
|
||||||
|
|
||||||
|
switch (apiType) {
|
||||||
case "SQL":
|
case "SQL":
|
||||||
rpResponse = await listSqlContainers(subscriptionId, resourceGroup, accountName, databaseId);
|
rpResponse = await listSqlContainers(subscriptionId, resourceGroup, accountName, databaseId);
|
||||||
break;
|
break;
|
||||||
|
@ -51,7 +50,7 @@ async function readCollectionsWithARM(databaseId: string): Promise<DataModels.Co
|
||||||
rpResponse = await listTables(subscriptionId, resourceGroup, accountName);
|
rpResponse = await listTables(subscriptionId, resourceGroup, accountName);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new Error(`Unsupported default experience type: ${defaultExperience}`);
|
throw new Error(`Unsupported default experience type: ${apiType}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
return rpResponse?.value?.map((collection) => collection.properties?.resource as DataModels.Collection);
|
return rpResponse?.value?.map((collection) => collection.properties?.resource as DataModels.Collection);
|
||||||
|
|
|
@ -27,14 +27,12 @@ export const readDatabaseOffer = async (params: ReadDatabaseOfferParams): Promis
|
||||||
};
|
};
|
||||||
|
|
||||||
const readDatabaseOfferWithARM = async (databaseId: string): Promise<Offer> => {
|
const readDatabaseOfferWithARM = async (databaseId: string): Promise<Offer> => {
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext;
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const accountName = databaseAccount.name;
|
||||||
const accountName = userContext.databaseAccount.name;
|
|
||||||
const defaultExperience = userContext.apiType;
|
|
||||||
|
|
||||||
let rpResponse;
|
let rpResponse;
|
||||||
try {
|
try {
|
||||||
switch (defaultExperience) {
|
switch (apiType) {
|
||||||
case "SQL":
|
case "SQL":
|
||||||
rpResponse = await getSqlDatabaseThroughput(subscriptionId, resourceGroup, accountName, databaseId);
|
rpResponse = await getSqlDatabaseThroughput(subscriptionId, resourceGroup, accountName, databaseId);
|
||||||
break;
|
break;
|
||||||
|
@ -48,7 +46,7 @@ const readDatabaseOfferWithARM = async (databaseId: string): Promise<Offer> => {
|
||||||
rpResponse = await getGremlinDatabaseThroughput(subscriptionId, resourceGroup, accountName, databaseId);
|
rpResponse = await getGremlinDatabaseThroughput(subscriptionId, resourceGroup, accountName, databaseId);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new Error(`Unsupported default experience type: ${defaultExperience}`);
|
throw new Error(`Unsupported default experience type: ${apiType}`);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (error.code !== "NotFound") {
|
if (error.code !== "NotFound") {
|
||||||
|
|
|
@ -29,12 +29,10 @@ export async function readDatabases(): Promise<DataModels.Database[]> {
|
||||||
|
|
||||||
async function readDatabasesWithARM(): Promise<DataModels.Database[]> {
|
async function readDatabasesWithARM(): Promise<DataModels.Database[]> {
|
||||||
let rpResponse;
|
let rpResponse;
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext;
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const accountName = databaseAccount.name;
|
||||||
const accountName = userContext.databaseAccount.name;
|
|
||||||
const defaultExperience = userContext.apiType;
|
|
||||||
|
|
||||||
switch (defaultExperience) {
|
switch (apiType) {
|
||||||
case "SQL":
|
case "SQL":
|
||||||
rpResponse = await listSqlDatabases(subscriptionId, resourceGroup, accountName);
|
rpResponse = await listSqlDatabases(subscriptionId, resourceGroup, accountName);
|
||||||
break;
|
break;
|
||||||
|
@ -48,7 +46,7 @@ async function readDatabasesWithARM(): Promise<DataModels.Database[]> {
|
||||||
rpResponse = await listGremlinDatabases(subscriptionId, resourceGroup, accountName);
|
rpResponse = await listGremlinDatabases(subscriptionId, resourceGroup, accountName);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new Error(`Unsupported default experience type: ${defaultExperience}`);
|
throw new Error(`Unsupported default experience type: ${apiType}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
return rpResponse?.value?.map((database) => database.properties?.resource as DataModels.Database);
|
return rpResponse?.value?.map((database) => database.properties?.resource as DataModels.Database);
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
|
import { AuthType } from "../../AuthType";
|
||||||
import { userContext } from "../../UserContext";
|
import { userContext } from "../../UserContext";
|
||||||
import { getMongoDBCollection } from "../../Utils/arm/generatedClients/2020-04-01/mongoDBResources";
|
import { getMongoDBCollection } from "../../Utils/arm/generatedClients/2020-04-01/mongoDBResources";
|
||||||
import { MongoDBCollectionResource } from "../../Utils/arm/generatedClients/2020-04-01/types";
|
import { MongoDBCollectionResource } from "../../Utils/arm/generatedClients/2020-04-01/types";
|
||||||
import { logConsoleProgress } from "../../Utils/NotificationConsoleUtils";
|
import { logConsoleProgress } from "../../Utils/NotificationConsoleUtils";
|
||||||
import { handleError } from "../ErrorHandlingUtils";
|
import { handleError } from "../ErrorHandlingUtils";
|
||||||
import { AuthType } from "../../AuthType";
|
|
||||||
|
|
||||||
export async function readMongoDBCollectionThroughRP(
|
export async function readMongoDBCollectionThroughRP(
|
||||||
databaseId: string,
|
databaseId: string,
|
||||||
|
@ -13,9 +13,9 @@ export async function readMongoDBCollectionThroughRP(
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
let collection: MongoDBCollectionResource;
|
let collection: MongoDBCollectionResource;
|
||||||
const subscriptionId = userContext.subscriptionId;
|
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const { subscriptionId, resourceGroup, databaseAccount } = userContext;
|
||||||
const accountName = userContext.databaseAccount.name;
|
const accountName = databaseAccount.name;
|
||||||
|
|
||||||
const clearMessage = logConsoleProgress(`Reading container ${collectionId}`);
|
const clearMessage = logConsoleProgress(`Reading container ${collectionId}`);
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -11,12 +11,13 @@ export async function readUserDefinedFunctions(
|
||||||
collectionId: string
|
collectionId: string
|
||||||
): Promise<(UserDefinedFunctionDefinition & Resource)[]> {
|
): Promise<(UserDefinedFunctionDefinition & Resource)[]> {
|
||||||
const clearMessage = logConsoleProgress(`Querying user defined functions for container ${collectionId}`);
|
const clearMessage = logConsoleProgress(`Querying user defined functions for container ${collectionId}`);
|
||||||
|
const { authType, useSDKOperations, apiType, subscriptionId, resourceGroup, databaseAccount } = userContext;
|
||||||
try {
|
try {
|
||||||
if (userContext.authType === AuthType.AAD && !userContext.useSDKOperations && userContext.apiType === "SQL") {
|
if (authType === AuthType.AAD && !useSDKOperations && apiType === "SQL") {
|
||||||
const rpResponse = await listSqlUserDefinedFunctions(
|
const rpResponse = await listSqlUserDefinedFunctions(
|
||||||
userContext.subscriptionId,
|
subscriptionId,
|
||||||
userContext.resourceGroup,
|
resourceGroup,
|
||||||
userContext.databaseAccount.name,
|
databaseAccount.name,
|
||||||
databaseId,
|
databaseId,
|
||||||
collectionId
|
collectionId
|
||||||
);
|
);
|
||||||
|
|
|
@ -63,12 +63,10 @@ async function updateCollectionWithARM(
|
||||||
collectionId: string,
|
collectionId: string,
|
||||||
newCollection: Partial<Collection>
|
newCollection: Partial<Collection>
|
||||||
): Promise<Collection> {
|
): Promise<Collection> {
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext;
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const accountName = databaseAccount.name;
|
||||||
const accountName = userContext.databaseAccount.name;
|
|
||||||
const defaultExperience = userContext.apiType;
|
|
||||||
|
|
||||||
switch (defaultExperience) {
|
switch (apiType) {
|
||||||
case "SQL":
|
case "SQL":
|
||||||
return updateSqlContainer(databaseId, collectionId, subscriptionId, resourceGroup, accountName, newCollection);
|
return updateSqlContainer(databaseId, collectionId, subscriptionId, resourceGroup, accountName, newCollection);
|
||||||
case "Cassandra":
|
case "Cassandra":
|
||||||
|
@ -87,7 +85,7 @@ async function updateCollectionWithARM(
|
||||||
newCollection
|
newCollection
|
||||||
);
|
);
|
||||||
default:
|
default:
|
||||||
throw new Error(`Unsupported default experience type: ${defaultExperience}`);
|
throw new Error(`Unsupported default experience type: ${apiType}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -144,9 +144,8 @@ const updateDatabaseOfferWithARM = async (params: UpdateOfferParams): Promise<Of
|
||||||
};
|
};
|
||||||
|
|
||||||
const updateSqlContainerOffer = async (params: UpdateOfferParams): Promise<void> => {
|
const updateSqlContainerOffer = async (params: UpdateOfferParams): Promise<void> => {
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, databaseAccount } = userContext;
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const accountName = databaseAccount.name;
|
||||||
const accountName = userContext.databaseAccount.name;
|
|
||||||
|
|
||||||
if (params.migrateToAutoPilot) {
|
if (params.migrateToAutoPilot) {
|
||||||
await migrateSqlContainerToAutoscale(
|
await migrateSqlContainerToAutoscale(
|
||||||
|
@ -178,9 +177,8 @@ const updateSqlContainerOffer = async (params: UpdateOfferParams): Promise<void>
|
||||||
};
|
};
|
||||||
|
|
||||||
const updateMongoCollectionOffer = async (params: UpdateOfferParams): Promise<void> => {
|
const updateMongoCollectionOffer = async (params: UpdateOfferParams): Promise<void> => {
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, databaseAccount } = userContext;
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const accountName = databaseAccount.name;
|
||||||
const accountName = userContext.databaseAccount.name;
|
|
||||||
|
|
||||||
if (params.migrateToAutoPilot) {
|
if (params.migrateToAutoPilot) {
|
||||||
await migrateMongoDBCollectionToAutoscale(
|
await migrateMongoDBCollectionToAutoscale(
|
||||||
|
@ -212,9 +210,8 @@ const updateMongoCollectionOffer = async (params: UpdateOfferParams): Promise<vo
|
||||||
};
|
};
|
||||||
|
|
||||||
const updateCassandraTableOffer = async (params: UpdateOfferParams): Promise<void> => {
|
const updateCassandraTableOffer = async (params: UpdateOfferParams): Promise<void> => {
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, databaseAccount } = userContext;
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const accountName = databaseAccount.name;
|
||||||
const accountName = userContext.databaseAccount.name;
|
|
||||||
|
|
||||||
if (params.migrateToAutoPilot) {
|
if (params.migrateToAutoPilot) {
|
||||||
await migrateCassandraTableToAutoscale(
|
await migrateCassandraTableToAutoscale(
|
||||||
|
@ -246,9 +243,8 @@ const updateCassandraTableOffer = async (params: UpdateOfferParams): Promise<voi
|
||||||
};
|
};
|
||||||
|
|
||||||
const updateGremlinGraphOffer = async (params: UpdateOfferParams): Promise<void> => {
|
const updateGremlinGraphOffer = async (params: UpdateOfferParams): Promise<void> => {
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, databaseAccount } = userContext;
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const accountName = databaseAccount.name;
|
||||||
const accountName = userContext.databaseAccount.name;
|
|
||||||
|
|
||||||
if (params.migrateToAutoPilot) {
|
if (params.migrateToAutoPilot) {
|
||||||
await migrateGremlinGraphToAutoscale(
|
await migrateGremlinGraphToAutoscale(
|
||||||
|
@ -280,9 +276,8 @@ const updateGremlinGraphOffer = async (params: UpdateOfferParams): Promise<void>
|
||||||
};
|
};
|
||||||
|
|
||||||
const updateTableOffer = async (params: UpdateOfferParams): Promise<void> => {
|
const updateTableOffer = async (params: UpdateOfferParams): Promise<void> => {
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, databaseAccount } = userContext;
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const accountName = databaseAccount.name;
|
||||||
const accountName = userContext.databaseAccount.name;
|
|
||||||
|
|
||||||
if (params.migrateToAutoPilot) {
|
if (params.migrateToAutoPilot) {
|
||||||
await migrateTableToAutoscale(subscriptionId, resourceGroup, accountName, params.collectionId);
|
await migrateTableToAutoscale(subscriptionId, resourceGroup, accountName, params.collectionId);
|
||||||
|
@ -295,9 +290,8 @@ const updateTableOffer = async (params: UpdateOfferParams): Promise<void> => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const updateSqlDatabaseOffer = async (params: UpdateOfferParams): Promise<void> => {
|
const updateSqlDatabaseOffer = async (params: UpdateOfferParams): Promise<void> => {
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, databaseAccount } = userContext;
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const accountName = databaseAccount.name;
|
||||||
const accountName = userContext.databaseAccount.name;
|
|
||||||
|
|
||||||
if (params.migrateToAutoPilot) {
|
if (params.migrateToAutoPilot) {
|
||||||
await migrateSqlDatabaseToAutoscale(subscriptionId, resourceGroup, accountName, params.databaseId);
|
await migrateSqlDatabaseToAutoscale(subscriptionId, resourceGroup, accountName, params.databaseId);
|
||||||
|
@ -310,9 +304,8 @@ const updateSqlDatabaseOffer = async (params: UpdateOfferParams): Promise<void>
|
||||||
};
|
};
|
||||||
|
|
||||||
const updateMongoDatabaseOffer = async (params: UpdateOfferParams): Promise<void> => {
|
const updateMongoDatabaseOffer = async (params: UpdateOfferParams): Promise<void> => {
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, databaseAccount } = userContext;
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const accountName = databaseAccount.name;
|
||||||
const accountName = userContext.databaseAccount.name;
|
|
||||||
|
|
||||||
if (params.migrateToAutoPilot) {
|
if (params.migrateToAutoPilot) {
|
||||||
await migrateMongoDBDatabaseToAutoscale(subscriptionId, resourceGroup, accountName, params.databaseId);
|
await migrateMongoDBDatabaseToAutoscale(subscriptionId, resourceGroup, accountName, params.databaseId);
|
||||||
|
@ -325,9 +318,8 @@ const updateMongoDatabaseOffer = async (params: UpdateOfferParams): Promise<void
|
||||||
};
|
};
|
||||||
|
|
||||||
const updateCassandraKeyspaceOffer = async (params: UpdateOfferParams): Promise<void> => {
|
const updateCassandraKeyspaceOffer = async (params: UpdateOfferParams): Promise<void> => {
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, databaseAccount } = userContext;
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const accountName = databaseAccount.name;
|
||||||
const accountName = userContext.databaseAccount.name;
|
|
||||||
|
|
||||||
if (params.migrateToAutoPilot) {
|
if (params.migrateToAutoPilot) {
|
||||||
await migrateCassandraKeyspaceToAutoscale(subscriptionId, resourceGroup, accountName, params.databaseId);
|
await migrateCassandraKeyspaceToAutoscale(subscriptionId, resourceGroup, accountName, params.databaseId);
|
||||||
|
@ -340,9 +332,8 @@ const updateCassandraKeyspaceOffer = async (params: UpdateOfferParams): Promise<
|
||||||
};
|
};
|
||||||
|
|
||||||
const updateGremlinDatabaseOffer = async (params: UpdateOfferParams): Promise<void> => {
|
const updateGremlinDatabaseOffer = async (params: UpdateOfferParams): Promise<void> => {
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, databaseAccount } = userContext;
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const accountName = databaseAccount.name;
|
||||||
const accountName = userContext.databaseAccount.name;
|
|
||||||
|
|
||||||
if (params.migrateToAutoPilot) {
|
if (params.migrateToAutoPilot) {
|
||||||
await migrateGremlinDatabaseToAutoscale(subscriptionId, resourceGroup, accountName, params.databaseId);
|
await migrateGremlinDatabaseToAutoscale(subscriptionId, resourceGroup, accountName, params.databaseId);
|
||||||
|
|
|
@ -20,11 +20,13 @@ export async function updateStoredProcedure(
|
||||||
): Promise<StoredProcedureDefinition & Resource> {
|
): Promise<StoredProcedureDefinition & Resource> {
|
||||||
const clearMessage = logConsoleProgress(`Updating stored procedure ${storedProcedure.id}`);
|
const clearMessage = logConsoleProgress(`Updating stored procedure ${storedProcedure.id}`);
|
||||||
try {
|
try {
|
||||||
if (userContext.authType === AuthType.AAD && !userContext.useSDKOperations && userContext.apiType === "SQL") {
|
const { authType, useSDKOperations, apiType, subscriptionId, resourceGroup, databaseAccount } = userContext;
|
||||||
|
|
||||||
|
if (authType === AuthType.AAD && !useSDKOperations && apiType === "SQL") {
|
||||||
const getResponse = await getSqlStoredProcedure(
|
const getResponse = await getSqlStoredProcedure(
|
||||||
userContext.subscriptionId,
|
subscriptionId,
|
||||||
userContext.resourceGroup,
|
resourceGroup,
|
||||||
userContext.databaseAccount.name,
|
databaseAccount.name,
|
||||||
databaseId,
|
databaseId,
|
||||||
collectionId,
|
collectionId,
|
||||||
storedProcedure.id
|
storedProcedure.id
|
||||||
|
@ -38,9 +40,9 @@ export async function updateStoredProcedure(
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
const rpResponse = await createUpdateSqlStoredProcedure(
|
const rpResponse = await createUpdateSqlStoredProcedure(
|
||||||
userContext.subscriptionId,
|
subscriptionId,
|
||||||
userContext.resourceGroup,
|
resourceGroup,
|
||||||
userContext.databaseAccount.name,
|
databaseAccount.name,
|
||||||
databaseId,
|
databaseId,
|
||||||
collectionId,
|
collectionId,
|
||||||
storedProcedure.id,
|
storedProcedure.id,
|
||||||
|
|
|
@ -16,12 +16,13 @@ export async function updateTrigger(
|
||||||
trigger: TriggerDefinition
|
trigger: TriggerDefinition
|
||||||
): Promise<TriggerDefinition> {
|
): Promise<TriggerDefinition> {
|
||||||
const clearMessage = logConsoleProgress(`Updating trigger ${trigger.id}`);
|
const clearMessage = logConsoleProgress(`Updating trigger ${trigger.id}`);
|
||||||
|
const { authType, useSDKOperations, apiType, subscriptionId, resourceGroup, databaseAccount } = userContext;
|
||||||
try {
|
try {
|
||||||
if (userContext.authType === AuthType.AAD && !userContext.useSDKOperations && userContext.apiType === "SQL") {
|
if (authType === AuthType.AAD && !useSDKOperations && apiType === "SQL") {
|
||||||
const getResponse = await getSqlTrigger(
|
const getResponse = await getSqlTrigger(
|
||||||
userContext.subscriptionId,
|
subscriptionId,
|
||||||
userContext.resourceGroup,
|
resourceGroup,
|
||||||
userContext.databaseAccount.name,
|
databaseAccount.name,
|
||||||
databaseId,
|
databaseId,
|
||||||
collectionId,
|
collectionId,
|
||||||
trigger.id
|
trigger.id
|
||||||
|
@ -35,9 +36,9 @@ export async function updateTrigger(
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
const rpResponse = await createUpdateSqlTrigger(
|
const rpResponse = await createUpdateSqlTrigger(
|
||||||
userContext.subscriptionId,
|
subscriptionId,
|
||||||
userContext.resourceGroup,
|
resourceGroup,
|
||||||
userContext.databaseAccount.name,
|
databaseAccount.name,
|
||||||
databaseId,
|
databaseId,
|
||||||
collectionId,
|
collectionId,
|
||||||
trigger.id,
|
trigger.id,
|
||||||
|
|
|
@ -19,12 +19,13 @@ export async function updateUserDefinedFunction(
|
||||||
userDefinedFunction: UserDefinedFunctionDefinition
|
userDefinedFunction: UserDefinedFunctionDefinition
|
||||||
): Promise<UserDefinedFunctionDefinition & Resource> {
|
): Promise<UserDefinedFunctionDefinition & Resource> {
|
||||||
const clearMessage = logConsoleProgress(`Updating user defined function ${userDefinedFunction.id}`);
|
const clearMessage = logConsoleProgress(`Updating user defined function ${userDefinedFunction.id}`);
|
||||||
|
const { authType, useSDKOperations, apiType, subscriptionId, resourceGroup, databaseAccount } = userContext;
|
||||||
try {
|
try {
|
||||||
if (userContext.authType === AuthType.AAD && !userContext.useSDKOperations && userContext.apiType === "SQL") {
|
if (authType === AuthType.AAD && !useSDKOperations && apiType === "SQL") {
|
||||||
const getResponse = await getSqlUserDefinedFunction(
|
const getResponse = await getSqlUserDefinedFunction(
|
||||||
userContext.subscriptionId,
|
subscriptionId,
|
||||||
userContext.resourceGroup,
|
resourceGroup,
|
||||||
userContext.databaseAccount.name,
|
databaseAccount.name,
|
||||||
databaseId,
|
databaseId,
|
||||||
collectionId,
|
collectionId,
|
||||||
userDefinedFunction.id
|
userDefinedFunction.id
|
||||||
|
@ -38,9 +39,9 @@ export async function updateUserDefinedFunction(
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
const rpResponse = await createUpdateSqlUserDefinedFunction(
|
const rpResponse = await createUpdateSqlUserDefinedFunction(
|
||||||
userContext.subscriptionId,
|
subscriptionId,
|
||||||
userContext.resourceGroup,
|
resourceGroup,
|
||||||
userContext.databaseAccount.name,
|
databaseAccount.name,
|
||||||
databaseId,
|
databaseId,
|
||||||
collectionId,
|
collectionId,
|
||||||
userDefinedFunction.id,
|
userDefinedFunction.id,
|
||||||
|
|
|
@ -350,11 +350,11 @@ exports[`test render renders with filters 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-ScrollablePane root-40"
|
className="ms-ScrollablePane root-72"
|
||||||
data-is-scrollable="true"
|
data-is-scrollable="true"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="stickyAbove-42"
|
className="stickyAbove-74"
|
||||||
style={
|
style={
|
||||||
Object {
|
Object {
|
||||||
"height": 0,
|
"height": 0,
|
||||||
|
@ -365,7 +365,7 @@ exports[`test render renders with filters 1`] = `
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
className="ms-ScrollablePane--contentContainer contentContainer-41"
|
className="ms-ScrollablePane--contentContainer contentContainer-73"
|
||||||
data-is-scrollable={true}
|
data-is-scrollable={true}
|
||||||
>
|
>
|
||||||
<Sticky
|
<Sticky
|
||||||
|
@ -691,18 +691,18 @@ exports[`test render renders with filters 1`] = `
|
||||||
validateOnLoad={true}
|
validateOnLoad={true}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField directoryListFilterTextBox root-46"
|
className="ms-TextField directoryListFilterTextBox root-78"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField-wrapper"
|
className="ms-TextField-wrapper"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField-fieldGroup fieldGroup-47"
|
className="ms-TextField-fieldGroup fieldGroup-79"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
aria-invalid={false}
|
aria-invalid={false}
|
||||||
aria-label="Directory filter text box"
|
aria-label="Directory filter text box"
|
||||||
className="ms-TextField-field field-48"
|
className="ms-TextField-field field-80"
|
||||||
id="TextField0"
|
id="TextField0"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
|
@ -1900,7 +1900,7 @@ exports[`test render renders with filters 1`] = `
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
aria-disabled={true}
|
aria-disabled={true}
|
||||||
className="ms-Button ms-Button--default is-disabled directoryListButton root-57"
|
className="ms-Button ms-Button--default is-disabled directoryListButton root-89"
|
||||||
data-is-focusable={false}
|
data-is-focusable={false}
|
||||||
disabled={true}
|
disabled={true}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
|
@ -1912,7 +1912,7 @@ exports[`test render renders with filters 1`] = `
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-flexContainer flexContainer-58"
|
className="ms-Button-flexContainer flexContainer-90"
|
||||||
data-automationid="splitbuttonprimary"
|
data-automationid="splitbuttonprimary"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
|
@ -1943,7 +1943,7 @@ exports[`test render renders with filters 1`] = `
|
||||||
</List>
|
</List>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className="stickyBelow-43"
|
className="stickyBelow-75"
|
||||||
style={
|
style={
|
||||||
Object {
|
Object {
|
||||||
"bottom": "0px",
|
"bottom": "0px",
|
||||||
|
@ -1954,7 +1954,7 @@ exports[`test render renders with filters 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="stickyBelowItems-44"
|
className="stickyBelowItems-76"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -9,7 +9,7 @@ describe("CodeOfConductComponent", () => {
|
||||||
let codeOfConductProps: CodeOfConductComponentProps;
|
let codeOfConductProps: CodeOfConductComponentProps;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const junoClient = new JunoClient(undefined);
|
const junoClient = new JunoClient();
|
||||||
junoClient.acceptCodeOfConduct = jest.fn().mockReturnValue({
|
junoClient.acceptCodeOfConduct = jest.fn().mockReturnValue({
|
||||||
status: HttpStatusCodes.OK,
|
status: HttpStatusCodes.OK,
|
||||||
data: true,
|
data: true,
|
||||||
|
|
|
@ -154,19 +154,20 @@ describe("SettingsComponent", () => {
|
||||||
expect(settingsComponentInstance.hasConflictResolution()).toEqual(undefined);
|
expect(settingsComponentInstance.hasConflictResolution()).toEqual(undefined);
|
||||||
|
|
||||||
const newContainer = new Explorer();
|
const newContainer = new Explorer();
|
||||||
newContainer.databaseAccount = ko.observable({
|
updateUserContext({
|
||||||
id: undefined,
|
databaseAccount: {
|
||||||
name: undefined,
|
id: undefined,
|
||||||
location: undefined,
|
name: undefined,
|
||||||
type: undefined,
|
location: undefined,
|
||||||
kind: undefined,
|
type: undefined,
|
||||||
tags: undefined,
|
kind: undefined,
|
||||||
properties: {
|
properties: {
|
||||||
documentEndpoint: undefined,
|
documentEndpoint: undefined,
|
||||||
tableEndpoint: undefined,
|
tableEndpoint: undefined,
|
||||||
gremlinEndpoint: undefined,
|
gremlinEndpoint: undefined,
|
||||||
cassandraEndpoint: undefined,
|
cassandraEndpoint: undefined,
|
||||||
enableMultipleWriteLocations: true,
|
enableMultipleWriteLocations: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const newCollection = { ...collection };
|
const newCollection = { ...collection };
|
||||||
|
|
|
@ -233,11 +233,7 @@ export class SettingsComponent extends React.Component<SettingsComponentProps, S
|
||||||
}
|
}
|
||||||
|
|
||||||
public loadMongoIndexes = async (): Promise<void> => {
|
public loadMongoIndexes = async (): Promise<void> => {
|
||||||
if (
|
if (userContext.apiType === "Mongo" && userContext?.databaseAccount) {
|
||||||
userContext.apiType === "Mongo" &&
|
|
||||||
this.container.isEnableMongoCapabilityPresent() &&
|
|
||||||
this.container.databaseAccount()
|
|
||||||
) {
|
|
||||||
this.mongoDBCollectionResource = await readMongoDBCollectionThroughRP(
|
this.mongoDBCollectionResource = await readMongoDBCollectionThroughRP(
|
||||||
this.collection.databaseId,
|
this.collection.databaseId,
|
||||||
this.collection.id()
|
this.collection.id()
|
||||||
|
@ -300,8 +296,7 @@ export class SettingsComponent extends React.Component<SettingsComponentProps, S
|
||||||
this.container && userContext.apiType === "Cassandra" && hasDatabaseSharedThroughput(this.collection);
|
this.container && userContext.apiType === "Cassandra" && hasDatabaseSharedThroughput(this.collection);
|
||||||
|
|
||||||
public hasConflictResolution = (): boolean =>
|
public hasConflictResolution = (): boolean =>
|
||||||
this.container?.databaseAccount &&
|
userContext?.databaseAccount?.properties?.enableMultipleWriteLocations &&
|
||||||
this.container.databaseAccount()?.properties?.enableMultipleWriteLocations &&
|
|
||||||
this.collection.conflictResolutionPolicy &&
|
this.collection.conflictResolutionPolicy &&
|
||||||
!!this.collection.conflictResolutionPolicy();
|
!!this.collection.conflictResolutionPolicy();
|
||||||
|
|
||||||
|
@ -876,7 +871,7 @@ export class SettingsComponent extends React.Component<SettingsComponentProps, S
|
||||||
mongoIndexingPolicyComponentProps: MongoIndexingPolicyComponentProps
|
mongoIndexingPolicyComponentProps: MongoIndexingPolicyComponentProps
|
||||||
): JSX.Element => {
|
): JSX.Element => {
|
||||||
if (userContext.authType === AuthType.AAD) {
|
if (userContext.authType === AuthType.AAD) {
|
||||||
if (this.container.isEnableMongoCapabilityPresent()) {
|
if (userContext.apiType === "Mongo") {
|
||||||
return <MongoIndexingPolicyComponent {...mongoIndexingPolicyComponentProps} />;
|
return <MongoIndexingPolicyComponent {...mongoIndexingPolicyComponentProps} />;
|
||||||
}
|
}
|
||||||
return undefined;
|
return undefined;
|
||||||
|
|
|
@ -4,6 +4,7 @@ import React from "react";
|
||||||
import * as Constants from "../../../../Common/Constants";
|
import * as Constants from "../../../../Common/Constants";
|
||||||
import * as DataModels from "../../../../Contracts/DataModels";
|
import * as DataModels from "../../../../Contracts/DataModels";
|
||||||
import * as SharedConstants from "../../../../Shared/Constants";
|
import * as SharedConstants from "../../../../Shared/Constants";
|
||||||
|
import { updateUserContext } from "../../../../UserContext";
|
||||||
import Explorer from "../../../Explorer";
|
import Explorer from "../../../Explorer";
|
||||||
import { throughputUnit } from "../SettingsRenderUtils";
|
import { throughputUnit } from "../SettingsRenderUtils";
|
||||||
import { collection, container } from "../TestUtils";
|
import { collection, container } from "../TestUtils";
|
||||||
|
@ -80,24 +81,25 @@ describe("ScaleComponent", () => {
|
||||||
|
|
||||||
it("autoScale enabled", () => {
|
it("autoScale enabled", () => {
|
||||||
const newContainer = new Explorer();
|
const newContainer = new Explorer();
|
||||||
|
updateUserContext({
|
||||||
newContainer.databaseAccount({
|
databaseAccount: {
|
||||||
id: undefined,
|
id: undefined,
|
||||||
name: undefined,
|
name: undefined,
|
||||||
location: undefined,
|
location: undefined,
|
||||||
type: undefined,
|
type: undefined,
|
||||||
kind: "documentdb",
|
kind: "documentdb",
|
||||||
properties: {
|
properties: {
|
||||||
documentEndpoint: undefined,
|
documentEndpoint: undefined,
|
||||||
tableEndpoint: undefined,
|
tableEndpoint: undefined,
|
||||||
gremlinEndpoint: undefined,
|
gremlinEndpoint: undefined,
|
||||||
cassandraEndpoint: undefined,
|
cassandraEndpoint: undefined,
|
||||||
capabilities: [
|
capabilities: [
|
||||||
{
|
{
|
||||||
name: Constants.CapabilityNames.EnableAutoScale.toLowerCase(),
|
name: Constants.CapabilityNames.EnableAutoScale.toLowerCase(),
|
||||||
description: undefined,
|
description: undefined,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const props = { ...baseProps, container: newContainer };
|
const props = { ...baseProps, container: newContainer };
|
||||||
|
|
|
@ -54,8 +54,7 @@ export class ScaleComponent extends React.Component<ScaleComponentProps> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public isAutoScaleEnabled = (): boolean => {
|
public isAutoScaleEnabled = (): boolean => {
|
||||||
const accountCapabilities: DataModels.Capability[] = this.props.container?.databaseAccount()?.properties
|
const accountCapabilities: DataModels.Capability[] = userContext?.databaseAccount?.properties?.capabilities;
|
||||||
?.capabilities;
|
|
||||||
const enableAutoScaleCapability =
|
const enableAutoScaleCapability =
|
||||||
accountCapabilities &&
|
accountCapabilities &&
|
||||||
accountCapabilities.find((capability: DataModels.Capability) => {
|
accountCapabilities.find((capability: DataModels.Capability) => {
|
||||||
|
@ -170,7 +169,7 @@ export class ScaleComponent extends React.Component<ScaleComponentProps> {
|
||||||
|
|
||||||
private getThroughputInputComponent = (): JSX.Element => (
|
private getThroughputInputComponent = (): JSX.Element => (
|
||||||
<ThroughputInputAutoPilotV3Component
|
<ThroughputInputAutoPilotV3Component
|
||||||
databaseAccount={this.props.container.databaseAccount()}
|
databaseAccount={userContext?.databaseAccount}
|
||||||
databaseName={this.databaseId}
|
databaseName={this.databaseId}
|
||||||
collectionName={this.collectionId}
|
collectionName={this.collectionId}
|
||||||
throughput={this.props.throughput}
|
throughput={this.props.throughput}
|
||||||
|
@ -199,8 +198,7 @@ export class ScaleComponent extends React.Component<ScaleComponentProps> {
|
||||||
);
|
);
|
||||||
|
|
||||||
private isFreeTierAccount(): boolean {
|
private isFreeTierAccount(): boolean {
|
||||||
const databaseAccount = this.props.container?.databaseAccount();
|
return userContext?.databaseAccount?.properties?.enableFreeTier;
|
||||||
return databaseAccount?.properties?.enableFreeTier;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private getFreeTierInfoMessage(): JSX.Element {
|
private getFreeTierInfoMessage(): JSX.Element {
|
||||||
|
|
|
@ -422,7 +422,6 @@ exports[`SettingsComponent renders 1`] = `
|
||||||
"parameters": [Function],
|
"parameters": [Function],
|
||||||
"tabsButtons": Array [],
|
"tabsButtons": Array [],
|
||||||
},
|
},
|
||||||
"databaseAccount": [Function],
|
|
||||||
"databases": [Function],
|
"databases": [Function],
|
||||||
"deleteCollectionText": [Function],
|
"deleteCollectionText": [Function],
|
||||||
"deleteDatabaseText": [Function],
|
"deleteDatabaseText": [Function],
|
||||||
|
@ -1216,7 +1215,6 @@ exports[`SettingsComponent renders 1`] = `
|
||||||
"hasStorageAnalyticsAfecFeature": [Function],
|
"hasStorageAnalyticsAfecFeature": [Function],
|
||||||
"isAccountReady": [Function],
|
"isAccountReady": [Function],
|
||||||
"isAutoscaleDefaultEnabled": [Function],
|
"isAutoscaleDefaultEnabled": [Function],
|
||||||
"isEnableMongoCapabilityPresent": [Function],
|
|
||||||
"isFixedCollectionWithSharedThroughputSupported": [Function],
|
"isFixedCollectionWithSharedThroughputSupported": [Function],
|
||||||
"isHostedDataExplorerEnabled": [Function],
|
"isHostedDataExplorerEnabled": [Function],
|
||||||
"isLeftPaneExpanded": [Function],
|
"isLeftPaneExpanded": [Function],
|
||||||
|
@ -1234,7 +1232,6 @@ exports[`SettingsComponent renders 1`] = `
|
||||||
"isTabsContentExpanded": [Function],
|
"isTabsContentExpanded": [Function],
|
||||||
"junoClient": JunoClient {
|
"junoClient": JunoClient {
|
||||||
"cachedPinnedRepos": [Function],
|
"cachedPinnedRepos": [Function],
|
||||||
"databaseAccount": undefined,
|
|
||||||
},
|
},
|
||||||
"memoryUsageInfo": [Function],
|
"memoryUsageInfo": [Function],
|
||||||
"notebookBasePath": [Function],
|
"notebookBasePath": [Function],
|
||||||
|
@ -1707,7 +1704,6 @@ exports[`SettingsComponent renders 1`] = `
|
||||||
"parameters": [Function],
|
"parameters": [Function],
|
||||||
"tabsButtons": Array [],
|
"tabsButtons": Array [],
|
||||||
},
|
},
|
||||||
"databaseAccount": [Function],
|
|
||||||
"databases": [Function],
|
"databases": [Function],
|
||||||
"deleteCollectionText": [Function],
|
"deleteCollectionText": [Function],
|
||||||
"deleteDatabaseText": [Function],
|
"deleteDatabaseText": [Function],
|
||||||
|
@ -2501,7 +2497,6 @@ exports[`SettingsComponent renders 1`] = `
|
||||||
"hasStorageAnalyticsAfecFeature": [Function],
|
"hasStorageAnalyticsAfecFeature": [Function],
|
||||||
"isAccountReady": [Function],
|
"isAccountReady": [Function],
|
||||||
"isAutoscaleDefaultEnabled": [Function],
|
"isAutoscaleDefaultEnabled": [Function],
|
||||||
"isEnableMongoCapabilityPresent": [Function],
|
|
||||||
"isFixedCollectionWithSharedThroughputSupported": [Function],
|
"isFixedCollectionWithSharedThroughputSupported": [Function],
|
||||||
"isHostedDataExplorerEnabled": [Function],
|
"isHostedDataExplorerEnabled": [Function],
|
||||||
"isLeftPaneExpanded": [Function],
|
"isLeftPaneExpanded": [Function],
|
||||||
|
@ -2519,7 +2514,6 @@ exports[`SettingsComponent renders 1`] = `
|
||||||
"isTabsContentExpanded": [Function],
|
"isTabsContentExpanded": [Function],
|
||||||
"junoClient": JunoClient {
|
"junoClient": JunoClient {
|
||||||
"cachedPinnedRepos": [Function],
|
"cachedPinnedRepos": [Function],
|
||||||
"databaseAccount": undefined,
|
|
||||||
},
|
},
|
||||||
"memoryUsageInfo": [Function],
|
"memoryUsageInfo": [Function],
|
||||||
"notebookBasePath": [Function],
|
"notebookBasePath": [Function],
|
||||||
|
@ -3005,7 +2999,6 @@ exports[`SettingsComponent renders 1`] = `
|
||||||
"parameters": [Function],
|
"parameters": [Function],
|
||||||
"tabsButtons": Array [],
|
"tabsButtons": Array [],
|
||||||
},
|
},
|
||||||
"databaseAccount": [Function],
|
|
||||||
"databases": [Function],
|
"databases": [Function],
|
||||||
"deleteCollectionText": [Function],
|
"deleteCollectionText": [Function],
|
||||||
"deleteDatabaseText": [Function],
|
"deleteDatabaseText": [Function],
|
||||||
|
@ -3799,7 +3792,6 @@ exports[`SettingsComponent renders 1`] = `
|
||||||
"hasStorageAnalyticsAfecFeature": [Function],
|
"hasStorageAnalyticsAfecFeature": [Function],
|
||||||
"isAccountReady": [Function],
|
"isAccountReady": [Function],
|
||||||
"isAutoscaleDefaultEnabled": [Function],
|
"isAutoscaleDefaultEnabled": [Function],
|
||||||
"isEnableMongoCapabilityPresent": [Function],
|
|
||||||
"isFixedCollectionWithSharedThroughputSupported": [Function],
|
"isFixedCollectionWithSharedThroughputSupported": [Function],
|
||||||
"isHostedDataExplorerEnabled": [Function],
|
"isHostedDataExplorerEnabled": [Function],
|
||||||
"isLeftPaneExpanded": [Function],
|
"isLeftPaneExpanded": [Function],
|
||||||
|
@ -3817,7 +3809,6 @@ exports[`SettingsComponent renders 1`] = `
|
||||||
"isTabsContentExpanded": [Function],
|
"isTabsContentExpanded": [Function],
|
||||||
"junoClient": JunoClient {
|
"junoClient": JunoClient {
|
||||||
"cachedPinnedRepos": [Function],
|
"cachedPinnedRepos": [Function],
|
||||||
"databaseAccount": undefined,
|
|
||||||
},
|
},
|
||||||
"memoryUsageInfo": [Function],
|
"memoryUsageInfo": [Function],
|
||||||
"notebookBasePath": [Function],
|
"notebookBasePath": [Function],
|
||||||
|
@ -4290,7 +4281,6 @@ exports[`SettingsComponent renders 1`] = `
|
||||||
"parameters": [Function],
|
"parameters": [Function],
|
||||||
"tabsButtons": Array [],
|
"tabsButtons": Array [],
|
||||||
},
|
},
|
||||||
"databaseAccount": [Function],
|
|
||||||
"databases": [Function],
|
"databases": [Function],
|
||||||
"deleteCollectionText": [Function],
|
"deleteCollectionText": [Function],
|
||||||
"deleteDatabaseText": [Function],
|
"deleteDatabaseText": [Function],
|
||||||
|
@ -5084,7 +5074,6 @@ exports[`SettingsComponent renders 1`] = `
|
||||||
"hasStorageAnalyticsAfecFeature": [Function],
|
"hasStorageAnalyticsAfecFeature": [Function],
|
||||||
"isAccountReady": [Function],
|
"isAccountReady": [Function],
|
||||||
"isAutoscaleDefaultEnabled": [Function],
|
"isAutoscaleDefaultEnabled": [Function],
|
||||||
"isEnableMongoCapabilityPresent": [Function],
|
|
||||||
"isFixedCollectionWithSharedThroughputSupported": [Function],
|
"isFixedCollectionWithSharedThroughputSupported": [Function],
|
||||||
"isHostedDataExplorerEnabled": [Function],
|
"isHostedDataExplorerEnabled": [Function],
|
||||||
"isLeftPaneExpanded": [Function],
|
"isLeftPaneExpanded": [Function],
|
||||||
|
@ -5102,7 +5091,6 @@ exports[`SettingsComponent renders 1`] = `
|
||||||
"isTabsContentExpanded": [Function],
|
"isTabsContentExpanded": [Function],
|
||||||
"junoClient": JunoClient {
|
"junoClient": JunoClient {
|
||||||
"cachedPinnedRepos": [Function],
|
"cachedPinnedRepos": [Function],
|
||||||
"databaseAccount": undefined,
|
|
||||||
},
|
},
|
||||||
"memoryUsageInfo": [Function],
|
"memoryUsageInfo": [Function],
|
||||||
"notebookBasePath": [Function],
|
"notebookBasePath": [Function],
|
||||||
|
|
|
@ -216,7 +216,7 @@ export class ThroughputInput extends React.Component<ThroughputInputProps, Throu
|
||||||
}
|
}
|
||||||
|
|
||||||
private getCostAcknowledgeText(): string {
|
private getCostAcknowledgeText(): string {
|
||||||
const databaseAccount = userContext.databaseAccount;
|
const { databaseAccount } = userContext;
|
||||||
if (!databaseAccount || !databaseAccount.properties) {
|
if (!databaseAccount || !databaseAccount.properties) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
@ -259,8 +259,8 @@ interface CostEstimateTextProps {
|
||||||
|
|
||||||
const CostEstimateText: React.FunctionComponent<CostEstimateTextProps> = (props: CostEstimateTextProps) => {
|
const CostEstimateText: React.FunctionComponent<CostEstimateTextProps> = (props: CostEstimateTextProps) => {
|
||||||
const { requestUnits, isAutoscale } = props;
|
const { requestUnits, isAutoscale } = props;
|
||||||
const databaseAccount = userContext.databaseAccount;
|
const { databaseAccount } = userContext;
|
||||||
if (!databaseAccount || !databaseAccount.properties) {
|
if (!databaseAccount?.properties) {
|
||||||
return <></>;
|
return <></>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -80,7 +80,7 @@ export class ContainerSampleGenerator {
|
||||||
if (!queries || queries.length < 1) {
|
if (!queries || queries.length < 1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const account = userContext.databaseAccount;
|
const { databaseAccount: account } = userContext;
|
||||||
const databaseId = collection.databaseId;
|
const databaseId = collection.databaseId;
|
||||||
const gremlinClient = new GremlinClient();
|
const gremlinClient = new GremlinClient();
|
||||||
gremlinClient.initialize({
|
gremlinClient.initialize({
|
||||||
|
|
|
@ -31,7 +31,7 @@ import { ExplorerSettings } from "../Shared/ExplorerSettings";
|
||||||
import { Action, ActionModifiers } from "../Shared/Telemetry/TelemetryConstants";
|
import { Action, ActionModifiers } from "../Shared/Telemetry/TelemetryConstants";
|
||||||
import * as TelemetryProcessor from "../Shared/Telemetry/TelemetryProcessor";
|
import * as TelemetryProcessor from "../Shared/Telemetry/TelemetryProcessor";
|
||||||
import { ArcadiaResourceManager } from "../SparkClusterManager/ArcadiaResourceManager";
|
import { ArcadiaResourceManager } from "../SparkClusterManager/ArcadiaResourceManager";
|
||||||
import { userContext } from "../UserContext";
|
import { updateUserContext, userContext } from "../UserContext";
|
||||||
import { getCollectionName } from "../Utils/APITypeUtils";
|
import { getCollectionName } from "../Utils/APITypeUtils";
|
||||||
import { decryptJWTToken, getAuthorizationHeader } from "../Utils/AuthorizationUtils";
|
import { decryptJWTToken, getAuthorizationHeader } from "../Utils/AuthorizationUtils";
|
||||||
import { stringToBlob } from "../Utils/BlobUtils";
|
import { stringToBlob } from "../Utils/BlobUtils";
|
||||||
|
@ -109,18 +109,8 @@ export default class Explorer {
|
||||||
public refreshTreeTitle: ko.Observable<string>;
|
public refreshTreeTitle: ko.Observable<string>;
|
||||||
public collapsedResourceTreeWidth: number = ExplorerMetrics.CollapsedResourceTreeWidth;
|
public collapsedResourceTreeWidth: number = ExplorerMetrics.CollapsedResourceTreeWidth;
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated
|
|
||||||
* Use userContext.databaseAccount instead
|
|
||||||
* */
|
|
||||||
public databaseAccount: ko.Observable<DataModels.DatabaseAccount>;
|
|
||||||
public collectionCreationDefaults: ViewModels.CollectionCreationDefaults = SharedConstants.CollectionCreationDefaults;
|
public collectionCreationDefaults: ViewModels.CollectionCreationDefaults = SharedConstants.CollectionCreationDefaults;
|
||||||
public isFixedCollectionWithSharedThroughputSupported: ko.Computed<boolean>;
|
public isFixedCollectionWithSharedThroughputSupported: ko.Computed<boolean>;
|
||||||
/**
|
|
||||||
* @deprecated
|
|
||||||
* Compare a string with userContext.apiType instead: userContext.apiType === "Mongo"
|
|
||||||
* */
|
|
||||||
public isEnableMongoCapabilityPresent: ko.Computed<boolean>;
|
|
||||||
public isServerlessEnabled: ko.Computed<boolean>;
|
public isServerlessEnabled: ko.Computed<boolean>;
|
||||||
public isAccountReady: ko.Observable<boolean>;
|
public isAccountReady: ko.Observable<boolean>;
|
||||||
public canSaveQueries: ko.Computed<boolean>;
|
public canSaveQueries: ko.Computed<boolean>;
|
||||||
|
@ -231,7 +221,6 @@ export default class Explorer {
|
||||||
this.deleteDatabaseText = ko.observable<string>("Delete Database");
|
this.deleteDatabaseText = ko.observable<string>("Delete Database");
|
||||||
this.refreshTreeTitle = ko.observable<string>("Refresh collections");
|
this.refreshTreeTitle = ko.observable<string>("Refresh collections");
|
||||||
|
|
||||||
this.databaseAccount = ko.observable<DataModels.DatabaseAccount>();
|
|
||||||
this.isAccountReady = ko.observable<boolean>(false);
|
this.isAccountReady = ko.observable<boolean>(false);
|
||||||
this._isInitializingNotebooks = false;
|
this._isInitializingNotebooks = false;
|
||||||
this.arcadiaToken = ko.observable<string>();
|
this.arcadiaToken = ko.observable<string>();
|
||||||
|
@ -266,7 +255,7 @@ export default class Explorer {
|
||||||
async () => {
|
async () => {
|
||||||
this.isNotebookEnabled(
|
this.isNotebookEnabled(
|
||||||
userContext.authType !== AuthType.ResourceToken &&
|
userContext.authType !== AuthType.ResourceToken &&
|
||||||
((await this._containsDefaultNotebookWorkspace(this.databaseAccount())) ||
|
((await this._containsDefaultNotebookWorkspace(userContext.databaseAccount)) ||
|
||||||
userContext.features.enableNotebooks)
|
userContext.features.enableNotebooks)
|
||||||
);
|
);
|
||||||
TelemetryProcessor.trace(Action.NotebookEnabled, ActionModifiers.Mark, {
|
TelemetryProcessor.trace(Action.NotebookEnabled, ActionModifiers.Mark, {
|
||||||
|
@ -275,7 +264,7 @@ export default class Explorer {
|
||||||
});
|
});
|
||||||
|
|
||||||
if (this.isNotebookEnabled()) {
|
if (this.isNotebookEnabled()) {
|
||||||
await this.initNotebooks(this.databaseAccount());
|
await this.initNotebooks(userContext.databaseAccount);
|
||||||
const workspaces = await this._getArcadiaWorkspaces();
|
const workspaces = await this._getArcadiaWorkspaces();
|
||||||
this.arcadiaWorkspaces(workspaces);
|
this.arcadiaWorkspaces(workspaces);
|
||||||
} else if (this.notebookToImport) {
|
} else if (this.notebookToImport) {
|
||||||
|
@ -377,36 +366,20 @@ export default class Explorer {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.databaseAccount && !this.databaseAccount()) {
|
if (!userContext.databaseAccount) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.isEnableMongoCapabilityPresent();
|
return userContext.apiType === "Mongo";
|
||||||
});
|
});
|
||||||
|
|
||||||
this.isServerlessEnabled = ko.computed(
|
this.isServerlessEnabled = ko.computed(
|
||||||
() =>
|
() =>
|
||||||
this.databaseAccount &&
|
userContext.databaseAccount?.properties?.capabilities?.find(
|
||||||
this.databaseAccount()?.properties?.capabilities?.find(
|
|
||||||
(item) => item.name === Constants.CapabilityNames.EnableServerless
|
(item) => item.name === Constants.CapabilityNames.EnableServerless
|
||||||
) !== undefined
|
) !== undefined
|
||||||
);
|
);
|
||||||
|
|
||||||
this.isEnableMongoCapabilityPresent = ko.computed(() => {
|
|
||||||
const capabilities = this.databaseAccount && this.databaseAccount()?.properties?.capabilities;
|
|
||||||
if (!capabilities) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let i = 0; i < capabilities.length; i++) {
|
|
||||||
if (typeof capabilities[i] === "object" && capabilities[i].name === Constants.CapabilityNames.EnableMongo) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
this.isHostedDataExplorerEnabled = ko.computed<boolean>(
|
this.isHostedDataExplorerEnabled = ko.computed<boolean>(
|
||||||
() =>
|
() =>
|
||||||
configContext.platform === Platform.Portal &&
|
configContext.platform === Platform.Portal &&
|
||||||
|
@ -672,11 +645,11 @@ export default class Explorer {
|
||||||
this.isSynapseLinkUpdating(true);
|
this.isSynapseLinkUpdating(true);
|
||||||
this._closeSynapseLinkModalDialog();
|
this._closeSynapseLinkModalDialog();
|
||||||
|
|
||||||
const resourceProviderClient = new ResourceProviderClientFactory().getOrCreate(this.databaseAccount().id);
|
const resourceProviderClient = new ResourceProviderClientFactory().getOrCreate(userContext.databaseAccount.id);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const databaseAccount: DataModels.DatabaseAccount = await resourceProviderClient.patchAsync(
|
const databaseAccount: DataModels.DatabaseAccount = await resourceProviderClient.patchAsync(
|
||||||
this.databaseAccount().id,
|
userContext.databaseAccount.id,
|
||||||
"2019-12-12",
|
"2019-12-12",
|
||||||
{
|
{
|
||||||
properties: {
|
properties: {
|
||||||
|
@ -687,7 +660,7 @@ export default class Explorer {
|
||||||
clearInProgressMessage();
|
clearInProgressMessage();
|
||||||
logConsoleInfo("Enabled Azure Synapse Link for this account");
|
logConsoleInfo("Enabled Azure Synapse Link for this account");
|
||||||
TelemetryProcessor.traceSuccess(Action.EnableAzureSynapseLink, {}, startTime);
|
TelemetryProcessor.traceSuccess(Action.EnableAzureSynapseLink, {}, startTime);
|
||||||
this.databaseAccount(databaseAccount);
|
updateUserContext({ databaseAccount });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
clearInProgressMessage();
|
clearInProgressMessage();
|
||||||
logConsoleError(`Enabling Azure Synapse Link for this account failed. ${getErrorMessage(error)}`);
|
logConsoleError(`Enabling Azure Synapse Link for this account failed. ${getErrorMessage(error)}`);
|
||||||
|
@ -1010,14 +983,14 @@ export default class Explorer {
|
||||||
}
|
}
|
||||||
|
|
||||||
private async ensureNotebookWorkspaceRunning() {
|
private async ensureNotebookWorkspaceRunning() {
|
||||||
if (!this.databaseAccount()) {
|
if (!userContext.databaseAccount) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let clearMessage;
|
let clearMessage;
|
||||||
try {
|
try {
|
||||||
const notebookWorkspace = await this.notebookWorkspaceManager.getNotebookWorkspaceAsync(
|
const notebookWorkspace = await this.notebookWorkspaceManager.getNotebookWorkspaceAsync(
|
||||||
this.databaseAccount().id,
|
userContext.databaseAccount.id,
|
||||||
"default"
|
"default"
|
||||||
);
|
);
|
||||||
if (
|
if (
|
||||||
|
@ -1027,7 +1000,7 @@ export default class Explorer {
|
||||||
notebookWorkspace.properties.status.toLowerCase() === "stopped"
|
notebookWorkspace.properties.status.toLowerCase() === "stopped"
|
||||||
) {
|
) {
|
||||||
clearMessage = NotificationConsoleUtils.logConsoleProgress("Initializing notebook workspace");
|
clearMessage = NotificationConsoleUtils.logConsoleProgress("Initializing notebook workspace");
|
||||||
await this.notebookWorkspaceManager.startNotebookWorkspaceAsync(this.databaseAccount().id, "default");
|
await this.notebookWorkspaceManager.startNotebookWorkspaceAsync(userContext.databaseAccount.id, "default");
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
handleError(error, "Explorer/ensureNotebookWorkspaceRunning", "Failed to initialize notebook workspace");
|
handleError(error, "Explorer/ensureNotebookWorkspaceRunning", "Failed to initialize notebook workspace");
|
||||||
|
@ -1112,21 +1085,10 @@ export default class Explorer {
|
||||||
if (process.env.NODE_ENV === "development") {
|
if (process.env.NODE_ENV === "development") {
|
||||||
sessionStorage.setItem("portalDataExplorerInitMessage", JSON.stringify(inputs));
|
sessionStorage.setItem("portalDataExplorerInitMessage", JSON.stringify(inputs));
|
||||||
}
|
}
|
||||||
|
|
||||||
const databaseAccount = inputs.databaseAccount || null;
|
|
||||||
if (inputs.defaultCollectionThroughput) {
|
if (inputs.defaultCollectionThroughput) {
|
||||||
this.collectionCreationDefaults = inputs.defaultCollectionThroughput;
|
this.collectionCreationDefaults = inputs.defaultCollectionThroughput;
|
||||||
}
|
}
|
||||||
this.databaseAccount(databaseAccount);
|
|
||||||
this.setFeatureFlagsFromFlights(inputs.flights);
|
this.setFeatureFlagsFromFlights(inputs.flights);
|
||||||
TelemetryProcessor.traceSuccess(
|
|
||||||
Action.LoadDatabaseAccount,
|
|
||||||
{
|
|
||||||
dataExplorerArea: Constants.Areas.ResourceTree,
|
|
||||||
},
|
|
||||||
inputs.loadDatabaseAccountTimestamp
|
|
||||||
);
|
|
||||||
|
|
||||||
this.isAccountReady(true);
|
this.isAccountReady(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1616,7 +1578,7 @@ export default class Explorer {
|
||||||
}
|
}
|
||||||
|
|
||||||
private async _refreshNotebooksEnabledStateForAccount(): Promise<void> {
|
private async _refreshNotebooksEnabledStateForAccount(): Promise<void> {
|
||||||
const authType = userContext.authType;
|
const { databaseAccount, authType } = userContext;
|
||||||
if (
|
if (
|
||||||
authType === AuthType.EncryptedToken ||
|
authType === AuthType.EncryptedToken ||
|
||||||
authType === AuthType.ResourceToken ||
|
authType === AuthType.ResourceToken ||
|
||||||
|
@ -1626,7 +1588,6 @@ export default class Explorer {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const databaseAccount = this.databaseAccount();
|
|
||||||
const firstWriteLocation =
|
const firstWriteLocation =
|
||||||
databaseAccount?.properties?.writeLocations &&
|
databaseAccount?.properties?.writeLocations &&
|
||||||
databaseAccount?.properties?.writeLocations[0]?.locationName.toLowerCase();
|
databaseAccount?.properties?.writeLocations[0]?.locationName.toLowerCase();
|
||||||
|
@ -1665,9 +1626,8 @@ export default class Explorer {
|
||||||
}
|
}
|
||||||
|
|
||||||
public _refreshSparkEnabledStateForAccount = async (): Promise<void> => {
|
public _refreshSparkEnabledStateForAccount = async (): Promise<void> => {
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, authType } = userContext;
|
||||||
const armEndpoint = configContext.ARM_ENDPOINT;
|
const armEndpoint = configContext.ARM_ENDPOINT;
|
||||||
const authType = userContext.authType;
|
|
||||||
if (!subscriptionId || !armEndpoint || authType === AuthType.EncryptedToken) {
|
if (!subscriptionId || !armEndpoint || authType === AuthType.EncryptedToken) {
|
||||||
// explorer is not aware of the database account yet
|
// explorer is not aware of the database account yet
|
||||||
this.isSparkEnabledForAccount(false);
|
this.isSparkEnabledForAccount(false);
|
||||||
|
@ -1694,9 +1654,8 @@ export default class Explorer {
|
||||||
};
|
};
|
||||||
|
|
||||||
public _isAfecFeatureRegistered = async (featureName: string): Promise<boolean> => {
|
public _isAfecFeatureRegistered = async (featureName: string): Promise<boolean> => {
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, authType } = userContext;
|
||||||
const armEndpoint = configContext.ARM_ENDPOINT;
|
const armEndpoint = configContext.ARM_ENDPOINT;
|
||||||
const authType = userContext.authType;
|
|
||||||
if (!featureName || !subscriptionId || !armEndpoint || authType === AuthType.EncryptedToken) {
|
if (!featureName || !subscriptionId || !armEndpoint || authType === AuthType.EncryptedToken) {
|
||||||
// explorer is not aware of the database account yet
|
// explorer is not aware of the database account yet
|
||||||
return false;
|
return false;
|
||||||
|
@ -2008,7 +1967,7 @@ export default class Explorer {
|
||||||
}
|
}
|
||||||
|
|
||||||
public async handleOpenFileAction(path: string): Promise<void> {
|
public async handleOpenFileAction(path: string): Promise<void> {
|
||||||
if (this.isAccountReady() && !(await this._containsDefaultNotebookWorkspace(this.databaseAccount()))) {
|
if (this.isAccountReady() && !(await this._containsDefaultNotebookWorkspace(userContext.databaseAccount))) {
|
||||||
this.closeAllPanes();
|
this.closeAllPanes();
|
||||||
this._openSetupNotebooksPaneForQuickstart();
|
this._openSetupNotebooksPaneForQuickstart();
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ import * as React from "react";
|
||||||
import { ReactAdapter } from "../../../Bindings/ReactBindingHandler";
|
import { ReactAdapter } from "../../../Bindings/ReactBindingHandler";
|
||||||
import { StyleConstants } from "../../../Common/Constants";
|
import { StyleConstants } from "../../../Common/Constants";
|
||||||
import * as ViewModels from "../../../Contracts/ViewModels";
|
import * as ViewModels from "../../../Contracts/ViewModels";
|
||||||
|
import { userContext } from "../../../UserContext";
|
||||||
import { CommandButtonComponentProps } from "../../Controls/CommandButton/CommandButtonComponent";
|
import { CommandButtonComponentProps } from "../../Controls/CommandButton/CommandButtonComponent";
|
||||||
import Explorer from "../../Explorer";
|
import Explorer from "../../Explorer";
|
||||||
import * as CommandBarComponentButtonFactory from "./CommandBarComponentButtonFactory";
|
import * as CommandBarComponentButtonFactory from "./CommandBarComponentButtonFactory";
|
||||||
|
@ -39,7 +40,7 @@ export class CommandBarComponentAdapter implements ReactAdapter {
|
||||||
container.isResourceTokenCollectionNodeSelected,
|
container.isResourceTokenCollectionNodeSelected,
|
||||||
container.isHostedDataExplorerEnabled,
|
container.isHostedDataExplorerEnabled,
|
||||||
container.isSynapseLinkUpdating,
|
container.isSynapseLinkUpdating,
|
||||||
container.databaseAccount,
|
userContext?.databaseAccount,
|
||||||
this.isNotebookTabActive,
|
this.isNotebookTabActive,
|
||||||
container.isServerlessEnabled,
|
container.isServerlessEnabled,
|
||||||
];
|
];
|
||||||
|
|
|
@ -239,21 +239,11 @@ function createOpenSynapseLinkDialogButton(container: Explorer): CommandButtonCo
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (userContext?.databaseAccount?.properties?.enableAnalyticalStorage) {
|
||||||
container.databaseAccount &&
|
|
||||||
container.databaseAccount() &&
|
|
||||||
container.databaseAccount().properties &&
|
|
||||||
container.databaseAccount().properties.enableAnalyticalStorage
|
|
||||||
) {
|
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
const capabilities =
|
const capabilities = userContext?.databaseAccount?.properties?.capabilities || [];
|
||||||
(container.databaseAccount &&
|
|
||||||
container.databaseAccount() &&
|
|
||||||
container.databaseAccount().properties &&
|
|
||||||
container.databaseAccount().properties.capabilities) ||
|
|
||||||
[];
|
|
||||||
if (capabilities.some((capability) => capability.name === Constants.CapabilityNames.EnableStorageAnalytics)) {
|
if (capabilities.some((capability) => capability.name === Constants.CapabilityNames.EnableStorageAnalytics)) {
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ import * as Constants from "../../Common/Constants";
|
||||||
import { getErrorMessage } from "../../Common/ErrorHandlingUtils";
|
import { getErrorMessage } from "../../Common/ErrorHandlingUtils";
|
||||||
import * as Logger from "../../Common/Logger";
|
import * as Logger from "../../Common/Logger";
|
||||||
import * as DataModels from "../../Contracts/DataModels";
|
import * as DataModels from "../../Contracts/DataModels";
|
||||||
|
import { userContext } from "../../UserContext";
|
||||||
import { logConsoleProgress } from "../../Utils/NotificationConsoleUtils";
|
import { logConsoleProgress } from "../../Utils/NotificationConsoleUtils";
|
||||||
|
|
||||||
export class NotebookContainerClient {
|
export class NotebookContainerClient {
|
||||||
|
@ -130,14 +131,15 @@ export class NotebookContainerClient {
|
||||||
|
|
||||||
private async recreateNotebookWorkspaceAsync(): Promise<void> {
|
private async recreateNotebookWorkspaceAsync(): Promise<void> {
|
||||||
const explorer = window.dataExplorer;
|
const explorer = window.dataExplorer;
|
||||||
if (!explorer || !explorer.databaseAccount() || !explorer.databaseAccount().id) {
|
const { databaseAccount } = userContext;
|
||||||
|
if (!databaseAccount?.id) {
|
||||||
throw new Error("DataExplorer not initialized");
|
throw new Error("DataExplorer not initialized");
|
||||||
}
|
}
|
||||||
|
|
||||||
const notebookWorkspaceManager = explorer.notebookWorkspaceManager;
|
const notebookWorkspaceManager = explorer.notebookWorkspaceManager;
|
||||||
try {
|
try {
|
||||||
await notebookWorkspaceManager.deleteNotebookWorkspaceAsync(explorer.databaseAccount().id, "default");
|
await notebookWorkspaceManager.deleteNotebookWorkspaceAsync(databaseAccount?.id, "default");
|
||||||
await notebookWorkspaceManager.createNotebookWorkspaceAsync(explorer.databaseAccount().id, "default");
|
await notebookWorkspaceManager.createNotebookWorkspaceAsync(databaseAccount?.id, "default");
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
Logger.logError(getErrorMessage(error), "NotebookContainerClient/recreateNotebookWorkspaceAsync");
|
Logger.logError(getErrorMessage(error), "NotebookContainerClient/recreateNotebookWorkspaceAsync");
|
||||||
return Promise.reject(error);
|
return Promise.reject(error);
|
||||||
|
|
|
@ -17,6 +17,7 @@ import { GitHubOAuthService } from "../../GitHub/GitHubOAuthService";
|
||||||
import { JunoClient } from "../../Juno/JunoClient";
|
import { JunoClient } from "../../Juno/JunoClient";
|
||||||
import { Action, ActionModifiers } from "../../Shared/Telemetry/TelemetryConstants";
|
import { Action, ActionModifiers } from "../../Shared/Telemetry/TelemetryConstants";
|
||||||
import * as TelemetryProcessor from "../../Shared/Telemetry/TelemetryProcessor";
|
import * as TelemetryProcessor from "../../Shared/Telemetry/TelemetryProcessor";
|
||||||
|
import { userContext } from "../../UserContext";
|
||||||
import { getFullName } from "../../Utils/UserUtils";
|
import { getFullName } from "../../Utils/UserUtils";
|
||||||
import Explorer from "../Explorer";
|
import Explorer from "../Explorer";
|
||||||
import { ContextualPaneBase } from "../Panes/ContextualPaneBase";
|
import { ContextualPaneBase } from "../Panes/ContextualPaneBase";
|
||||||
|
@ -56,7 +57,7 @@ export default class NotebookManager {
|
||||||
|
|
||||||
public initialize(params: NotebookManagerOptions): void {
|
public initialize(params: NotebookManagerOptions): void {
|
||||||
this.params = params;
|
this.params = params;
|
||||||
this.junoClient = new JunoClient(this.params.container.databaseAccount);
|
this.junoClient = new JunoClient();
|
||||||
|
|
||||||
this.gitHubOAuthService = new GitHubOAuthService(this.junoClient);
|
this.gitHubOAuthService = new GitHubOAuthService(this.junoClient);
|
||||||
this.gitHubClient = new GitHubClient(this.onGitHubClientError);
|
this.gitHubClient = new GitHubClient(this.onGitHubClientError);
|
||||||
|
@ -73,7 +74,7 @@ export default class NotebookManager {
|
||||||
|
|
||||||
this.notebookClient = new NotebookContainerClient(
|
this.notebookClient = new NotebookContainerClient(
|
||||||
this.params.container.notebookServerInfo,
|
this.params.container.notebookServerInfo,
|
||||||
() => this.params.container.initNotebooks(this.params.container.databaseAccount()),
|
() => this.params.container.initNotebooks(userContext?.databaseAccount),
|
||||||
(update: MemoryUsageInfo) => this.params.container.memoryUsageInfo(update)
|
(update: MemoryUsageInfo) => this.params.container.memoryUsageInfo(update)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -4,43 +4,38 @@ import { updateUserContext } from "../../UserContext";
|
||||||
import Explorer from "../Explorer";
|
import Explorer from "../Explorer";
|
||||||
import AddCollectionPane from "./AddCollectionPane";
|
import AddCollectionPane from "./AddCollectionPane";
|
||||||
|
|
||||||
|
const mockDatabaseAccount: DatabaseAccount = {
|
||||||
|
id: "mock",
|
||||||
|
kind: "DocumentDB",
|
||||||
|
location: "",
|
||||||
|
name: "mock",
|
||||||
|
properties: {
|
||||||
|
documentEndpoint: "",
|
||||||
|
cassandraEndpoint: "",
|
||||||
|
gremlinEndpoint: "",
|
||||||
|
tableEndpoint: "",
|
||||||
|
enableFreeTier: false,
|
||||||
|
},
|
||||||
|
type: undefined,
|
||||||
|
};
|
||||||
|
|
||||||
|
const mockFreeTierDatabaseAccount: DatabaseAccount = {
|
||||||
|
id: "mock",
|
||||||
|
kind: "DocumentDB",
|
||||||
|
location: "",
|
||||||
|
name: "mock",
|
||||||
|
properties: {
|
||||||
|
documentEndpoint: "",
|
||||||
|
cassandraEndpoint: "",
|
||||||
|
gremlinEndpoint: "",
|
||||||
|
tableEndpoint: "",
|
||||||
|
enableFreeTier: true,
|
||||||
|
},
|
||||||
|
type: undefined,
|
||||||
|
};
|
||||||
|
|
||||||
describe("Add Collection Pane", () => {
|
describe("Add Collection Pane", () => {
|
||||||
describe("isValid()", () => {
|
describe("isValid()", () => {
|
||||||
let explorer: Explorer;
|
|
||||||
const mockDatabaseAccount: DatabaseAccount = {
|
|
||||||
id: "mock",
|
|
||||||
kind: "DocumentDB",
|
|
||||||
location: "",
|
|
||||||
name: "mock",
|
|
||||||
properties: {
|
|
||||||
documentEndpoint: "",
|
|
||||||
cassandraEndpoint: "",
|
|
||||||
gremlinEndpoint: "",
|
|
||||||
tableEndpoint: "",
|
|
||||||
enableFreeTier: false,
|
|
||||||
},
|
|
||||||
type: undefined,
|
|
||||||
};
|
|
||||||
|
|
||||||
const mockFreeTierDatabaseAccount: DatabaseAccount = {
|
|
||||||
id: "mock",
|
|
||||||
kind: "DocumentDB",
|
|
||||||
location: "",
|
|
||||||
name: "mock",
|
|
||||||
properties: {
|
|
||||||
documentEndpoint: "",
|
|
||||||
cassandraEndpoint: "",
|
|
||||||
gremlinEndpoint: "",
|
|
||||||
tableEndpoint: "",
|
|
||||||
enableFreeTier: true,
|
|
||||||
},
|
|
||||||
type: undefined,
|
|
||||||
};
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
explorer = new Explorer();
|
|
||||||
});
|
|
||||||
|
|
||||||
it("should be true if graph API and partition key is not /id nor /label", () => {
|
it("should be true if graph API and partition key is not /id nor /label", () => {
|
||||||
updateUserContext({
|
updateUserContext({
|
||||||
databaseAccount: {
|
databaseAccount: {
|
||||||
|
@ -49,6 +44,7 @@ describe("Add Collection Pane", () => {
|
||||||
},
|
},
|
||||||
} as DatabaseAccount,
|
} as DatabaseAccount,
|
||||||
});
|
});
|
||||||
|
const explorer = new Explorer();
|
||||||
const addCollectionPane = explorer.addCollectionPane as AddCollectionPane;
|
const addCollectionPane = explorer.addCollectionPane as AddCollectionPane;
|
||||||
addCollectionPane.partitionKey("/blah");
|
addCollectionPane.partitionKey("/blah");
|
||||||
expect(addCollectionPane.isValid()).toBe(true);
|
expect(addCollectionPane.isValid()).toBe(true);
|
||||||
|
@ -62,6 +58,7 @@ describe("Add Collection Pane", () => {
|
||||||
},
|
},
|
||||||
} as DatabaseAccount,
|
} as DatabaseAccount,
|
||||||
});
|
});
|
||||||
|
const explorer = new Explorer();
|
||||||
const addCollectionPane = explorer.addCollectionPane as AddCollectionPane;
|
const addCollectionPane = explorer.addCollectionPane as AddCollectionPane;
|
||||||
addCollectionPane.partitionKey("/id");
|
addCollectionPane.partitionKey("/id");
|
||||||
expect(addCollectionPane.isValid()).toBe(false);
|
expect(addCollectionPane.isValid()).toBe(false);
|
||||||
|
@ -78,6 +75,7 @@ describe("Add Collection Pane", () => {
|
||||||
},
|
},
|
||||||
} as DatabaseAccount,
|
} as DatabaseAccount,
|
||||||
});
|
});
|
||||||
|
const explorer = new Explorer();
|
||||||
const addCollectionPane = explorer.addCollectionPane as AddCollectionPane;
|
const addCollectionPane = explorer.addCollectionPane as AddCollectionPane;
|
||||||
|
|
||||||
addCollectionPane.partitionKey("/id");
|
addCollectionPane.partitionKey("/id");
|
||||||
|
@ -88,7 +86,8 @@ describe("Add Collection Pane", () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should display free tier text in upsell messaging", () => {
|
it("should display free tier text in upsell messaging", () => {
|
||||||
explorer.databaseAccount(mockFreeTierDatabaseAccount);
|
updateUserContext({ databaseAccount: mockFreeTierDatabaseAccount });
|
||||||
|
const explorer = new Explorer();
|
||||||
const addCollectionPane = explorer.addCollectionPane as AddCollectionPane;
|
const addCollectionPane = explorer.addCollectionPane as AddCollectionPane;
|
||||||
expect(addCollectionPane.isFreeTierAccount()).toBe(true);
|
expect(addCollectionPane.isFreeTierAccount()).toBe(true);
|
||||||
expect(addCollectionPane.upsellMessage()).toContain("With free tier");
|
expect(addCollectionPane.upsellMessage()).toContain("With free tier");
|
||||||
|
@ -97,7 +96,8 @@ describe("Add Collection Pane", () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should display standard texr in upsell messaging", () => {
|
it("should display standard texr in upsell messaging", () => {
|
||||||
explorer.databaseAccount(mockDatabaseAccount);
|
updateUserContext({ databaseAccount: mockDatabaseAccount });
|
||||||
|
const explorer = new Explorer();
|
||||||
const addCollectionPane = explorer.addCollectionPane as AddCollectionPane;
|
const addCollectionPane = explorer.addCollectionPane as AddCollectionPane;
|
||||||
expect(addCollectionPane.isFreeTierAccount()).toBe(false);
|
expect(addCollectionPane.isFreeTierAccount()).toBe(false);
|
||||||
expect(addCollectionPane.upsellMessage()).toContain("Start at");
|
expect(addCollectionPane.upsellMessage()).toContain("Start at");
|
||||||
|
|
|
@ -108,6 +108,8 @@ export default class AddCollectionPane extends ContextualPaneBase {
|
||||||
this.collectionWithThroughputInShared = ko.observable<boolean>(false);
|
this.collectionWithThroughputInShared = ko.observable<boolean>(false);
|
||||||
this.databaseIds = ko.observableArray<string>();
|
this.databaseIds = ko.observableArray<string>();
|
||||||
this.uniqueKeys = ko.observableArray<DynamicListItem>();
|
this.uniqueKeys = ko.observableArray<DynamicListItem>();
|
||||||
|
this.isSharedAutoPilotSelected = ko.observable<boolean>();
|
||||||
|
this.isAutoPilotSelected = ko.observable<boolean>();
|
||||||
|
|
||||||
if (this.container) {
|
if (this.container) {
|
||||||
this.container.databases.subscribe((newDatabases: ViewModels.Database[]) => {
|
this.container.databases.subscribe((newDatabases: ViewModels.Database[]) => {
|
||||||
|
@ -177,7 +179,7 @@ export default class AddCollectionPane extends ContextualPaneBase {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
const account = this.container.databaseAccount();
|
const { databaseAccount: account } = userContext;
|
||||||
if (!account) {
|
if (!account) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
@ -235,7 +237,7 @@ export default class AddCollectionPane extends ContextualPaneBase {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
const account = this.container.databaseAccount();
|
const { databaseAccount: account } = userContext;
|
||||||
if (!account) {
|
if (!account) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
@ -523,10 +525,7 @@ export default class AddCollectionPane extends ContextualPaneBase {
|
||||||
});
|
});
|
||||||
|
|
||||||
this.isFreeTierAccount = ko.computed<boolean>(() => {
|
this.isFreeTierAccount = ko.computed<boolean>(() => {
|
||||||
const databaseAccount = this.container && this.container.databaseAccount && this.container.databaseAccount();
|
return userContext?.databaseAccount?.properties?.enableFreeTier;
|
||||||
const isFreeTierAccount =
|
|
||||||
databaseAccount && databaseAccount.properties && databaseAccount.properties.enableFreeTier;
|
|
||||||
return isFreeTierAccount;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
this.showUpsellMessage = ko.pureComputed(() => {
|
this.showUpsellMessage = ko.pureComputed(() => {
|
||||||
|
@ -596,9 +595,7 @@ export default class AddCollectionPane extends ContextualPaneBase {
|
||||||
});
|
});
|
||||||
|
|
||||||
this._isSynapseLinkEnabled = ko.computed(() => {
|
this._isSynapseLinkEnabled = ko.computed(() => {
|
||||||
const databaseAccount =
|
const databaseAccount = userContext?.databaseAccount || ({} as DataModels.DatabaseAccount);
|
||||||
(this.container && this.container.databaseAccount && this.container.databaseAccount()) ||
|
|
||||||
({} as DataModels.DatabaseAccount);
|
|
||||||
const properties = databaseAccount.properties || ({} as DataModels.DatabaseAccountExtendedProperties);
|
const properties = databaseAccount.properties || ({} as DataModels.DatabaseAccountExtendedProperties);
|
||||||
|
|
||||||
// TODO: remove check for capability once all accounts have been migrated
|
// TODO: remove check for capability once all accounts have been migrated
|
||||||
|
@ -641,7 +638,7 @@ export default class AddCollectionPane extends ContextualPaneBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public getSharedThroughputDefault(): boolean {
|
public getSharedThroughputDefault(): boolean {
|
||||||
const subscriptionType = userContext.subscriptionType;
|
const { subscriptionType } = userContext;
|
||||||
if (subscriptionType === SubscriptionType.EA || this.container.isServerlessEnabled()) {
|
if (subscriptionType === SubscriptionType.EA || this.container.isServerlessEnabled()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -809,7 +806,7 @@ export default class AddCollectionPane extends ContextualPaneBase {
|
||||||
let indexingPolicy: DataModels.IndexingPolicy;
|
let indexingPolicy: DataModels.IndexingPolicy;
|
||||||
let createMongoWildcardIndex: boolean;
|
let createMongoWildcardIndex: boolean;
|
||||||
// todo - remove mongo indexing policy ticket # 616274
|
// todo - remove mongo indexing policy ticket # 616274
|
||||||
if (userContext.apiType === "Mongo" && this.container.isEnableMongoCapabilityPresent()) {
|
if (userContext.apiType === "Mongo") {
|
||||||
createMongoWildcardIndex = this.shouldCreateMongoWildcardIndex();
|
createMongoWildcardIndex = this.shouldCreateMongoWildcardIndex();
|
||||||
} else if (this.showIndexingOptionsForSharedThroughput()) {
|
} else if (this.showIndexingOptionsForSharedThroughput()) {
|
||||||
if (this.useIndexingForSharedThroughput()) {
|
if (this.useIndexingForSharedThroughput()) {
|
||||||
|
|
|
@ -525,7 +525,7 @@ export class AddCollectionPanel extends React.Component<AddCollectionPanelProps,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Stack className="panelGroupSpacing" id="collapsibleSectionContent">
|
<Stack className="panelGroupSpacing" id="collapsibleSectionContent">
|
||||||
{this.props.explorer.isEnableMongoCapabilityPresent() && (
|
{userContext.databaseAccount.properties.capabilities.find((c) => c.name === "EnableMongo") && (
|
||||||
<Stack className="panelGroupSpacing">
|
<Stack className="panelGroupSpacing">
|
||||||
<Stack horizontal>
|
<Stack horizontal>
|
||||||
<span className="mandatoryStar">* </span>
|
<span className="mandatoryStar">* </span>
|
||||||
|
@ -841,7 +841,7 @@ export class AddCollectionPanel extends React.Component<AddCollectionPanelProps,
|
||||||
}
|
}
|
||||||
|
|
||||||
private isSynapseLinkEnabled(): boolean {
|
private isSynapseLinkEnabled(): boolean {
|
||||||
const properties = userContext.databaseAccount?.properties;
|
const { properties } = userContext.databaseAccount;
|
||||||
|
|
||||||
if (!properties) {
|
if (!properties) {
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -5,47 +5,43 @@ import { updateUserContext } from "../../UserContext";
|
||||||
import Explorer from "../Explorer";
|
import Explorer from "../Explorer";
|
||||||
import AddDatabasePane from "./AddDatabasePane";
|
import AddDatabasePane from "./AddDatabasePane";
|
||||||
|
|
||||||
|
const mockDatabaseAccount: DatabaseAccount = {
|
||||||
|
id: "mock",
|
||||||
|
kind: "DocumentDB",
|
||||||
|
location: "",
|
||||||
|
name: "mock",
|
||||||
|
properties: {
|
||||||
|
documentEndpoint: "",
|
||||||
|
cassandraEndpoint: "",
|
||||||
|
gremlinEndpoint: "",
|
||||||
|
tableEndpoint: "",
|
||||||
|
enableFreeTier: false,
|
||||||
|
},
|
||||||
|
type: undefined,
|
||||||
|
};
|
||||||
|
|
||||||
|
const mockFreeTierDatabaseAccount: DatabaseAccount = {
|
||||||
|
id: "mock",
|
||||||
|
kind: "DocumentDB",
|
||||||
|
location: "",
|
||||||
|
name: "mock",
|
||||||
|
properties: {
|
||||||
|
documentEndpoint: "",
|
||||||
|
cassandraEndpoint: "",
|
||||||
|
gremlinEndpoint: "",
|
||||||
|
tableEndpoint: "",
|
||||||
|
enableFreeTier: true,
|
||||||
|
},
|
||||||
|
type: undefined,
|
||||||
|
};
|
||||||
|
|
||||||
describe("Add Database Pane", () => {
|
describe("Add Database Pane", () => {
|
||||||
describe("getSharedThroughputDefault()", () => {
|
describe("getSharedThroughputDefault()", () => {
|
||||||
let explorer: Explorer;
|
|
||||||
const mockDatabaseAccount: DatabaseAccount = {
|
|
||||||
id: "mock",
|
|
||||||
kind: "DocumentDB",
|
|
||||||
location: "",
|
|
||||||
name: "mock",
|
|
||||||
properties: {
|
|
||||||
documentEndpoint: "",
|
|
||||||
cassandraEndpoint: "",
|
|
||||||
gremlinEndpoint: "",
|
|
||||||
tableEndpoint: "",
|
|
||||||
enableFreeTier: false,
|
|
||||||
},
|
|
||||||
type: undefined,
|
|
||||||
};
|
|
||||||
|
|
||||||
const mockFreeTierDatabaseAccount: DatabaseAccount = {
|
|
||||||
id: "mock",
|
|
||||||
kind: "DocumentDB",
|
|
||||||
location: "",
|
|
||||||
name: "mock",
|
|
||||||
properties: {
|
|
||||||
documentEndpoint: "",
|
|
||||||
cassandraEndpoint: "",
|
|
||||||
gremlinEndpoint: "",
|
|
||||||
tableEndpoint: "",
|
|
||||||
enableFreeTier: true,
|
|
||||||
},
|
|
||||||
type: undefined,
|
|
||||||
};
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
explorer = new Explorer();
|
|
||||||
});
|
|
||||||
|
|
||||||
it("should be true if subscription type is Benefits", () => {
|
it("should be true if subscription type is Benefits", () => {
|
||||||
updateUserContext({
|
updateUserContext({
|
||||||
subscriptionType: SubscriptionType.Benefits,
|
subscriptionType: SubscriptionType.Benefits,
|
||||||
});
|
});
|
||||||
|
const explorer = new Explorer();
|
||||||
const addDatabasePane = explorer.addDatabasePane as AddDatabasePane;
|
const addDatabasePane = explorer.addDatabasePane as AddDatabasePane;
|
||||||
expect(addDatabasePane.getSharedThroughputDefault()).toBe(true);
|
expect(addDatabasePane.getSharedThroughputDefault()).toBe(true);
|
||||||
});
|
});
|
||||||
|
@ -54,6 +50,7 @@ describe("Add Database Pane", () => {
|
||||||
updateUserContext({
|
updateUserContext({
|
||||||
subscriptionType: SubscriptionType.EA,
|
subscriptionType: SubscriptionType.EA,
|
||||||
});
|
});
|
||||||
|
const explorer = new Explorer();
|
||||||
const addDatabasePane = explorer.addDatabasePane as AddDatabasePane;
|
const addDatabasePane = explorer.addDatabasePane as AddDatabasePane;
|
||||||
expect(addDatabasePane.getSharedThroughputDefault()).toBe(false);
|
expect(addDatabasePane.getSharedThroughputDefault()).toBe(false);
|
||||||
});
|
});
|
||||||
|
@ -62,6 +59,7 @@ describe("Add Database Pane", () => {
|
||||||
updateUserContext({
|
updateUserContext({
|
||||||
subscriptionType: SubscriptionType.Free,
|
subscriptionType: SubscriptionType.Free,
|
||||||
});
|
});
|
||||||
|
const explorer = new Explorer();
|
||||||
const addDatabasePane = explorer.addDatabasePane as AddDatabasePane;
|
const addDatabasePane = explorer.addDatabasePane as AddDatabasePane;
|
||||||
expect(addDatabasePane.getSharedThroughputDefault()).toBe(true);
|
expect(addDatabasePane.getSharedThroughputDefault()).toBe(true);
|
||||||
});
|
});
|
||||||
|
@ -70,6 +68,7 @@ describe("Add Database Pane", () => {
|
||||||
updateUserContext({
|
updateUserContext({
|
||||||
subscriptionType: SubscriptionType.Internal,
|
subscriptionType: SubscriptionType.Internal,
|
||||||
});
|
});
|
||||||
|
const explorer = new Explorer();
|
||||||
const addDatabasePane = explorer.addDatabasePane as AddDatabasePane;
|
const addDatabasePane = explorer.addDatabasePane as AddDatabasePane;
|
||||||
expect(addDatabasePane.getSharedThroughputDefault()).toBe(true);
|
expect(addDatabasePane.getSharedThroughputDefault()).toBe(true);
|
||||||
});
|
});
|
||||||
|
@ -78,12 +77,14 @@ describe("Add Database Pane", () => {
|
||||||
updateUserContext({
|
updateUserContext({
|
||||||
subscriptionType: SubscriptionType.PAYG,
|
subscriptionType: SubscriptionType.PAYG,
|
||||||
});
|
});
|
||||||
|
const explorer = new Explorer();
|
||||||
const addDatabasePane = explorer.addDatabasePane as AddDatabasePane;
|
const addDatabasePane = explorer.addDatabasePane as AddDatabasePane;
|
||||||
expect(addDatabasePane.getSharedThroughputDefault()).toBe(true);
|
expect(addDatabasePane.getSharedThroughputDefault()).toBe(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should display free tier text in upsell messaging", () => {
|
it("should display free tier text in upsell messaging", () => {
|
||||||
explorer.databaseAccount(mockFreeTierDatabaseAccount);
|
updateUserContext({ databaseAccount: mockFreeTierDatabaseAccount });
|
||||||
|
const explorer = new Explorer();
|
||||||
const addDatabasePane = explorer.addDatabasePane as AddDatabasePane;
|
const addDatabasePane = explorer.addDatabasePane as AddDatabasePane;
|
||||||
expect(addDatabasePane.isFreeTierAccount()).toBe(true);
|
expect(addDatabasePane.isFreeTierAccount()).toBe(true);
|
||||||
expect(addDatabasePane.upsellMessage()).toContain("With free tier");
|
expect(addDatabasePane.upsellMessage()).toContain("With free tier");
|
||||||
|
@ -92,7 +93,8 @@ describe("Add Database Pane", () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should display standard texr in upsell messaging", () => {
|
it("should display standard texr in upsell messaging", () => {
|
||||||
explorer.databaseAccount(mockDatabaseAccount);
|
updateUserContext({ databaseAccount: mockDatabaseAccount });
|
||||||
|
const explorer = new Explorer();
|
||||||
const addDatabasePane = explorer.addDatabasePane as AddDatabasePane;
|
const addDatabasePane = explorer.addDatabasePane as AddDatabasePane;
|
||||||
expect(addDatabasePane.isFreeTierAccount()).toBe(false);
|
expect(addDatabasePane.isFreeTierAccount()).toBe(false);
|
||||||
expect(addDatabasePane.upsellMessage()).toContain("Start at");
|
expect(addDatabasePane.upsellMessage()).toContain("Start at");
|
||||||
|
|
|
@ -112,18 +112,13 @@ export default class AddDatabasePane extends ContextualPaneBase {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
const account = this.container.databaseAccount();
|
const { databaseAccount: account } = userContext;
|
||||||
if (!account) {
|
if (!account) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
const regions =
|
const regions = account?.properties?.readLocations?.length || 1;
|
||||||
(account &&
|
const multimaster = account?.properties?.enableMultipleWriteLocations || false;
|
||||||
account.properties &&
|
|
||||||
account.properties.readLocations &&
|
|
||||||
account.properties.readLocations.length) ||
|
|
||||||
1;
|
|
||||||
const multimaster = (account && account.properties && account.properties.enableMultipleWriteLocations) || false;
|
|
||||||
|
|
||||||
let estimatedSpendAcknowledge: string;
|
let estimatedSpendAcknowledge: string;
|
||||||
let estimatedSpend: string;
|
let estimatedSpend: string;
|
||||||
|
@ -175,10 +170,7 @@ export default class AddDatabasePane extends ContextualPaneBase {
|
||||||
});
|
});
|
||||||
|
|
||||||
this.isFreeTierAccount = ko.computed<boolean>(() => {
|
this.isFreeTierAccount = ko.computed<boolean>(() => {
|
||||||
const databaseAccount = this.container && this.container.databaseAccount && this.container.databaseAccount();
|
return userContext?.databaseAccount?.properties?.enableFreeTier;
|
||||||
const isFreeTierAccount =
|
|
||||||
databaseAccount && databaseAccount.properties && databaseAccount.properties.enableFreeTier;
|
|
||||||
return isFreeTierAccount;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
this.showUpsellMessage = ko.pureComputed(() => {
|
this.showUpsellMessage = ko.pureComputed(() => {
|
||||||
|
@ -336,7 +328,7 @@ export default class AddDatabasePane extends ContextualPaneBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public getSharedThroughputDefault(): boolean {
|
public getSharedThroughputDefault(): boolean {
|
||||||
const subscriptionType = userContext.subscriptionType;
|
const { subscriptionType } = userContext;
|
||||||
|
|
||||||
if (subscriptionType === SubscriptionType.EA || this.container.isServerlessEnabled()) {
|
if (subscriptionType === SubscriptionType.EA || this.container.isServerlessEnabled()) {
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -78,10 +78,7 @@ export default class CassandraAddCollectionPane extends ContextualPaneBase {
|
||||||
this.canExceedMaximumValue = ko.pureComputed(() => this.container.canExceedMaximumValue());
|
this.canExceedMaximumValue = ko.pureComputed(() => this.container.canExceedMaximumValue());
|
||||||
|
|
||||||
this.isFreeTierAccount = ko.computed<boolean>(() => {
|
this.isFreeTierAccount = ko.computed<boolean>(() => {
|
||||||
const databaseAccount = this.container && this.container.databaseAccount && this.container.databaseAccount();
|
return userContext?.databaseAccount?.properties?.enableFreeTier;
|
||||||
const isFreeTierAccount =
|
|
||||||
databaseAccount && databaseAccount.properties && databaseAccount.properties.enableFreeTier;
|
|
||||||
return isFreeTierAccount;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
this.tableId = ko.observable<string>("");
|
this.tableId = ko.observable<string>("");
|
||||||
|
@ -116,7 +113,7 @@ export default class CassandraAddCollectionPane extends ContextualPaneBase {
|
||||||
this.resetData();
|
this.resetData();
|
||||||
|
|
||||||
this.requestUnitsUsageCostDedicated = ko.computed(() => {
|
this.requestUnitsUsageCostDedicated = ko.computed(() => {
|
||||||
const account = this.container.databaseAccount();
|
const { databaseAccount: account } = userContext;
|
||||||
if (!account) {
|
if (!account) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
@ -165,18 +162,13 @@ export default class CassandraAddCollectionPane extends ContextualPaneBase {
|
||||||
});
|
});
|
||||||
|
|
||||||
this.requestUnitsUsageCostShared = ko.computed(() => {
|
this.requestUnitsUsageCostShared = ko.computed(() => {
|
||||||
const account = this.container.databaseAccount();
|
const { databaseAccount: account } = userContext;
|
||||||
if (!account) {
|
if (!account) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
const regions =
|
const regions = account?.properties?.readLocations?.length || 1;
|
||||||
(account &&
|
const multimaster = account?.properties?.enableMultipleWriteLocations || false;
|
||||||
account.properties &&
|
|
||||||
account.properties.readLocations &&
|
|
||||||
account.properties.readLocations.length) ||
|
|
||||||
1;
|
|
||||||
const multimaster = (account && account.properties && account.properties.enableMultipleWriteLocations) || false;
|
|
||||||
let estimatedSpend: string;
|
let estimatedSpend: string;
|
||||||
let estimatedSharedSpendAcknowledge: string;
|
let estimatedSharedSpendAcknowledge: string;
|
||||||
if (!this.isSharedAutoPilotSelected()) {
|
if (!this.isSharedAutoPilotSelected()) {
|
||||||
|
@ -365,18 +357,19 @@ export default class CassandraAddCollectionPane extends ContextualPaneBase {
|
||||||
createTableQuery: createTableQuery,
|
createTableQuery: createTableQuery,
|
||||||
};
|
};
|
||||||
const startKey: number = TelemetryProcessor.traceStart(Action.CreateCollection, addCollectionPaneStartMessage);
|
const startKey: number = TelemetryProcessor.traceStart(Action.CreateCollection, addCollectionPaneStartMessage);
|
||||||
|
const { databaseAccount } = userContext;
|
||||||
if (toCreateKeyspace) {
|
if (toCreateKeyspace) {
|
||||||
createTableAndKeyspacePromise = (<CassandraAPIDataClient>this.container.tableDataClient).createTableAndKeyspace(
|
createTableAndKeyspacePromise = (<CassandraAPIDataClient>this.container.tableDataClient).createTableAndKeyspace(
|
||||||
this.container.databaseAccount().properties.cassandraEndpoint,
|
databaseAccount?.properties.cassandraEndpoint,
|
||||||
this.container.databaseAccount().id,
|
databaseAccount?.id,
|
||||||
this.container,
|
this.container,
|
||||||
createTableQuery,
|
createTableQuery,
|
||||||
createKeyspaceQuery
|
createKeyspaceQuery
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
createTableAndKeyspacePromise = (<CassandraAPIDataClient>this.container.tableDataClient).createTableAndKeyspace(
|
createTableAndKeyspacePromise = (<CassandraAPIDataClient>this.container.tableDataClient).createTableAndKeyspace(
|
||||||
this.container.databaseAccount().properties.cassandraEndpoint,
|
databaseAccount?.properties.cassandraEndpoint,
|
||||||
this.container.databaseAccount().id,
|
databaseAccount?.id,
|
||||||
this.container,
|
this.container,
|
||||||
createTableQuery
|
createTableQuery
|
||||||
);
|
);
|
||||||
|
|
|
@ -1071,7 +1071,7 @@ exports[`Delete Collection Confirmation Pane submit() should call delete collect
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
aria-label="Close pane"
|
aria-label="Close pane"
|
||||||
className="ms-Button ms-Button--icon closePaneBtn root-140"
|
className="ms-Button ms-Button--icon closePaneBtn root-172"
|
||||||
data-is-focusable={true}
|
data-is-focusable={true}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
onKeyDown={[Function]}
|
onKeyDown={[Function]}
|
||||||
|
@ -1084,16 +1084,16 @@ exports[`Delete Collection Confirmation Pane submit() should call delete collect
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-flexContainer flexContainer-141"
|
className="ms-Button-flexContainer flexContainer-173"
|
||||||
data-automationid="splitbuttonprimary"
|
data-automationid="splitbuttonprimary"
|
||||||
>
|
>
|
||||||
<Component
|
<Component
|
||||||
className="ms-Button-icon icon-143"
|
className="ms-Button-icon icon-175"
|
||||||
iconName="Cancel"
|
iconName="Cancel"
|
||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
aria-hidden={true}
|
aria-hidden={true}
|
||||||
className="ms-Icon root-37 css-148 ms-Button-icon icon-143"
|
className="ms-Icon root-37 css-180 ms-Button-icon icon-175"
|
||||||
data-icon-name="Cancel"
|
data-icon-name="Cancel"
|
||||||
role="presentation"
|
role="presentation"
|
||||||
style={
|
style={
|
||||||
|
@ -1163,7 +1163,7 @@ exports[`Delete Collection Confirmation Pane submit() should call delete collect
|
||||||
variant="small"
|
variant="small"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="css-149"
|
className="css-181"
|
||||||
>
|
>
|
||||||
Confirm by typing the
|
Confirm by typing the
|
||||||
container
|
container
|
||||||
|
@ -1468,18 +1468,18 @@ exports[`Delete Collection Confirmation Pane submit() should call delete collect
|
||||||
value=""
|
value=""
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField root-151"
|
className="ms-TextField root-183"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField-wrapper"
|
className="ms-TextField-wrapper"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField-fieldGroup fieldGroup-152"
|
className="ms-TextField-fieldGroup fieldGroup-184"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
aria-invalid={false}
|
aria-invalid={false}
|
||||||
autoFocus={true}
|
autoFocus={true}
|
||||||
className="ms-TextField-field field-153"
|
className="ms-TextField-field field-185"
|
||||||
id="confirmCollectionId"
|
id="confirmCollectionId"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
|
@ -1502,7 +1502,7 @@ exports[`Delete Collection Confirmation Pane submit() should call delete collect
|
||||||
variant="small"
|
variant="small"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="css-162"
|
className="css-194"
|
||||||
>
|
>
|
||||||
Help us improve Azure Cosmos DB!
|
Help us improve Azure Cosmos DB!
|
||||||
</span>
|
</span>
|
||||||
|
@ -1512,7 +1512,7 @@ exports[`Delete Collection Confirmation Pane submit() should call delete collect
|
||||||
variant="small"
|
variant="small"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="css-162"
|
className="css-194"
|
||||||
>
|
>
|
||||||
What is the reason why you are deleting this
|
What is the reason why you are deleting this
|
||||||
container
|
container
|
||||||
|
@ -1819,17 +1819,17 @@ exports[`Delete Collection Confirmation Pane submit() should call delete collect
|
||||||
value=""
|
value=""
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField ms-TextField--multiline root-151"
|
className="ms-TextField ms-TextField--multiline root-183"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField-wrapper"
|
className="ms-TextField-wrapper"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField-fieldGroup fieldGroup-163"
|
className="ms-TextField-fieldGroup fieldGroup-195"
|
||||||
>
|
>
|
||||||
<textarea
|
<textarea
|
||||||
aria-invalid={false}
|
aria-invalid={false}
|
||||||
className="ms-TextField-field field-164"
|
className="ms-TextField-field field-196"
|
||||||
id="deleteCollectionFeedbackInput"
|
id="deleteCollectionFeedbackInput"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
|
@ -3563,7 +3563,7 @@ exports[`Delete Collection Confirmation Pane submit() should call delete collect
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
aria-label="Submit"
|
aria-label="Submit"
|
||||||
className="ms-Button ms-Button--primary genericPaneSubmitBtn root-166"
|
className="ms-Button ms-Button--primary genericPaneSubmitBtn root-198"
|
||||||
data-is-focusable={true}
|
data-is-focusable={true}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
onKeyDown={[Function]}
|
onKeyDown={[Function]}
|
||||||
|
@ -3581,14 +3581,14 @@ exports[`Delete Collection Confirmation Pane submit() should call delete collect
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-flexContainer flexContainer-141"
|
className="ms-Button-flexContainer flexContainer-173"
|
||||||
data-automationid="splitbuttonprimary"
|
data-automationid="splitbuttonprimary"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-textContainer textContainer-142"
|
className="ms-Button-textContainer textContainer-174"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-label label-167"
|
className="ms-Button-label label-199"
|
||||||
id="id__9"
|
id="id__9"
|
||||||
key="id__9"
|
key="id__9"
|
||||||
>
|
>
|
||||||
|
|
|
@ -1062,7 +1062,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
aria-label="Close pane"
|
aria-label="Close pane"
|
||||||
className="ms-Button ms-Button--icon closePaneBtn root-40"
|
className="ms-Button ms-Button--icon closePaneBtn root-72"
|
||||||
data-is-focusable={true}
|
data-is-focusable={true}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
onKeyDown={[Function]}
|
onKeyDown={[Function]}
|
||||||
|
@ -1075,16 +1075,16 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-flexContainer flexContainer-41"
|
className="ms-Button-flexContainer flexContainer-73"
|
||||||
data-automationid="splitbuttonprimary"
|
data-automationid="splitbuttonprimary"
|
||||||
>
|
>
|
||||||
<Component
|
<Component
|
||||||
className="ms-Button-icon icon-43"
|
className="ms-Button-icon icon-75"
|
||||||
iconName="Cancel"
|
iconName="Cancel"
|
||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
aria-hidden={true}
|
aria-hidden={true}
|
||||||
className="ms-Icon root-37 css-48 ms-Button-icon icon-43"
|
className="ms-Icon root-37 css-80 ms-Button-icon icon-75"
|
||||||
data-icon-name="Cancel"
|
data-icon-name="Cancel"
|
||||||
role="presentation"
|
role="presentation"
|
||||||
style={
|
style={
|
||||||
|
@ -1429,7 +1429,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<label
|
<label
|
||||||
className="ms-Label root-49"
|
className="ms-Label root-81"
|
||||||
>
|
>
|
||||||
Partition key value
|
Partition key value
|
||||||
</label>
|
</label>
|
||||||
|
@ -1439,7 +1439,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
horizontal={true}
|
horizontal={true}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Stack css-50"
|
className="ms-Stack css-82"
|
||||||
>
|
>
|
||||||
<StyledWithResponsiveMode
|
<StyledWithResponsiveMode
|
||||||
key=".0:$.0"
|
key=".0:$.0"
|
||||||
|
@ -2336,7 +2336,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<label
|
<label
|
||||||
className="ms-Label ms-Dropdown-label root-67"
|
className="ms-Label ms-Dropdown-label root-99"
|
||||||
id="Dropdown3-label"
|
id="Dropdown3-label"
|
||||||
>
|
>
|
||||||
Key
|
Key
|
||||||
|
@ -2348,7 +2348,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
aria-expanded="false"
|
aria-expanded="false"
|
||||||
aria-haspopup="listbox"
|
aria-haspopup="listbox"
|
||||||
aria-labelledby="Dropdown3-label Dropdown3-option"
|
aria-labelledby="Dropdown3-label Dropdown3-option"
|
||||||
className="ms-Dropdown dropdown-51"
|
className="ms-Dropdown dropdown-83"
|
||||||
data-is-focusable={true}
|
data-is-focusable={true}
|
||||||
id="Dropdown3"
|
id="Dropdown3"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
|
@ -2368,23 +2368,23 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
aria-posinset={1}
|
aria-posinset={1}
|
||||||
aria-selected={true}
|
aria-selected={true}
|
||||||
aria-setsize={2}
|
aria-setsize={2}
|
||||||
className="ms-Dropdown-title title-52"
|
className="ms-Dropdown-title title-84"
|
||||||
id="Dropdown3-option"
|
id="Dropdown3-option"
|
||||||
role="option"
|
role="option"
|
||||||
>
|
>
|
||||||
String
|
String
|
||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
className="ms-Dropdown-caretDownWrapper caretDownWrapper-53"
|
className="ms-Dropdown-caretDownWrapper caretDownWrapper-85"
|
||||||
>
|
>
|
||||||
<StyledIconBase
|
<StyledIconBase
|
||||||
aria-hidden={true}
|
aria-hidden={true}
|
||||||
className="ms-Dropdown-caretDown caretDown-54"
|
className="ms-Dropdown-caretDown caretDown-86"
|
||||||
iconName="ChevronDown"
|
iconName="ChevronDown"
|
||||||
>
|
>
|
||||||
<IconBase
|
<IconBase
|
||||||
aria-hidden={true}
|
aria-hidden={true}
|
||||||
className="ms-Dropdown-caretDown caretDown-54"
|
className="ms-Dropdown-caretDown caretDown-86"
|
||||||
iconName="ChevronDown"
|
iconName="ChevronDown"
|
||||||
styles={[Function]}
|
styles={[Function]}
|
||||||
theme={
|
theme={
|
||||||
|
@ -2663,7 +2663,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
aria-hidden={true}
|
aria-hidden={true}
|
||||||
className="ms-Dropdown-caretDown caretDown-68"
|
className="ms-Dropdown-caretDown caretDown-100"
|
||||||
data-icon-name="ChevronDown"
|
data-icon-name="ChevronDown"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
@ -2969,7 +2969,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
validateOnLoad={true}
|
validateOnLoad={true}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField root-70"
|
className="ms-TextField root-102"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField-wrapper"
|
className="ms-TextField-wrapper"
|
||||||
|
@ -3258,7 +3258,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<label
|
<label
|
||||||
className="ms-Label root-49"
|
className="ms-Label root-81"
|
||||||
htmlFor="confirmCollectionId"
|
htmlFor="confirmCollectionId"
|
||||||
id="TextFieldLabel6"
|
id="TextFieldLabel6"
|
||||||
>
|
>
|
||||||
|
@ -3267,13 +3267,13 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
</LabelBase>
|
</LabelBase>
|
||||||
</StyledLabelBase>
|
</StyledLabelBase>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField-fieldGroup fieldGroup-71"
|
className="ms-TextField-fieldGroup fieldGroup-103"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
aria-invalid={false}
|
aria-invalid={false}
|
||||||
aria-labelledby="TextFieldLabel6"
|
aria-labelledby="TextFieldLabel6"
|
||||||
autoFocus={true}
|
autoFocus={true}
|
||||||
className="ms-TextField-field field-72"
|
className="ms-TextField-field field-104"
|
||||||
id="confirmCollectionId"
|
id="confirmCollectionId"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
|
@ -3581,7 +3581,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<label
|
<label
|
||||||
className="ms-Label root-49"
|
className="ms-Label root-81"
|
||||||
>
|
>
|
||||||
Enter input parameters (if any)
|
Enter input parameters (if any)
|
||||||
</label>
|
</label>
|
||||||
|
@ -3591,7 +3591,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
horizontal={true}
|
horizontal={true}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Stack css-50"
|
className="ms-Stack css-82"
|
||||||
>
|
>
|
||||||
<StyledWithResponsiveMode
|
<StyledWithResponsiveMode
|
||||||
key=".0:$.0"
|
key=".0:$.0"
|
||||||
|
@ -4488,7 +4488,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<label
|
<label
|
||||||
className="ms-Label ms-Dropdown-label root-67"
|
className="ms-Label ms-Dropdown-label root-99"
|
||||||
id="Dropdown7-label"
|
id="Dropdown7-label"
|
||||||
>
|
>
|
||||||
Key
|
Key
|
||||||
|
@ -4500,7 +4500,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
aria-expanded="false"
|
aria-expanded="false"
|
||||||
aria-haspopup="listbox"
|
aria-haspopup="listbox"
|
||||||
aria-labelledby="Dropdown7-label Dropdown7-option"
|
aria-labelledby="Dropdown7-label Dropdown7-option"
|
||||||
className="ms-Dropdown dropdown-51"
|
className="ms-Dropdown dropdown-83"
|
||||||
data-is-focusable={true}
|
data-is-focusable={true}
|
||||||
id="Dropdown7"
|
id="Dropdown7"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
|
@ -4520,23 +4520,23 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
aria-posinset={1}
|
aria-posinset={1}
|
||||||
aria-selected={true}
|
aria-selected={true}
|
||||||
aria-setsize={2}
|
aria-setsize={2}
|
||||||
className="ms-Dropdown-title title-52"
|
className="ms-Dropdown-title title-84"
|
||||||
id="Dropdown7-option"
|
id="Dropdown7-option"
|
||||||
role="option"
|
role="option"
|
||||||
>
|
>
|
||||||
String
|
String
|
||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
className="ms-Dropdown-caretDownWrapper caretDownWrapper-53"
|
className="ms-Dropdown-caretDownWrapper caretDownWrapper-85"
|
||||||
>
|
>
|
||||||
<StyledIconBase
|
<StyledIconBase
|
||||||
aria-hidden={true}
|
aria-hidden={true}
|
||||||
className="ms-Dropdown-caretDown caretDown-54"
|
className="ms-Dropdown-caretDown caretDown-86"
|
||||||
iconName="ChevronDown"
|
iconName="ChevronDown"
|
||||||
>
|
>
|
||||||
<IconBase
|
<IconBase
|
||||||
aria-hidden={true}
|
aria-hidden={true}
|
||||||
className="ms-Dropdown-caretDown caretDown-54"
|
className="ms-Dropdown-caretDown caretDown-86"
|
||||||
iconName="ChevronDown"
|
iconName="ChevronDown"
|
||||||
styles={[Function]}
|
styles={[Function]}
|
||||||
theme={
|
theme={
|
||||||
|
@ -4815,7 +4815,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
aria-hidden={true}
|
aria-hidden={true}
|
||||||
className="ms-Dropdown-caretDown caretDown-68"
|
className="ms-Dropdown-caretDown caretDown-100"
|
||||||
data-icon-name="ChevronDown"
|
data-icon-name="ChevronDown"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
@ -5123,7 +5123,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
value=""
|
value=""
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField root-70"
|
className="ms-TextField root-102"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField-wrapper"
|
className="ms-TextField-wrapper"
|
||||||
|
@ -5412,7 +5412,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<label
|
<label
|
||||||
className="ms-Label root-49"
|
className="ms-Label root-81"
|
||||||
htmlFor="confirmCollectionId"
|
htmlFor="confirmCollectionId"
|
||||||
id="TextFieldLabel10"
|
id="TextFieldLabel10"
|
||||||
>
|
>
|
||||||
|
@ -5421,13 +5421,13 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
</LabelBase>
|
</LabelBase>
|
||||||
</StyledLabelBase>
|
</StyledLabelBase>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField-fieldGroup fieldGroup-71"
|
className="ms-TextField-fieldGroup fieldGroup-103"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
aria-invalid={false}
|
aria-invalid={false}
|
||||||
aria-labelledby="TextFieldLabel10"
|
aria-labelledby="TextFieldLabel10"
|
||||||
autoFocus={true}
|
autoFocus={true}
|
||||||
className="ms-TextField-field field-72"
|
className="ms-TextField-field field-104"
|
||||||
id="confirmCollectionId"
|
id="confirmCollectionId"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
|
@ -5735,7 +5735,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
width={20}
|
width={20}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Image addRemoveIconLabel root-81"
|
className="ms-Image addRemoveIconLabel root-113"
|
||||||
style={
|
style={
|
||||||
Object {
|
Object {
|
||||||
"height": 30,
|
"height": 30,
|
||||||
|
@ -5745,7 +5745,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
alt="Delete param"
|
alt="Delete param"
|
||||||
className="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-82"
|
className="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-114"
|
||||||
id="deleteparam"
|
id="deleteparam"
|
||||||
key="fabricImage"
|
key="fabricImage"
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
|
@ -6050,7 +6050,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
width={20}
|
width={20}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Image addRemoveIconLabel root-81"
|
className="ms-Image addRemoveIconLabel root-113"
|
||||||
style={
|
style={
|
||||||
Object {
|
Object {
|
||||||
"height": 30,
|
"height": 30,
|
||||||
|
@ -6060,7 +6060,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
alt="Add param"
|
alt="Add param"
|
||||||
className="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-82"
|
className="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-114"
|
||||||
id="addparam"
|
id="addparam"
|
||||||
key="fabricImage"
|
key="fabricImage"
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
|
@ -6079,7 +6079,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Stack css-50"
|
className="ms-Stack css-82"
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
>
|
>
|
||||||
<StyledImageBase
|
<StyledImageBase
|
||||||
|
@ -6371,7 +6371,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
width={20}
|
width={20}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Image root-81"
|
className="ms-Image root-113"
|
||||||
style={
|
style={
|
||||||
Object {
|
Object {
|
||||||
"height": 30,
|
"height": 30,
|
||||||
|
@ -6381,7 +6381,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
alt="Add param"
|
alt="Add param"
|
||||||
className="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-82"
|
className="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-114"
|
||||||
key="fabricImage"
|
key="fabricImage"
|
||||||
onError={[Function]}
|
onError={[Function]}
|
||||||
onLoad={[Function]}
|
onLoad={[Function]}
|
||||||
|
@ -6395,7 +6395,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
key=".0:$.1"
|
key=".0:$.1"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="addNewParamStyle css-83"
|
className="addNewParamStyle css-115"
|
||||||
>
|
>
|
||||||
Add New Param
|
Add New Param
|
||||||
</span>
|
</span>
|
||||||
|
@ -8121,7 +8121,7 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
aria-label="Submit"
|
aria-label="Submit"
|
||||||
className="ms-Button ms-Button--primary genericPaneSubmitBtn root-84"
|
className="ms-Button ms-Button--primary genericPaneSubmitBtn root-116"
|
||||||
data-is-focusable={true}
|
data-is-focusable={true}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
onKeyDown={[Function]}
|
onKeyDown={[Function]}
|
||||||
|
@ -8139,14 +8139,14 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-flexContainer flexContainer-41"
|
className="ms-Button-flexContainer flexContainer-73"
|
||||||
data-automationid="splitbuttonprimary"
|
data-automationid="splitbuttonprimary"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-textContainer textContainer-42"
|
className="ms-Button-textContainer textContainer-74"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-label label-85"
|
className="ms-Button-label label-117"
|
||||||
id="id__11"
|
id="id__11"
|
||||||
key="id__11"
|
key="id__11"
|
||||||
>
|
>
|
||||||
|
|
|
@ -411,7 +411,6 @@ exports[`GitHub Repos Panel should render Default properly 1`] = `
|
||||||
"parameters": [Function],
|
"parameters": [Function],
|
||||||
"tabsButtons": Array [],
|
"tabsButtons": Array [],
|
||||||
},
|
},
|
||||||
"databaseAccount": [Function],
|
|
||||||
"databases": [Function],
|
"databases": [Function],
|
||||||
"deleteCollectionText": [Function],
|
"deleteCollectionText": [Function],
|
||||||
"deleteDatabaseText": [Function],
|
"deleteDatabaseText": [Function],
|
||||||
|
@ -1205,7 +1204,6 @@ exports[`GitHub Repos Panel should render Default properly 1`] = `
|
||||||
"hasStorageAnalyticsAfecFeature": [Function],
|
"hasStorageAnalyticsAfecFeature": [Function],
|
||||||
"isAccountReady": [Function],
|
"isAccountReady": [Function],
|
||||||
"isAutoscaleDefaultEnabled": [Function],
|
"isAutoscaleDefaultEnabled": [Function],
|
||||||
"isEnableMongoCapabilityPresent": [Function],
|
|
||||||
"isFixedCollectionWithSharedThroughputSupported": [Function],
|
"isFixedCollectionWithSharedThroughputSupported": [Function],
|
||||||
"isHostedDataExplorerEnabled": [Function],
|
"isHostedDataExplorerEnabled": [Function],
|
||||||
"isLeftPaneExpanded": [Function],
|
"isLeftPaneExpanded": [Function],
|
||||||
|
@ -1223,7 +1221,6 @@ exports[`GitHub Repos Panel should render Default properly 1`] = `
|
||||||
"isTabsContentExpanded": [Function],
|
"isTabsContentExpanded": [Function],
|
||||||
"junoClient": JunoClient {
|
"junoClient": JunoClient {
|
||||||
"cachedPinnedRepos": [Function],
|
"cachedPinnedRepos": [Function],
|
||||||
"databaseAccount": undefined,
|
|
||||||
},
|
},
|
||||||
"memoryUsageInfo": [Function],
|
"memoryUsageInfo": [Function],
|
||||||
"notebookBasePath": [Function],
|
"notebookBasePath": [Function],
|
||||||
|
|
|
@ -1704,7 +1704,7 @@ exports[`Setup Notebooks Panel should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
aria-label="Complete setup"
|
aria-label="Complete setup"
|
||||||
className="ms-Button ms-Button--primary btncreatecoll1 btnSetupQueries root-40"
|
className="ms-Button ms-Button--primary btncreatecoll1 btnSetupQueries root-72"
|
||||||
data-is-focusable={true}
|
data-is-focusable={true}
|
||||||
id="completeSetupBtn"
|
id="completeSetupBtn"
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
|
@ -1716,14 +1716,14 @@ exports[`Setup Notebooks Panel should render Default properly 1`] = `
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-flexContainer flexContainer-41"
|
className="ms-Button-flexContainer flexContainer-73"
|
||||||
data-automationid="splitbuttonprimary"
|
data-automationid="splitbuttonprimary"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-textContainer textContainer-42"
|
className="ms-Button-textContainer textContainer-74"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-label label-44"
|
className="ms-Button-label label-76"
|
||||||
id="id__0"
|
id="id__0"
|
||||||
key="id__0"
|
key="id__0"
|
||||||
>
|
>
|
||||||
|
|
|
@ -401,7 +401,6 @@ exports[`StringInput Pane should render Create new directory properly 1`] = `
|
||||||
"parameters": [Function],
|
"parameters": [Function],
|
||||||
"tabsButtons": Array [],
|
"tabsButtons": Array [],
|
||||||
},
|
},
|
||||||
"databaseAccount": [Function],
|
|
||||||
"databases": [Function],
|
"databases": [Function],
|
||||||
"deleteCollectionText": [Function],
|
"deleteCollectionText": [Function],
|
||||||
"deleteDatabaseText": [Function],
|
"deleteDatabaseText": [Function],
|
||||||
|
@ -1195,7 +1194,6 @@ exports[`StringInput Pane should render Create new directory properly 1`] = `
|
||||||
"hasStorageAnalyticsAfecFeature": [Function],
|
"hasStorageAnalyticsAfecFeature": [Function],
|
||||||
"isAccountReady": [Function],
|
"isAccountReady": [Function],
|
||||||
"isAutoscaleDefaultEnabled": [Function],
|
"isAutoscaleDefaultEnabled": [Function],
|
||||||
"isEnableMongoCapabilityPresent": [Function],
|
|
||||||
"isFixedCollectionWithSharedThroughputSupported": [Function],
|
"isFixedCollectionWithSharedThroughputSupported": [Function],
|
||||||
"isHostedDataExplorerEnabled": [Function],
|
"isHostedDataExplorerEnabled": [Function],
|
||||||
"isLeftPaneExpanded": [Function],
|
"isLeftPaneExpanded": [Function],
|
||||||
|
@ -1213,7 +1211,6 @@ exports[`StringInput Pane should render Create new directory properly 1`] = `
|
||||||
"isTabsContentExpanded": [Function],
|
"isTabsContentExpanded": [Function],
|
||||||
"junoClient": JunoClient {
|
"junoClient": JunoClient {
|
||||||
"cachedPinnedRepos": [Function],
|
"cachedPinnedRepos": [Function],
|
||||||
"databaseAccount": undefined,
|
|
||||||
},
|
},
|
||||||
"memoryUsageInfo": [Function],
|
"memoryUsageInfo": [Function],
|
||||||
"notebookBasePath": [Function],
|
"notebookBasePath": [Function],
|
||||||
|
|
|
@ -1066,7 +1066,7 @@ exports[`Table query select Panel should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
aria-label="Close pane"
|
aria-label="Close pane"
|
||||||
className="ms-Button ms-Button--icon closePaneBtn root-40"
|
className="ms-Button ms-Button--icon closePaneBtn root-72"
|
||||||
data-is-focusable={true}
|
data-is-focusable={true}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
onKeyDown={[Function]}
|
onKeyDown={[Function]}
|
||||||
|
@ -1079,16 +1079,16 @@ exports[`Table query select Panel should render Default properly 1`] = `
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-flexContainer flexContainer-41"
|
className="ms-Button-flexContainer flexContainer-73"
|
||||||
data-automationid="splitbuttonprimary"
|
data-automationid="splitbuttonprimary"
|
||||||
>
|
>
|
||||||
<Component
|
<Component
|
||||||
className="ms-Button-icon icon-43"
|
className="ms-Button-icon icon-75"
|
||||||
iconName="Cancel"
|
iconName="Cancel"
|
||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
aria-hidden={true}
|
aria-hidden={true}
|
||||||
className="ms-Icon root-37 css-48 ms-Button-icon icon-43"
|
className="ms-Icon root-37 css-80 ms-Button-icon icon-75"
|
||||||
data-icon-name="Cancel"
|
data-icon-name="Cancel"
|
||||||
role="presentation"
|
role="presentation"
|
||||||
style={
|
style={
|
||||||
|
@ -1148,7 +1148,7 @@ exports[`Table query select Panel should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<Text>
|
<Text>
|
||||||
<span
|
<span
|
||||||
className="css-49"
|
className="css-81"
|
||||||
>
|
>
|
||||||
Select the columns that you want to query.
|
Select the columns that you want to query.
|
||||||
</span>
|
</span>
|
||||||
|
@ -1444,14 +1444,14 @@ exports[`Table query select Panel should render Default properly 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Checkbox is-checked is-enabled root-50"
|
className="ms-Checkbox is-checked is-enabled root-82"
|
||||||
>
|
>
|
||||||
<Component />
|
<Component />
|
||||||
<input
|
<input
|
||||||
aria-checked="true"
|
aria-checked="true"
|
||||||
aria-label="Available Columns"
|
aria-label="Available Columns"
|
||||||
checked={true}
|
checked={true}
|
||||||
className="input-51"
|
className="input-83"
|
||||||
id="availableCheckbox"
|
id="availableCheckbox"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
|
@ -1459,18 +1459,18 @@ exports[`Table query select Panel should render Default properly 1`] = `
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
/>
|
/>
|
||||||
<label
|
<label
|
||||||
className="ms-Checkbox-label label-52"
|
className="ms-Checkbox-label label-84"
|
||||||
htmlFor="availableCheckbox"
|
htmlFor="availableCheckbox"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Checkbox-checkbox checkbox-53"
|
className="ms-Checkbox-checkbox checkbox-85"
|
||||||
>
|
>
|
||||||
<StyledIconBase
|
<StyledIconBase
|
||||||
className="ms-Checkbox-checkmark checkmark-54"
|
className="ms-Checkbox-checkmark checkmark-86"
|
||||||
iconName="CheckMark"
|
iconName="CheckMark"
|
||||||
>
|
>
|
||||||
<IconBase
|
<IconBase
|
||||||
className="ms-Checkbox-checkmark checkmark-54"
|
className="ms-Checkbox-checkmark checkmark-86"
|
||||||
iconName="CheckMark"
|
iconName="CheckMark"
|
||||||
styles={[Function]}
|
styles={[Function]}
|
||||||
theme={
|
theme={
|
||||||
|
@ -1749,7 +1749,7 @@ exports[`Table query select Panel should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
aria-hidden={true}
|
aria-hidden={true}
|
||||||
className="ms-Checkbox-checkmark checkmark-56"
|
className="ms-Checkbox-checkmark checkmark-88"
|
||||||
data-icon-name="CheckMark"
|
data-icon-name="CheckMark"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
@ -1759,7 +1759,7 @@ exports[`Table query select Panel should render Default properly 1`] = `
|
||||||
</div>
|
</div>
|
||||||
<span
|
<span
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
className="ms-Checkbox-text text-55"
|
className="ms-Checkbox-text text-87"
|
||||||
>
|
>
|
||||||
Available Columns
|
Available Columns
|
||||||
</span>
|
</span>
|
||||||
|
@ -2056,7 +2056,7 @@ exports[`Table query select Panel should render Default properly 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Checkbox is-checked is-enabled root-50"
|
className="ms-Checkbox is-checked is-enabled root-82"
|
||||||
>
|
>
|
||||||
<Component />
|
<Component />
|
||||||
<input
|
<input
|
||||||
|
@ -2064,7 +2064,7 @@ exports[`Table query select Panel should render Default properly 1`] = `
|
||||||
aria-disabled={false}
|
aria-disabled={false}
|
||||||
aria-label=""
|
aria-label=""
|
||||||
checked={true}
|
checked={true}
|
||||||
className="input-51"
|
className="input-83"
|
||||||
disabled={false}
|
disabled={false}
|
||||||
id="checkbox-3"
|
id="checkbox-3"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
|
@ -2073,18 +2073,18 @@ exports[`Table query select Panel should render Default properly 1`] = `
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
/>
|
/>
|
||||||
<label
|
<label
|
||||||
className="ms-Checkbox-label label-52"
|
className="ms-Checkbox-label label-84"
|
||||||
htmlFor="checkbox-3"
|
htmlFor="checkbox-3"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Checkbox-checkbox checkbox-53"
|
className="ms-Checkbox-checkbox checkbox-85"
|
||||||
>
|
>
|
||||||
<StyledIconBase
|
<StyledIconBase
|
||||||
className="ms-Checkbox-checkmark checkmark-54"
|
className="ms-Checkbox-checkmark checkmark-86"
|
||||||
iconName="CheckMark"
|
iconName="CheckMark"
|
||||||
>
|
>
|
||||||
<IconBase
|
<IconBase
|
||||||
className="ms-Checkbox-checkmark checkmark-54"
|
className="ms-Checkbox-checkmark checkmark-86"
|
||||||
iconName="CheckMark"
|
iconName="CheckMark"
|
||||||
styles={[Function]}
|
styles={[Function]}
|
||||||
theme={
|
theme={
|
||||||
|
@ -2363,7 +2363,7 @@ exports[`Table query select Panel should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
aria-hidden={true}
|
aria-hidden={true}
|
||||||
className="ms-Checkbox-checkmark checkmark-56"
|
className="ms-Checkbox-checkmark checkmark-88"
|
||||||
data-icon-name="CheckMark"
|
data-icon-name="CheckMark"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
@ -4095,7 +4095,7 @@ exports[`Table query select Panel should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
aria-label="Submit"
|
aria-label="Submit"
|
||||||
className="ms-Button ms-Button--primary genericPaneSubmitBtn root-63"
|
className="ms-Button ms-Button--primary genericPaneSubmitBtn root-95"
|
||||||
data-is-focusable={true}
|
data-is-focusable={true}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
onKeyDown={[Function]}
|
onKeyDown={[Function]}
|
||||||
|
@ -4113,14 +4113,14 @@ exports[`Table query select Panel should render Default properly 1`] = `
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-flexContainer flexContainer-41"
|
className="ms-Button-flexContainer flexContainer-73"
|
||||||
data-automationid="splitbuttonprimary"
|
data-automationid="splitbuttonprimary"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-textContainer textContainer-42"
|
className="ms-Button-textContainer textContainer-74"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-label label-64"
|
className="ms-Button-label label-96"
|
||||||
id="id__4"
|
id="id__4"
|
||||||
key="id__4"
|
key="id__4"
|
||||||
>
|
>
|
||||||
|
|
|
@ -955,11 +955,11 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
<Portal
|
<Portal
|
||||||
containerInfo={
|
containerInfo={
|
||||||
<div
|
<div
|
||||||
class="ms-Layer ms-Layer--fixed root-54"
|
class="ms-Layer ms-Layer--fixed root-86"
|
||||||
data-portal-element="true"
|
data-portal-element="true"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Fabric ms-Layer-content content-56"
|
class="ms-Fabric ms-Layer-content content-88"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-labelledby="Panel0-headerText"
|
aria-labelledby="Panel0-headerText"
|
||||||
|
@ -970,14 +970,14 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-hidden="false"
|
aria-hidden="false"
|
||||||
class="ms-Panel is-open ms-Panel--hasCloseButton ms-Panel--custom root-42"
|
class="ms-Panel is-open ms-Panel--hasCloseButton ms-Panel--custom root-74"
|
||||||
style="height: 736px;"
|
style="height: 736px;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Overlay overlay-58"
|
class="ms-Overlay overlay-90"
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-main main-44"
|
class="ms-Panel-main main-76"
|
||||||
style="width: 700px;"
|
style="width: 700px;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
|
@ -987,18 +987,18 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-commands commands-45"
|
class="ms-Panel-commands commands-77"
|
||||||
data-is-visible="true"
|
data-is-visible="true"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-navigation navigation-46"
|
class="ms-Panel-navigation navigation-78"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-header header-48"
|
class="ms-Panel-header header-80"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-level="1"
|
aria-level="1"
|
||||||
class="ms-Panel-headerText panelHeader headerText-49"
|
class="ms-Panel-headerText panelHeader headerText-81"
|
||||||
id="Panel0-headerText"
|
id="Panel0-headerText"
|
||||||
role="heading"
|
role="heading"
|
||||||
>
|
>
|
||||||
|
@ -1007,19 +1007,19 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
</div>
|
</div>
|
||||||
<button
|
<button
|
||||||
aria-label="Close"
|
aria-label="Close"
|
||||||
class="ms-Button ms-Panel-closeButton ms-PanelAction-close ms-Button--icon root-59"
|
class="ms-Button ms-Panel-closeButton ms-PanelAction-close ms-Button--icon root-91"
|
||||||
data-is-focusable="true"
|
data-is-focusable="true"
|
||||||
data-is-visible="true"
|
data-is-visible="true"
|
||||||
title="Close"
|
title="Close"
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="ms-Button-flexContainer flexContainer-60"
|
class="ms-Button-flexContainer flexContainer-92"
|
||||||
data-automationid="splitbuttonprimary"
|
data-automationid="splitbuttonprimary"
|
||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
class="ms-Icon root-37 css-67 ms-Button-icon icon-62"
|
class="ms-Icon root-37 css-99 ms-Button-icon icon-94"
|
||||||
data-icon-name="Cancel"
|
data-icon-name="Cancel"
|
||||||
role="presentation"
|
role="presentation"
|
||||||
style="font-family: \\"FabricMDL2Icons\\";"
|
style="font-family: \\"FabricMDL2Icons\\";"
|
||||||
|
@ -1031,14 +1031,14 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-contentInner contentInner-47"
|
class="ms-Panel-contentInner contentInner-79"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-scrollableContent scrollableContent-50"
|
class="ms-Panel-scrollableContent scrollableContent-82"
|
||||||
data-is-scrollable="true"
|
data-is-scrollable="true"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-content content-51"
|
class="ms-Panel-content content-83"
|
||||||
>
|
>
|
||||||
<form
|
<form
|
||||||
class="panelFormWrapper"
|
class="panelFormWrapper"
|
||||||
|
@ -1050,20 +1050,20 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
class="panelMainContent"
|
class="panelMainContent"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Stack addButtonEntiy css-68"
|
class="ms-Stack addButtonEntiy css-100"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Image root-69"
|
class="ms-Image root-101"
|
||||||
style="width: 16px; height: 30px;"
|
style="width: 16px; height: 30px;"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
alt="Add Entity"
|
alt="Add Entity"
|
||||||
class="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-70"
|
class="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-102"
|
||||||
src=""
|
src=""
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<span
|
<span
|
||||||
class="addNewParamStyle css-71"
|
class="addNewParamStyle css-103"
|
||||||
>
|
>
|
||||||
Add Property
|
Add Property
|
||||||
</span>
|
</span>
|
||||||
|
@ -1101,7 +1101,7 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<StyledFabricBase
|
<StyledFabricBase
|
||||||
className="ms-Layer-content content-55"
|
className="ms-Layer-content content-87"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
|
@ -1135,7 +1135,7 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
onTouchStart={[Function]}
|
onTouchStart={[Function]}
|
||||||
>
|
>
|
||||||
<FabricBase
|
<FabricBase
|
||||||
className="ms-Layer-content content-55"
|
className="ms-Layer-content content-87"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
|
@ -1443,7 +1443,7 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Fabric ms-Layer-content content-56"
|
className="ms-Fabric ms-Layer-content content-88"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
|
@ -1498,7 +1498,7 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-hidden={false}
|
aria-hidden={false}
|
||||||
className="ms-Panel is-open ms-Panel--hasCloseButton ms-Panel--custom root-42"
|
className="ms-Panel is-open ms-Panel--hasCloseButton ms-Panel--custom root-74"
|
||||||
style={
|
style={
|
||||||
Object {
|
Object {
|
||||||
"height": "736px",
|
"height": "736px",
|
||||||
|
@ -1507,13 +1507,13 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<StyledOverlayBase
|
<StyledOverlayBase
|
||||||
allowTouchBodyScroll={false}
|
allowTouchBodyScroll={false}
|
||||||
className="overlay-43"
|
className="overlay-75"
|
||||||
isDarkThemed={false}
|
isDarkThemed={false}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
>
|
>
|
||||||
<OverlayBase
|
<OverlayBase
|
||||||
allowTouchBodyScroll={false}
|
allowTouchBodyScroll={false}
|
||||||
className="overlay-43"
|
className="overlay-75"
|
||||||
isDarkThemed={false}
|
isDarkThemed={false}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
styles={[Function]}
|
styles={[Function]}
|
||||||
|
@ -1792,13 +1792,13 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Overlay overlay-58"
|
className="ms-Overlay overlay-90"
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
/>
|
/>
|
||||||
</OverlayBase>
|
</OverlayBase>
|
||||||
</StyledOverlayBase>
|
</StyledOverlayBase>
|
||||||
<FocusTrapZone
|
<FocusTrapZone
|
||||||
className="ms-Panel-main main-44"
|
className="ms-Panel-main main-76"
|
||||||
isClickableOutsideFocusTrap={true}
|
isClickableOutsideFocusTrap={true}
|
||||||
style={
|
style={
|
||||||
Object {
|
Object {
|
||||||
|
@ -1807,7 +1807,7 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Panel-main main-44"
|
className="ms-Panel-main main-76"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
onFocus={[Function]}
|
onFocus={[Function]}
|
||||||
onFocusCapture={[Function]}
|
onFocusCapture={[Function]}
|
||||||
|
@ -1830,18 +1830,18 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
className="ms-Panel-commands commands-45"
|
className="ms-Panel-commands commands-77"
|
||||||
data-is-visible={true}
|
data-is-visible={true}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Panel-navigation navigation-46"
|
className="ms-Panel-navigation navigation-78"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Panel-header header-48"
|
className="ms-Panel-header header-80"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-level={1}
|
aria-level={1}
|
||||||
className="ms-Panel-headerText panelHeader headerText-49"
|
className="ms-Panel-headerText panelHeader headerText-81"
|
||||||
id="Panel0-headerText"
|
id="Panel0-headerText"
|
||||||
role="heading"
|
role="heading"
|
||||||
>
|
>
|
||||||
|
@ -2903,7 +2903,7 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
aria-label="Close"
|
aria-label="Close"
|
||||||
className="ms-Button ms-Panel-closeButton ms-PanelAction-close ms-Button--icon root-59"
|
className="ms-Button ms-Panel-closeButton ms-PanelAction-close ms-Button--icon root-91"
|
||||||
data-is-focusable={true}
|
data-is-focusable={true}
|
||||||
data-is-visible={true}
|
data-is-visible={true}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
|
@ -2916,16 +2916,16 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-flexContainer flexContainer-60"
|
className="ms-Button-flexContainer flexContainer-92"
|
||||||
data-automationid="splitbuttonprimary"
|
data-automationid="splitbuttonprimary"
|
||||||
>
|
>
|
||||||
<Component
|
<Component
|
||||||
className="ms-Button-icon icon-62"
|
className="ms-Button-icon icon-94"
|
||||||
iconName="Cancel"
|
iconName="Cancel"
|
||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
aria-hidden={true}
|
aria-hidden={true}
|
||||||
className="ms-Icon root-37 css-67 ms-Button-icon icon-62"
|
className="ms-Icon root-37 css-99 ms-Button-icon icon-94"
|
||||||
data-icon-name="Cancel"
|
data-icon-name="Cancel"
|
||||||
role="presentation"
|
role="presentation"
|
||||||
style={
|
style={
|
||||||
|
@ -2946,14 +2946,14 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className="ms-Panel-contentInner contentInner-47"
|
className="ms-Panel-contentInner contentInner-79"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Panel-scrollableContent scrollableContent-50"
|
className="ms-Panel-scrollableContent scrollableContent-82"
|
||||||
data-is-scrollable={true}
|
data-is-scrollable={true}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Panel-content content-51"
|
className="ms-Panel-content content-83"
|
||||||
>
|
>
|
||||||
<form
|
<form
|
||||||
className="panelFormWrapper"
|
className="panelFormWrapper"
|
||||||
|
@ -2970,7 +2970,7 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Stack addButtonEntiy css-68"
|
className="ms-Stack addButtonEntiy css-100"
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
>
|
>
|
||||||
<StyledImageBase
|
<StyledImageBase
|
||||||
|
@ -3262,7 +3262,7 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
width={16}
|
width={16}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Image root-69"
|
className="ms-Image root-101"
|
||||||
style={
|
style={
|
||||||
Object {
|
Object {
|
||||||
"height": 30,
|
"height": 30,
|
||||||
|
@ -3272,7 +3272,7 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
alt="Add Entity"
|
alt="Add Entity"
|
||||||
className="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-70"
|
className="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-102"
|
||||||
key="fabricImage"
|
key="fabricImage"
|
||||||
onError={[Function]}
|
onError={[Function]}
|
||||||
onLoad={[Function]}
|
onLoad={[Function]}
|
||||||
|
@ -3286,7 +3286,7 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
key=".0:$.1"
|
key=".0:$.1"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="addNewParamStyle css-71"
|
className="addNewParamStyle css-103"
|
||||||
>
|
>
|
||||||
Add Property
|
Add Property
|
||||||
</span>
|
</span>
|
||||||
|
@ -3335,7 +3335,7 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
rootRef={
|
rootRef={
|
||||||
Object {
|
Object {
|
||||||
"current": <div
|
"current": <div
|
||||||
class="ms-Fabric ms-Layer-content content-56"
|
class="ms-Fabric ms-Layer-content content-88"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-labelledby="Panel0-headerText"
|
aria-labelledby="Panel0-headerText"
|
||||||
|
@ -3346,14 +3346,14 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-hidden="false"
|
aria-hidden="false"
|
||||||
class="ms-Panel is-open ms-Panel--hasCloseButton ms-Panel--custom root-42"
|
class="ms-Panel is-open ms-Panel--hasCloseButton ms-Panel--custom root-74"
|
||||||
style="height: 736px;"
|
style="height: 736px;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Overlay overlay-58"
|
class="ms-Overlay overlay-90"
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-main main-44"
|
class="ms-Panel-main main-76"
|
||||||
style="width: 700px;"
|
style="width: 700px;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
|
@ -3363,18 +3363,18 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-commands commands-45"
|
class="ms-Panel-commands commands-77"
|
||||||
data-is-visible="true"
|
data-is-visible="true"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-navigation navigation-46"
|
class="ms-Panel-navigation navigation-78"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-header header-48"
|
class="ms-Panel-header header-80"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-level="1"
|
aria-level="1"
|
||||||
class="ms-Panel-headerText panelHeader headerText-49"
|
class="ms-Panel-headerText panelHeader headerText-81"
|
||||||
id="Panel0-headerText"
|
id="Panel0-headerText"
|
||||||
role="heading"
|
role="heading"
|
||||||
>
|
>
|
||||||
|
@ -3383,19 +3383,19 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
</div>
|
</div>
|
||||||
<button
|
<button
|
||||||
aria-label="Close"
|
aria-label="Close"
|
||||||
class="ms-Button ms-Panel-closeButton ms-PanelAction-close ms-Button--icon root-59"
|
class="ms-Button ms-Panel-closeButton ms-PanelAction-close ms-Button--icon root-91"
|
||||||
data-is-focusable="true"
|
data-is-focusable="true"
|
||||||
data-is-visible="true"
|
data-is-visible="true"
|
||||||
title="Close"
|
title="Close"
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="ms-Button-flexContainer flexContainer-60"
|
class="ms-Button-flexContainer flexContainer-92"
|
||||||
data-automationid="splitbuttonprimary"
|
data-automationid="splitbuttonprimary"
|
||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
class="ms-Icon root-37 css-67 ms-Button-icon icon-62"
|
class="ms-Icon root-37 css-99 ms-Button-icon icon-94"
|
||||||
data-icon-name="Cancel"
|
data-icon-name="Cancel"
|
||||||
role="presentation"
|
role="presentation"
|
||||||
style="font-family: \\"FabricMDL2Icons\\";"
|
style="font-family: \\"FabricMDL2Icons\\";"
|
||||||
|
@ -3407,14 +3407,14 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-contentInner contentInner-47"
|
class="ms-Panel-contentInner contentInner-79"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-scrollableContent scrollableContent-50"
|
class="ms-Panel-scrollableContent scrollableContent-82"
|
||||||
data-is-scrollable="true"
|
data-is-scrollable="true"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-content content-51"
|
class="ms-Panel-content content-83"
|
||||||
>
|
>
|
||||||
<form
|
<form
|
||||||
class="panelFormWrapper"
|
class="panelFormWrapper"
|
||||||
|
@ -3426,20 +3426,20 @@ exports[`Excute Add Table Entity Pane should render Default properly 1`] = `
|
||||||
class="panelMainContent"
|
class="panelMainContent"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Stack addButtonEntiy css-68"
|
class="ms-Stack addButtonEntiy css-100"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Image root-69"
|
class="ms-Image root-101"
|
||||||
style="width: 16px; height: 30px;"
|
style="width: 16px; height: 30px;"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
alt="Add Entity"
|
alt="Add Entity"
|
||||||
class="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-70"
|
class="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-102"
|
||||||
src=""
|
src=""
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<span
|
<span
|
||||||
class="addNewParamStyle css-71"
|
class="addNewParamStyle css-103"
|
||||||
>
|
>
|
||||||
Add Property
|
Add Property
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -956,11 +956,11 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
<Portal
|
<Portal
|
||||||
containerInfo={
|
containerInfo={
|
||||||
<div
|
<div
|
||||||
class="ms-Layer ms-Layer--fixed root-54"
|
class="ms-Layer ms-Layer--fixed root-86"
|
||||||
data-portal-element="true"
|
data-portal-element="true"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Fabric ms-Layer-content content-56"
|
class="ms-Fabric ms-Layer-content content-88"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-labelledby="Panel0-headerText"
|
aria-labelledby="Panel0-headerText"
|
||||||
|
@ -971,14 +971,14 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-hidden="false"
|
aria-hidden="false"
|
||||||
class="ms-Panel is-open ms-Panel--hasCloseButton ms-Panel--custom root-42"
|
class="ms-Panel is-open ms-Panel--hasCloseButton ms-Panel--custom root-74"
|
||||||
style="height: 736px;"
|
style="height: 736px;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Overlay overlay-58"
|
class="ms-Overlay overlay-90"
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-main main-44"
|
class="ms-Panel-main main-76"
|
||||||
style="width: 700px;"
|
style="width: 700px;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
|
@ -988,18 +988,18 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-commands commands-45"
|
class="ms-Panel-commands commands-77"
|
||||||
data-is-visible="true"
|
data-is-visible="true"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-navigation navigation-46"
|
class="ms-Panel-navigation navigation-78"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-header header-48"
|
class="ms-Panel-header header-80"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-level="1"
|
aria-level="1"
|
||||||
class="ms-Panel-headerText panelHeader headerText-49"
|
class="ms-Panel-headerText panelHeader headerText-81"
|
||||||
id="Panel0-headerText"
|
id="Panel0-headerText"
|
||||||
role="heading"
|
role="heading"
|
||||||
>
|
>
|
||||||
|
@ -1008,19 +1008,19 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
</div>
|
</div>
|
||||||
<button
|
<button
|
||||||
aria-label="Close"
|
aria-label="Close"
|
||||||
class="ms-Button ms-Panel-closeButton ms-PanelAction-close ms-Button--icon root-59"
|
class="ms-Button ms-Panel-closeButton ms-PanelAction-close ms-Button--icon root-91"
|
||||||
data-is-focusable="true"
|
data-is-focusable="true"
|
||||||
data-is-visible="true"
|
data-is-visible="true"
|
||||||
title="Close"
|
title="Close"
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="ms-Button-flexContainer flexContainer-60"
|
class="ms-Button-flexContainer flexContainer-92"
|
||||||
data-automationid="splitbuttonprimary"
|
data-automationid="splitbuttonprimary"
|
||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
class="ms-Icon root-37 css-67 ms-Button-icon icon-62"
|
class="ms-Icon root-37 css-99 ms-Button-icon icon-94"
|
||||||
data-icon-name="Cancel"
|
data-icon-name="Cancel"
|
||||||
role="presentation"
|
role="presentation"
|
||||||
style="font-family: \\"FabricMDL2Icons\\";"
|
style="font-family: \\"FabricMDL2Icons\\";"
|
||||||
|
@ -1032,14 +1032,14 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-contentInner contentInner-47"
|
class="ms-Panel-contentInner contentInner-79"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-scrollableContent scrollableContent-50"
|
class="ms-Panel-scrollableContent scrollableContent-82"
|
||||||
data-is-scrollable="true"
|
data-is-scrollable="true"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-content content-51"
|
class="ms-Panel-content content-83"
|
||||||
>
|
>
|
||||||
<form
|
<form
|
||||||
class="panelFormWrapper"
|
class="panelFormWrapper"
|
||||||
|
@ -1051,20 +1051,20 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
class="panelMainContent"
|
class="panelMainContent"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Stack addButtonEntiy css-68"
|
class="ms-Stack addButtonEntiy css-100"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Image root-69"
|
class="ms-Image root-101"
|
||||||
style="width: 16px; height: 30px;"
|
style="width: 16px; height: 30px;"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
alt="Add Entity"
|
alt="Add Entity"
|
||||||
class="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-70"
|
class="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-102"
|
||||||
src=""
|
src=""
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<span
|
<span
|
||||||
class="addNewParamStyle css-71"
|
class="addNewParamStyle css-103"
|
||||||
>
|
>
|
||||||
Add Property
|
Add Property
|
||||||
</span>
|
</span>
|
||||||
|
@ -1102,7 +1102,7 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<StyledFabricBase
|
<StyledFabricBase
|
||||||
className="ms-Layer-content content-55"
|
className="ms-Layer-content content-87"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
|
@ -1136,7 +1136,7 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
onTouchStart={[Function]}
|
onTouchStart={[Function]}
|
||||||
>
|
>
|
||||||
<FabricBase
|
<FabricBase
|
||||||
className="ms-Layer-content content-55"
|
className="ms-Layer-content content-87"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
|
@ -1444,7 +1444,7 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Fabric ms-Layer-content content-56"
|
className="ms-Fabric ms-Layer-content content-88"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
|
@ -1499,7 +1499,7 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-hidden={false}
|
aria-hidden={false}
|
||||||
className="ms-Panel is-open ms-Panel--hasCloseButton ms-Panel--custom root-42"
|
className="ms-Panel is-open ms-Panel--hasCloseButton ms-Panel--custom root-74"
|
||||||
style={
|
style={
|
||||||
Object {
|
Object {
|
||||||
"height": "736px",
|
"height": "736px",
|
||||||
|
@ -1508,13 +1508,13 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<StyledOverlayBase
|
<StyledOverlayBase
|
||||||
allowTouchBodyScroll={false}
|
allowTouchBodyScroll={false}
|
||||||
className="overlay-43"
|
className="overlay-75"
|
||||||
isDarkThemed={false}
|
isDarkThemed={false}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
>
|
>
|
||||||
<OverlayBase
|
<OverlayBase
|
||||||
allowTouchBodyScroll={false}
|
allowTouchBodyScroll={false}
|
||||||
className="overlay-43"
|
className="overlay-75"
|
||||||
isDarkThemed={false}
|
isDarkThemed={false}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
styles={[Function]}
|
styles={[Function]}
|
||||||
|
@ -1793,13 +1793,13 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Overlay overlay-58"
|
className="ms-Overlay overlay-90"
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
/>
|
/>
|
||||||
</OverlayBase>
|
</OverlayBase>
|
||||||
</StyledOverlayBase>
|
</StyledOverlayBase>
|
||||||
<FocusTrapZone
|
<FocusTrapZone
|
||||||
className="ms-Panel-main main-44"
|
className="ms-Panel-main main-76"
|
||||||
isClickableOutsideFocusTrap={true}
|
isClickableOutsideFocusTrap={true}
|
||||||
style={
|
style={
|
||||||
Object {
|
Object {
|
||||||
|
@ -1808,7 +1808,7 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Panel-main main-44"
|
className="ms-Panel-main main-76"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
onFocus={[Function]}
|
onFocus={[Function]}
|
||||||
onFocusCapture={[Function]}
|
onFocusCapture={[Function]}
|
||||||
|
@ -1831,18 +1831,18 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
className="ms-Panel-commands commands-45"
|
className="ms-Panel-commands commands-77"
|
||||||
data-is-visible={true}
|
data-is-visible={true}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Panel-navigation navigation-46"
|
className="ms-Panel-navigation navigation-78"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Panel-header header-48"
|
className="ms-Panel-header header-80"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-level={1}
|
aria-level={1}
|
||||||
className="ms-Panel-headerText panelHeader headerText-49"
|
className="ms-Panel-headerText panelHeader headerText-81"
|
||||||
id="Panel0-headerText"
|
id="Panel0-headerText"
|
||||||
role="heading"
|
role="heading"
|
||||||
>
|
>
|
||||||
|
@ -2904,7 +2904,7 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
aria-label="Close"
|
aria-label="Close"
|
||||||
className="ms-Button ms-Panel-closeButton ms-PanelAction-close ms-Button--icon root-59"
|
className="ms-Button ms-Panel-closeButton ms-PanelAction-close ms-Button--icon root-91"
|
||||||
data-is-focusable={true}
|
data-is-focusable={true}
|
||||||
data-is-visible={true}
|
data-is-visible={true}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
|
@ -2917,16 +2917,16 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-flexContainer flexContainer-60"
|
className="ms-Button-flexContainer flexContainer-92"
|
||||||
data-automationid="splitbuttonprimary"
|
data-automationid="splitbuttonprimary"
|
||||||
>
|
>
|
||||||
<Component
|
<Component
|
||||||
className="ms-Button-icon icon-62"
|
className="ms-Button-icon icon-94"
|
||||||
iconName="Cancel"
|
iconName="Cancel"
|
||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
aria-hidden={true}
|
aria-hidden={true}
|
||||||
className="ms-Icon root-37 css-67 ms-Button-icon icon-62"
|
className="ms-Icon root-37 css-99 ms-Button-icon icon-94"
|
||||||
data-icon-name="Cancel"
|
data-icon-name="Cancel"
|
||||||
role="presentation"
|
role="presentation"
|
||||||
style={
|
style={
|
||||||
|
@ -2947,14 +2947,14 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className="ms-Panel-contentInner contentInner-47"
|
className="ms-Panel-contentInner contentInner-79"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Panel-scrollableContent scrollableContent-50"
|
className="ms-Panel-scrollableContent scrollableContent-82"
|
||||||
data-is-scrollable={true}
|
data-is-scrollable={true}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Panel-content content-51"
|
className="ms-Panel-content content-83"
|
||||||
>
|
>
|
||||||
<form
|
<form
|
||||||
className="panelFormWrapper"
|
className="panelFormWrapper"
|
||||||
|
@ -2971,7 +2971,7 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Stack addButtonEntiy css-68"
|
className="ms-Stack addButtonEntiy css-100"
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
>
|
>
|
||||||
<StyledImageBase
|
<StyledImageBase
|
||||||
|
@ -3263,7 +3263,7 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
width={16}
|
width={16}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Image root-69"
|
className="ms-Image root-101"
|
||||||
style={
|
style={
|
||||||
Object {
|
Object {
|
||||||
"height": 30,
|
"height": 30,
|
||||||
|
@ -3273,7 +3273,7 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
alt="Add Entity"
|
alt="Add Entity"
|
||||||
className="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-70"
|
className="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-102"
|
||||||
key="fabricImage"
|
key="fabricImage"
|
||||||
onError={[Function]}
|
onError={[Function]}
|
||||||
onLoad={[Function]}
|
onLoad={[Function]}
|
||||||
|
@ -3287,7 +3287,7 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
key=".0:$.1"
|
key=".0:$.1"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="addNewParamStyle css-71"
|
className="addNewParamStyle css-103"
|
||||||
>
|
>
|
||||||
Add Property
|
Add Property
|
||||||
</span>
|
</span>
|
||||||
|
@ -3336,7 +3336,7 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
rootRef={
|
rootRef={
|
||||||
Object {
|
Object {
|
||||||
"current": <div
|
"current": <div
|
||||||
class="ms-Fabric ms-Layer-content content-56"
|
class="ms-Fabric ms-Layer-content content-88"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-labelledby="Panel0-headerText"
|
aria-labelledby="Panel0-headerText"
|
||||||
|
@ -3347,14 +3347,14 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-hidden="false"
|
aria-hidden="false"
|
||||||
class="ms-Panel is-open ms-Panel--hasCloseButton ms-Panel--custom root-42"
|
class="ms-Panel is-open ms-Panel--hasCloseButton ms-Panel--custom root-74"
|
||||||
style="height: 736px;"
|
style="height: 736px;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Overlay overlay-58"
|
class="ms-Overlay overlay-90"
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-main main-44"
|
class="ms-Panel-main main-76"
|
||||||
style="width: 700px;"
|
style="width: 700px;"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
|
@ -3364,18 +3364,18 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-commands commands-45"
|
class="ms-Panel-commands commands-77"
|
||||||
data-is-visible="true"
|
data-is-visible="true"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-navigation navigation-46"
|
class="ms-Panel-navigation navigation-78"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-header header-48"
|
class="ms-Panel-header header-80"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-level="1"
|
aria-level="1"
|
||||||
class="ms-Panel-headerText panelHeader headerText-49"
|
class="ms-Panel-headerText panelHeader headerText-81"
|
||||||
id="Panel0-headerText"
|
id="Panel0-headerText"
|
||||||
role="heading"
|
role="heading"
|
||||||
>
|
>
|
||||||
|
@ -3384,19 +3384,19 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
</div>
|
</div>
|
||||||
<button
|
<button
|
||||||
aria-label="Close"
|
aria-label="Close"
|
||||||
class="ms-Button ms-Panel-closeButton ms-PanelAction-close ms-Button--icon root-59"
|
class="ms-Button ms-Panel-closeButton ms-PanelAction-close ms-Button--icon root-91"
|
||||||
data-is-focusable="true"
|
data-is-focusable="true"
|
||||||
data-is-visible="true"
|
data-is-visible="true"
|
||||||
title="Close"
|
title="Close"
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="ms-Button-flexContainer flexContainer-60"
|
class="ms-Button-flexContainer flexContainer-92"
|
||||||
data-automationid="splitbuttonprimary"
|
data-automationid="splitbuttonprimary"
|
||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
class="ms-Icon root-37 css-67 ms-Button-icon icon-62"
|
class="ms-Icon root-37 css-99 ms-Button-icon icon-94"
|
||||||
data-icon-name="Cancel"
|
data-icon-name="Cancel"
|
||||||
role="presentation"
|
role="presentation"
|
||||||
style="font-family: \\"FabricMDL2Icons\\";"
|
style="font-family: \\"FabricMDL2Icons\\";"
|
||||||
|
@ -3408,14 +3408,14 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-contentInner contentInner-47"
|
class="ms-Panel-contentInner contentInner-79"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-scrollableContent scrollableContent-50"
|
class="ms-Panel-scrollableContent scrollableContent-82"
|
||||||
data-is-scrollable="true"
|
data-is-scrollable="true"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Panel-content content-51"
|
class="ms-Panel-content content-83"
|
||||||
>
|
>
|
||||||
<form
|
<form
|
||||||
class="panelFormWrapper"
|
class="panelFormWrapper"
|
||||||
|
@ -3427,20 +3427,20 @@ exports[`Excute Edit Table Entity Pane should render Default properly 1`] = `
|
||||||
class="panelMainContent"
|
class="panelMainContent"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Stack addButtonEntiy css-68"
|
class="ms-Stack addButtonEntiy css-100"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="ms-Image root-69"
|
class="ms-Image root-101"
|
||||||
style="width: 16px; height: 30px;"
|
style="width: 16px; height: 30px;"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
alt="Add Entity"
|
alt="Add Entity"
|
||||||
class="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-70"
|
class="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-102"
|
||||||
src=""
|
src=""
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<span
|
<span
|
||||||
class="addNewParamStyle css-71"
|
class="addNewParamStyle css-103"
|
||||||
>
|
>
|
||||||
Add Property
|
Add Property
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -399,7 +399,6 @@ exports[`Delete Database Confirmation Pane submit() Should call delete database
|
||||||
"parameters": [Function],
|
"parameters": [Function],
|
||||||
"tabsButtons": Array [],
|
"tabsButtons": Array [],
|
||||||
},
|
},
|
||||||
"databaseAccount": [Function],
|
|
||||||
"databases": [Function],
|
"databases": [Function],
|
||||||
"deleteCollectionText": [Function],
|
"deleteCollectionText": [Function],
|
||||||
"deleteDatabaseText": [Function],
|
"deleteDatabaseText": [Function],
|
||||||
|
@ -1193,7 +1192,6 @@ exports[`Delete Database Confirmation Pane submit() Should call delete database
|
||||||
"hasStorageAnalyticsAfecFeature": [Function],
|
"hasStorageAnalyticsAfecFeature": [Function],
|
||||||
"isAccountReady": [Function],
|
"isAccountReady": [Function],
|
||||||
"isAutoscaleDefaultEnabled": [Function],
|
"isAutoscaleDefaultEnabled": [Function],
|
||||||
"isEnableMongoCapabilityPresent": [Function],
|
|
||||||
"isFixedCollectionWithSharedThroughputSupported": [Function],
|
"isFixedCollectionWithSharedThroughputSupported": [Function],
|
||||||
"isHostedDataExplorerEnabled": [Function],
|
"isHostedDataExplorerEnabled": [Function],
|
||||||
"isLastCollection": [Function],
|
"isLastCollection": [Function],
|
||||||
|
@ -1214,7 +1212,6 @@ exports[`Delete Database Confirmation Pane submit() Should call delete database
|
||||||
"isTabsContentExpanded": [Function],
|
"isTabsContentExpanded": [Function],
|
||||||
"junoClient": JunoClient {
|
"junoClient": JunoClient {
|
||||||
"cachedPinnedRepos": [Function],
|
"cachedPinnedRepos": [Function],
|
||||||
"databaseAccount": undefined,
|
|
||||||
},
|
},
|
||||||
"memoryUsageInfo": [Function],
|
"memoryUsageInfo": [Function],
|
||||||
"notebookBasePath": [Function],
|
"notebookBasePath": [Function],
|
||||||
|
@ -1298,7 +1295,7 @@ exports[`Delete Database Confirmation Pane submit() Should call delete database
|
||||||
verticalAlign="center"
|
verticalAlign="center"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-Stack panelInfoErrorContainer css-140"
|
className="ms-Stack panelInfoErrorContainer css-172"
|
||||||
>
|
>
|
||||||
<StyledIconBase
|
<StyledIconBase
|
||||||
className="panelWarningIcon"
|
className="panelWarningIcon"
|
||||||
|
@ -1585,7 +1582,7 @@ exports[`Delete Database Confirmation Pane submit() Should call delete database
|
||||||
>
|
>
|
||||||
<i
|
<i
|
||||||
aria-hidden={true}
|
aria-hidden={true}
|
||||||
className="panelWarningIcon root-142"
|
className="panelWarningIcon root-174"
|
||||||
data-icon-name="WarningSolid"
|
data-icon-name="WarningSolid"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
@ -1601,7 +1598,7 @@ exports[`Delete Database Confirmation Pane submit() Should call delete database
|
||||||
variant="small"
|
variant="small"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="panelWarningErrorMessage css-143"
|
className="panelWarningErrorMessage css-175"
|
||||||
>
|
>
|
||||||
Warning! The action you are about to take cannot be undone. Continuing will permanently delete this resource and all of its children resources.
|
Warning! The action you are about to take cannot be undone. Continuing will permanently delete this resource and all of its children resources.
|
||||||
|
|
||||||
|
@ -1626,7 +1623,7 @@ exports[`Delete Database Confirmation Pane submit() Should call delete database
|
||||||
variant="small"
|
variant="small"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="css-143"
|
className="css-175"
|
||||||
>
|
>
|
||||||
Confirm by typing the database id
|
Confirm by typing the database id
|
||||||
</span>
|
</span>
|
||||||
|
@ -1927,18 +1924,18 @@ exports[`Delete Database Confirmation Pane submit() Should call delete database
|
||||||
validateOnLoad={true}
|
validateOnLoad={true}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField root-145"
|
className="ms-TextField root-177"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField-wrapper"
|
className="ms-TextField-wrapper"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField-fieldGroup fieldGroup-146"
|
className="ms-TextField-fieldGroup fieldGroup-178"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
aria-invalid={false}
|
aria-invalid={false}
|
||||||
autoFocus={true}
|
autoFocus={true}
|
||||||
className="ms-TextField-field field-147"
|
className="ms-TextField-field field-179"
|
||||||
id="confirmDatabaseId"
|
id="confirmDatabaseId"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
|
@ -1961,7 +1958,7 @@ exports[`Delete Database Confirmation Pane submit() Should call delete database
|
||||||
variant="small"
|
variant="small"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="css-164"
|
className="css-196"
|
||||||
>
|
>
|
||||||
Help us improve Azure Cosmos DB!
|
Help us improve Azure Cosmos DB!
|
||||||
</span>
|
</span>
|
||||||
|
@ -1971,7 +1968,7 @@ exports[`Delete Database Confirmation Pane submit() Should call delete database
|
||||||
variant="small"
|
variant="small"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="css-164"
|
className="css-196"
|
||||||
>
|
>
|
||||||
What is the reason why you are deleting this database?
|
What is the reason why you are deleting this database?
|
||||||
</span>
|
</span>
|
||||||
|
@ -2274,17 +2271,17 @@ exports[`Delete Database Confirmation Pane submit() Should call delete database
|
||||||
validateOnLoad={true}
|
validateOnLoad={true}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField ms-TextField--multiline root-145"
|
className="ms-TextField ms-TextField--multiline root-177"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField-wrapper"
|
className="ms-TextField-wrapper"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="ms-TextField-fieldGroup fieldGroup-165"
|
className="ms-TextField-fieldGroup fieldGroup-197"
|
||||||
>
|
>
|
||||||
<textarea
|
<textarea
|
||||||
aria-invalid={false}
|
aria-invalid={false}
|
||||||
className="ms-TextField-field field-166"
|
className="ms-TextField-field field-198"
|
||||||
id="deleteDatabaseFeedbackInput"
|
id="deleteDatabaseFeedbackInput"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
|
@ -3976,7 +3973,7 @@ exports[`Delete Database Confirmation Pane submit() Should call delete database
|
||||||
variantClassName="ms-Button--primary"
|
variantClassName="ms-Button--primary"
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
className="ms-Button ms-Button--primary root-156"
|
className="ms-Button ms-Button--primary root-188"
|
||||||
data-is-focusable={true}
|
data-is-focusable={true}
|
||||||
id="sidePanelOkButton"
|
id="sidePanelOkButton"
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
|
@ -3988,14 +3985,14 @@ exports[`Delete Database Confirmation Pane submit() Should call delete database
|
||||||
type="submit"
|
type="submit"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-flexContainer flexContainer-157"
|
className="ms-Button-flexContainer flexContainer-189"
|
||||||
data-automationid="splitbuttonprimary"
|
data-automationid="splitbuttonprimary"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-textContainer textContainer-158"
|
className="ms-Button-textContainer textContainer-190"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className="ms-Button-label label-160"
|
className="ms-Button-label label-192"
|
||||||
id="id__3"
|
id="id__3"
|
||||||
key="id__3"
|
key="id__3"
|
||||||
>
|
>
|
||||||
|
|
|
@ -255,7 +255,7 @@ export class CassandraAPIDataClient extends TableDataClient {
|
||||||
const clearMessage =
|
const clearMessage =
|
||||||
shouldNotify && NotificationConsoleUtils.logConsoleProgress(`Querying rows for table ${collection.id()}`);
|
shouldNotify && NotificationConsoleUtils.logConsoleProgress(`Querying rows for table ${collection.id()}`);
|
||||||
try {
|
try {
|
||||||
const authType = userContext.authType;
|
const { authType, databaseAccount } = userContext;
|
||||||
const apiEndpoint: string =
|
const apiEndpoint: string =
|
||||||
authType === AuthType.EncryptedToken
|
authType === AuthType.EncryptedToken
|
||||||
? Constants.CassandraBackend.guestQueryApi
|
? Constants.CassandraBackend.guestQueryApi
|
||||||
|
@ -263,12 +263,9 @@ export class CassandraAPIDataClient extends TableDataClient {
|
||||||
const data: any = await $.ajax(`${configContext.BACKEND_ENDPOINT}/${apiEndpoint}`, {
|
const data: any = await $.ajax(`${configContext.BACKEND_ENDPOINT}/${apiEndpoint}`, {
|
||||||
type: "POST",
|
type: "POST",
|
||||||
data: {
|
data: {
|
||||||
accountName:
|
accountName: databaseAccount?.name,
|
||||||
collection && collection.container.databaseAccount && collection.container.databaseAccount().name,
|
cassandraEndpoint: this.trimCassandraEndpoint(databaseAccount?.properties.cassandraEndpoint),
|
||||||
cassandraEndpoint: this.trimCassandraEndpoint(
|
resourceId: databaseAccount?.id,
|
||||||
collection.container.databaseAccount().properties.cassandraEndpoint
|
|
||||||
),
|
|
||||||
resourceId: collection.container.databaseAccount().id,
|
|
||||||
keyspaceId: collection.databaseId,
|
keyspaceId: collection.databaseId,
|
||||||
tableId: collection.id(),
|
tableId: collection.id(),
|
||||||
query,
|
query,
|
||||||
|
@ -399,21 +396,20 @@ export class CassandraAPIDataClient extends TableDataClient {
|
||||||
return Q.resolve(collection.cassandraKeys);
|
return Q.resolve(collection.cassandraKeys);
|
||||||
}
|
}
|
||||||
const clearInProgressMessage = logConsoleProgress(`Fetching keys for table ${collection.id()}`);
|
const clearInProgressMessage = logConsoleProgress(`Fetching keys for table ${collection.id()}`);
|
||||||
const authType = userContext.authType;
|
const { authType, databaseAccount } = userContext;
|
||||||
const apiEndpoint: string =
|
const apiEndpoint: string =
|
||||||
authType === AuthType.EncryptedToken
|
authType === AuthType.EncryptedToken
|
||||||
? Constants.CassandraBackend.guestKeysApi
|
? Constants.CassandraBackend.guestKeysApi
|
||||||
: Constants.CassandraBackend.keysApi;
|
: Constants.CassandraBackend.keysApi;
|
||||||
let endpoint = `${configContext.BACKEND_ENDPOINT}/${apiEndpoint}`;
|
let endpoint = `${configContext.BACKEND_ENDPOINT}/${apiEndpoint}`;
|
||||||
const deferred = Q.defer<CassandraTableKeys>();
|
const deferred = Q.defer<CassandraTableKeys>();
|
||||||
|
|
||||||
$.ajax(endpoint, {
|
$.ajax(endpoint, {
|
||||||
type: "POST",
|
type: "POST",
|
||||||
data: {
|
data: {
|
||||||
accountName: collection && collection.container.databaseAccount && collection.container.databaseAccount().name,
|
accountName: databaseAccount?.name,
|
||||||
cassandraEndpoint: this.trimCassandraEndpoint(
|
cassandraEndpoint: this.trimCassandraEndpoint(databaseAccount?.properties.cassandraEndpoint),
|
||||||
collection.container.databaseAccount().properties.cassandraEndpoint
|
resourceId: databaseAccount?.id,
|
||||||
),
|
|
||||||
resourceId: collection.container.databaseAccount().id,
|
|
||||||
keyspaceId: collection.databaseId,
|
keyspaceId: collection.databaseId,
|
||||||
tableId: collection.id(),
|
tableId: collection.id(),
|
||||||
},
|
},
|
||||||
|
@ -440,21 +436,20 @@ export class CassandraAPIDataClient extends TableDataClient {
|
||||||
return Q.resolve(collection.cassandraSchema);
|
return Q.resolve(collection.cassandraSchema);
|
||||||
}
|
}
|
||||||
const clearInProgressMessage = logConsoleProgress(`Fetching schema for table ${collection.id()}`);
|
const clearInProgressMessage = logConsoleProgress(`Fetching schema for table ${collection.id()}`);
|
||||||
const authType = userContext.authType;
|
const { databaseAccount, authType } = userContext;
|
||||||
const apiEndpoint: string =
|
const apiEndpoint: string =
|
||||||
authType === AuthType.EncryptedToken
|
authType === AuthType.EncryptedToken
|
||||||
? Constants.CassandraBackend.guestSchemaApi
|
? Constants.CassandraBackend.guestSchemaApi
|
||||||
: Constants.CassandraBackend.schemaApi;
|
: Constants.CassandraBackend.schemaApi;
|
||||||
let endpoint = `${configContext.BACKEND_ENDPOINT}/${apiEndpoint}`;
|
let endpoint = `${configContext.BACKEND_ENDPOINT}/${apiEndpoint}`;
|
||||||
const deferred = Q.defer<CassandraTableKey[]>();
|
const deferred = Q.defer<CassandraTableKey[]>();
|
||||||
|
|
||||||
$.ajax(endpoint, {
|
$.ajax(endpoint, {
|
||||||
type: "POST",
|
type: "POST",
|
||||||
data: {
|
data: {
|
||||||
accountName: collection && collection.container.databaseAccount && collection.container.databaseAccount().name,
|
accountName: databaseAccount?.name,
|
||||||
cassandraEndpoint: this.trimCassandraEndpoint(
|
cassandraEndpoint: this.trimCassandraEndpoint(databaseAccount?.properties.cassandraEndpoint),
|
||||||
collection.container.databaseAccount().properties.cassandraEndpoint
|
resourceId: databaseAccount?.id,
|
||||||
),
|
|
||||||
resourceId: collection.container.databaseAccount().id,
|
|
||||||
keyspaceId: collection.databaseId,
|
keyspaceId: collection.databaseId,
|
||||||
tableId: collection.id(),
|
tableId: collection.id(),
|
||||||
},
|
},
|
||||||
|
@ -478,7 +473,7 @@ export class CassandraAPIDataClient extends TableDataClient {
|
||||||
|
|
||||||
private createOrDeleteQuery(cassandraEndpoint: string, resourceId: string, query: string): Q.Promise<any> {
|
private createOrDeleteQuery(cassandraEndpoint: string, resourceId: string, query: string): Q.Promise<any> {
|
||||||
const deferred = Q.defer();
|
const deferred = Q.defer();
|
||||||
const authType = userContext.authType;
|
const { authType, databaseAccount } = userContext;
|
||||||
const apiEndpoint: string =
|
const apiEndpoint: string =
|
||||||
authType === AuthType.EncryptedToken
|
authType === AuthType.EncryptedToken
|
||||||
? Constants.CassandraBackend.guestCreateOrDeleteApi
|
? Constants.CassandraBackend.guestCreateOrDeleteApi
|
||||||
|
@ -486,7 +481,7 @@ export class CassandraAPIDataClient extends TableDataClient {
|
||||||
$.ajax(`${configContext.BACKEND_ENDPOINT}/${apiEndpoint}`, {
|
$.ajax(`${configContext.BACKEND_ENDPOINT}/${apiEndpoint}`, {
|
||||||
type: "POST",
|
type: "POST",
|
||||||
data: {
|
data: {
|
||||||
accountName: userContext.databaseAccount?.name,
|
accountName: databaseAccount?.name,
|
||||||
cassandraEndpoint: this.trimCassandraEndpoint(cassandraEndpoint),
|
cassandraEndpoint: this.trimCassandraEndpoint(cassandraEndpoint),
|
||||||
resourceId: resourceId,
|
resourceId: resourceId,
|
||||||
query: query,
|
query: query,
|
||||||
|
|
|
@ -23,10 +23,10 @@ export default class MongoShellTab extends TabsBase {
|
||||||
this._logTraces = new Map();
|
this._logTraces = new Map();
|
||||||
this._container = options.collection.container;
|
this._container = options.collection.container;
|
||||||
this.url = ko.computed<string>(() => {
|
this.url = ko.computed<string>(() => {
|
||||||
const account = userContext.databaseAccount;
|
const { databaseAccount: account } = userContext;
|
||||||
const resourceId = account && account.id;
|
const resourceId = account?.id;
|
||||||
const accountName = account && account.name;
|
const accountName = account?.name;
|
||||||
const mongoEndpoint = account && (account.properties.mongoEndpoint || account.properties.documentEndpoint);
|
const mongoEndpoint = account?.properties?.mongoEndpoint || account?.properties?.documentEndpoint;
|
||||||
|
|
||||||
this._runtimeEndpoint = configContext.platform === Platform.Hosted ? configContext.BACKEND_ENDPOINT : "";
|
this._runtimeEndpoint = configContext.platform === Platform.Hosted ? configContext.BACKEND_ENDPOINT : "";
|
||||||
const extensionEndpoint: string = configContext.BACKEND_ENDPOINT || this._runtimeEndpoint || "";
|
const extensionEndpoint: string = configContext.BACKEND_ENDPOINT || this._runtimeEndpoint || "";
|
||||||
|
@ -86,13 +86,12 @@ export default class MongoShellTab extends TabsBase {
|
||||||
if (!isReadyMessage(event)) {
|
if (!isReadyMessage(event)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
const { databaseAccount } = userContext;
|
||||||
|
|
||||||
const authorization: string = userContext.authorizationToken || "";
|
const authorization: string = userContext.authorizationToken || "";
|
||||||
const resourceId = this._container.databaseAccount().id;
|
const resourceId = databaseAccount?.id;
|
||||||
const accountName = this._container.databaseAccount().name;
|
const accountName = databaseAccount?.name;
|
||||||
const documentEndpoint =
|
const documentEndpoint = databaseAccount?.properties.mongoEndpoint || databaseAccount?.properties.documentEndpoint;
|
||||||
this._container.databaseAccount().properties.mongoEndpoint ||
|
|
||||||
this._container.databaseAccount().properties.documentEndpoint;
|
|
||||||
const mongoEndpoint =
|
const mongoEndpoint =
|
||||||
documentEndpoint.substr(
|
documentEndpoint.substr(
|
||||||
Constants.MongoDBAccounts.protocol.length + 3,
|
Constants.MongoDBAccounts.protocol.length + 3,
|
||||||
|
|
|
@ -29,7 +29,7 @@ export default class NotebookTabBase extends TabsBase {
|
||||||
if (!NotebookTabBase.clientManager) {
|
if (!NotebookTabBase.clientManager) {
|
||||||
NotebookTabBase.clientManager = new NotebookClientV2({
|
NotebookTabBase.clientManager = new NotebookClientV2({
|
||||||
connectionInfo: this.container.notebookServerInfo(),
|
connectionInfo: this.container.notebookServerInfo(),
|
||||||
databaseAccountName: this.container.databaseAccount().name,
|
databaseAccountName: userContext?.databaseAccount?.name,
|
||||||
defaultExperience: userContext.apiType,
|
defaultExperience: userContext.apiType,
|
||||||
contentProvider: this.container.notebookManager?.notebookContentProvider,
|
contentProvider: this.container.notebookManager?.notebookContentProvider,
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import * as ko from "knockout";
|
import * as ko from "knockout";
|
||||||
import * as DataModels from "../../Contracts/DataModels";
|
|
||||||
import * as ViewModels from "../../Contracts/ViewModels";
|
import * as ViewModels from "../../Contracts/ViewModels";
|
||||||
|
import { updateUserContext } from "../../UserContext";
|
||||||
import Explorer from "../Explorer";
|
import Explorer from "../Explorer";
|
||||||
import DocumentId from "../Tree/DocumentId";
|
import DocumentId from "../Tree/DocumentId";
|
||||||
import DocumentsTab from "./DocumentsTab";
|
import DocumentsTab from "./DocumentsTab";
|
||||||
|
@ -17,13 +17,15 @@ describe("Tabs manager tests", () => {
|
||||||
|
|
||||||
beforeAll(() => {
|
beforeAll(() => {
|
||||||
explorer = new Explorer();
|
explorer = new Explorer();
|
||||||
explorer.databaseAccount = ko.observable<DataModels.DatabaseAccount>({
|
updateUserContext({
|
||||||
id: "test",
|
databaseAccount: {
|
||||||
name: "test",
|
id: "test",
|
||||||
location: "",
|
name: "test",
|
||||||
type: "",
|
location: "",
|
||||||
kind: "",
|
type: "",
|
||||||
properties: undefined,
|
kind: "",
|
||||||
|
properties: undefined,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
database = {
|
database = {
|
||||||
|
|
|
@ -3,6 +3,7 @@ import * as React from "react";
|
||||||
import { ReactAdapter } from "../../Bindings/ReactBindingHandler";
|
import { ReactAdapter } from "../../Bindings/ReactBindingHandler";
|
||||||
import * as DataModels from "../../Contracts/DataModels";
|
import * as DataModels from "../../Contracts/DataModels";
|
||||||
import * as ViewModels from "../../Contracts/ViewModels";
|
import * as ViewModels from "../../Contracts/ViewModels";
|
||||||
|
import { userContext } from "../../UserContext";
|
||||||
import { CommandButtonComponentProps } from "../Controls/CommandButton/CommandButtonComponent";
|
import { CommandButtonComponentProps } from "../Controls/CommandButton/CommandButtonComponent";
|
||||||
import { NotebookTerminalComponent } from "../Controls/Notebook/NotebookTerminalComponent";
|
import { NotebookTerminalComponent } from "../Controls/Notebook/NotebookTerminalComponent";
|
||||||
import Explorer from "../Explorer";
|
import Explorer from "../Explorer";
|
||||||
|
@ -47,7 +48,7 @@ export default class TerminalTab extends TabsBase {
|
||||||
this.container = options.container;
|
this.container = options.container;
|
||||||
this.notebookTerminalComponentAdapter = new NotebookTerminalComponentAdapter(
|
this.notebookTerminalComponentAdapter = new NotebookTerminalComponentAdapter(
|
||||||
() => this.getNotebookServerInfo(options),
|
() => this.getNotebookServerInfo(options),
|
||||||
() => this.getContainer().databaseAccount()
|
() => userContext?.databaseAccount
|
||||||
);
|
);
|
||||||
this.notebookTerminalComponentAdapter.parameters = ko.computed<boolean>(() => {
|
this.notebookTerminalComponentAdapter.parameters = ko.computed<boolean>(() => {
|
||||||
if (this.isTemplateReady() && this.container.isNotebookEnabled()) {
|
if (this.isTemplateReady() && this.container.isNotebookEnabled()) {
|
||||||
|
|
|
@ -195,13 +195,7 @@ export default class Collection implements ViewModels.Collection {
|
||||||
this.showUserDefinedFunctions = ko.observable<boolean>(showScriptsMenus);
|
this.showUserDefinedFunctions = ko.observable<boolean>(showScriptsMenus);
|
||||||
|
|
||||||
this.showConflicts = ko.observable<boolean>(
|
this.showConflicts = ko.observable<boolean>(
|
||||||
container &&
|
userContext?.databaseAccount?.properties.enableMultipleWriteLocations && data && !!data.conflictResolutionPolicy
|
||||||
container.databaseAccount &&
|
|
||||||
container.databaseAccount() &&
|
|
||||||
container.databaseAccount().properties &&
|
|
||||||
container.databaseAccount().properties.enableMultipleWriteLocations &&
|
|
||||||
data &&
|
|
||||||
!!data.conflictResolutionPolicy
|
|
||||||
);
|
);
|
||||||
|
|
||||||
this.isStoredProceduresExpanded = ko.observable<boolean>(false);
|
this.isStoredProceduresExpanded = ko.observable<boolean>(false);
|
||||||
|
@ -1008,7 +1002,7 @@ export default class Collection implements ViewModels.Collection {
|
||||||
Logger.logError(
|
Logger.logError(
|
||||||
JSON.stringify({
|
JSON.stringify({
|
||||||
error: getErrorMessage(error),
|
error: getErrorMessage(error),
|
||||||
accountName: this.container && this.container.databaseAccount(),
|
accountName: userContext?.databaseAccount,
|
||||||
databaseName: this.databaseId,
|
databaseName: this.databaseId,
|
||||||
collectionName: this.id(),
|
collectionName: this.id(),
|
||||||
}),
|
}),
|
||||||
|
|
|
@ -248,7 +248,7 @@ export default class Database implements ViewModels.Database {
|
||||||
Logger.logError(
|
Logger.logError(
|
||||||
JSON.stringify({
|
JSON.stringify({
|
||||||
error: getErrorMessage(error),
|
error: getErrorMessage(error),
|
||||||
accountName: this.container && this.container.databaseAccount(),
|
accountName: userContext?.databaseAccount,
|
||||||
databaseName: this.id(),
|
databaseName: this.id(),
|
||||||
collectionName: this.id(),
|
collectionName: this.id(),
|
||||||
}),
|
}),
|
||||||
|
|
|
@ -306,10 +306,7 @@ export class ResourceTreeAdapter implements ReactAdapter {
|
||||||
|
|
||||||
// This is a rewrite of showConflicts
|
// This is a rewrite of showConflicts
|
||||||
const showConflicts =
|
const showConflicts =
|
||||||
this.container.databaseAccount &&
|
userContext?.databaseAccount?.properties.enableMultipleWriteLocations &&
|
||||||
this.container.databaseAccount() &&
|
|
||||||
this.container.databaseAccount().properties &&
|
|
||||||
this.container.databaseAccount().properties.enableMultipleWriteLocations &&
|
|
||||||
collection.rawDataModel &&
|
collection.rawDataModel &&
|
||||||
!!collection.rawDataModel.conflictResolutionPolicy;
|
!!collection.rawDataModel.conflictResolutionPolicy;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
import ko from "knockout";
|
|
||||||
import { HttpStatusCodes } from "../Common/Constants";
|
import { HttpStatusCodes } from "../Common/Constants";
|
||||||
import * as DataModels from "../Contracts/DataModels";
|
|
||||||
import Explorer from "../Explorer/Explorer";
|
import Explorer from "../Explorer/Explorer";
|
||||||
import { ConsoleDataType } from "../Explorer/Menus/NotificationConsole/NotificationConsoleComponent";
|
import { ConsoleDataType } from "../Explorer/Menus/NotificationConsole/NotificationConsoleComponent";
|
||||||
import NotebookManager from "../Explorer/Notebook/NotebookManager";
|
import NotebookManager from "../Explorer/Notebook/NotebookManager";
|
||||||
|
@ -8,27 +6,13 @@ import { JunoClient } from "../Juno/JunoClient";
|
||||||
import { IGitHubConnectorParams } from "./GitHubConnector";
|
import { IGitHubConnectorParams } from "./GitHubConnector";
|
||||||
import { GitHubOAuthService } from "./GitHubOAuthService";
|
import { GitHubOAuthService } from "./GitHubOAuthService";
|
||||||
|
|
||||||
const sampleDatabaseAccount: DataModels.DatabaseAccount = {
|
|
||||||
id: "id",
|
|
||||||
name: "name",
|
|
||||||
location: "location",
|
|
||||||
type: "type",
|
|
||||||
kind: "kind",
|
|
||||||
properties: {
|
|
||||||
documentEndpoint: "documentEndpoint",
|
|
||||||
gremlinEndpoint: "gremlinEndpoint",
|
|
||||||
tableEndpoint: "tableEndpoint",
|
|
||||||
cassandraEndpoint: "cassandraEndpoint",
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
describe("GitHubOAuthService", () => {
|
describe("GitHubOAuthService", () => {
|
||||||
let junoClient: JunoClient;
|
let junoClient: JunoClient;
|
||||||
let gitHubOAuthService: GitHubOAuthService;
|
let gitHubOAuthService: GitHubOAuthService;
|
||||||
let originalDataExplorer: Explorer;
|
let originalDataExplorer: Explorer;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
junoClient = new JunoClient(ko.observable<DataModels.DatabaseAccount>(sampleDatabaseAccount));
|
junoClient = new JunoClient();
|
||||||
gitHubOAuthService = new GitHubOAuthService(junoClient);
|
gitHubOAuthService = new GitHubOAuthService(junoClient);
|
||||||
originalDataExplorer = window.dataExplorer;
|
originalDataExplorer = window.dataExplorer;
|
||||||
window.dataExplorer = {
|
window.dataExplorer = {
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
import ko from "knockout";
|
|
||||||
import { HttpHeaders, HttpStatusCodes } from "../Common/Constants";
|
import { HttpHeaders, HttpStatusCodes } from "../Common/Constants";
|
||||||
import { DatabaseAccount } from "../Contracts/DataModels";
|
import { DatabaseAccount } from "../Contracts/DataModels";
|
||||||
import { updateUserContext, userContext } from "../UserContext";
|
import { updateUserContext, userContext } from "../UserContext";
|
||||||
|
@ -35,7 +34,7 @@ const samplePinnedRepos: IPinnedRepo[] = [
|
||||||
];
|
];
|
||||||
|
|
||||||
describe("Pinned repos", () => {
|
describe("Pinned repos", () => {
|
||||||
const junoClient = new JunoClient(ko.observable<DatabaseAccount>(sampleDatabaseAccount));
|
const junoClient = new JunoClient();
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
window.fetch = jest.fn().mockImplementation(() => {
|
window.fetch = jest.fn().mockImplementation(() => {
|
||||||
|
@ -72,7 +71,7 @@ describe("Pinned repos", () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("GitHub", () => {
|
describe("GitHub", () => {
|
||||||
const junoClient = new JunoClient(ko.observable<DatabaseAccount>(sampleDatabaseAccount));
|
const junoClient = new JunoClient();
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
jest.resetAllMocks();
|
jest.resetAllMocks();
|
||||||
|
@ -131,11 +130,16 @@ describe("GitHub", () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("Gallery", () => {
|
describe("Gallery", () => {
|
||||||
const junoClient = new JunoClient(ko.observable<DatabaseAccount>(sampleDatabaseAccount));
|
const junoClient = new JunoClient();
|
||||||
const originalSubscriptionId = userContext.subscriptionId;
|
const originalSubscriptionId = userContext.subscriptionId;
|
||||||
|
|
||||||
beforeAll(() => {
|
beforeAll(() => {
|
||||||
updateUserContext({ subscriptionId: sampleSubscriptionId });
|
updateUserContext({
|
||||||
|
databaseAccount: {
|
||||||
|
name: "name",
|
||||||
|
} as DatabaseAccount,
|
||||||
|
subscriptionId: sampleSubscriptionId,
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
|
@ -202,7 +206,6 @@ describe("Gallery", () => {
|
||||||
status: HttpStatusCodes.OK,
|
status: HttpStatusCodes.OK,
|
||||||
json: () => undefined as any,
|
json: () => undefined as any,
|
||||||
});
|
});
|
||||||
|
|
||||||
const response = await junoClient.increaseNotebookViews(id);
|
const response = await junoClient.increaseNotebookViews(id);
|
||||||
|
|
||||||
expect(response.status).toBe(HttpStatusCodes.OK);
|
expect(response.status).toBe(HttpStatusCodes.OK);
|
||||||
|
|
|
@ -70,7 +70,7 @@ export interface IPublishNotebookRequest {
|
||||||
export class JunoClient {
|
export class JunoClient {
|
||||||
private cachedPinnedRepos: ko.Observable<IPinnedRepo[]>;
|
private cachedPinnedRepos: ko.Observable<IPinnedRepo[]>;
|
||||||
|
|
||||||
constructor(private databaseAccount?: ko.Observable<DataModels.DatabaseAccount>) {
|
constructor() {
|
||||||
this.cachedPinnedRepos = ko.observable<IPinnedRepo[]>([]);
|
this.cachedPinnedRepos = ko.observable<IPinnedRepo[]>([]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -500,7 +500,7 @@ export class JunoClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
private getAccount(): string {
|
private getAccount(): string {
|
||||||
return this.databaseAccount().name;
|
return userContext?.databaseAccount?.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
private getSubscriptionId(): string {
|
private getSubscriptionId(): string {
|
||||||
|
|
|
@ -17,14 +17,12 @@ export default class AuthHeadersUtil {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static _generateResourceUrl(): string {
|
private static _generateResourceUrl(): string {
|
||||||
const databaseAccount = userContext.databaseAccount;
|
const { databaseAccount, resourceGroup, subscriptionId } = userContext;
|
||||||
const subscriptionId: string = userContext.subscriptionId;
|
|
||||||
const resourceGroup = userContext.resourceGroup;
|
|
||||||
const apiKind: DataModels.ApiKind = DefaultExperienceUtility.getApiKindFromDefaultExperience(userContext.apiType);
|
const apiKind: DataModels.ApiKind = DefaultExperienceUtility.getApiKindFromDefaultExperience(userContext.apiType);
|
||||||
const accountEndpoint = (databaseAccount && databaseAccount.properties.documentEndpoint) || "";
|
const accountEndpoint = databaseAccount?.properties?.documentEndpoint || "";
|
||||||
const sid = subscriptionId || "";
|
const sid = subscriptionId || "";
|
||||||
const rg = resourceGroup || "";
|
const rg = resourceGroup || "";
|
||||||
const dba = (databaseAccount && databaseAccount.name) || "";
|
const dba = databaseAccount?.name || "";
|
||||||
const resourceUrl = encodeURIComponent(accountEndpoint);
|
const resourceUrl = encodeURIComponent(accountEndpoint);
|
||||||
const rid = "";
|
const rid = "";
|
||||||
const rtype = "";
|
const rtype = "";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { get } from "../../Utils/arm/generatedClients/2020-04-01/databaseAccounts";
|
|
||||||
import { userContext } from "../../UserContext";
|
|
||||||
import { SessionStorageUtility } from "../../Shared/StorageUtility";
|
import { SessionStorageUtility } from "../../Shared/StorageUtility";
|
||||||
|
import { userContext } from "../../UserContext";
|
||||||
|
import { get } from "../../Utils/arm/generatedClients/2020-04-01/databaseAccounts";
|
||||||
import { RefreshResult } from "../SelfServeTypes";
|
import { RefreshResult } from "../SelfServeTypes";
|
||||||
export enum Regions {
|
export enum Regions {
|
||||||
NorthCentralUS = "NorthCentralUS",
|
NorthCentralUS = "NorthCentralUS",
|
||||||
|
@ -67,9 +67,9 @@ export const onRefreshSelfServeExample = async (): Promise<RefreshResult> => {
|
||||||
const refreshCountString = SessionStorageUtility.getEntry("refreshCount");
|
const refreshCountString = SessionStorageUtility.getEntry("refreshCount");
|
||||||
const refreshCount = refreshCountString ? parseInt(refreshCountString) : 0;
|
const refreshCount = refreshCountString ? parseInt(refreshCountString) : 0;
|
||||||
|
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, databaseAccount } = userContext;
|
||||||
const resourceGroup = userContext.resourceGroup;
|
const databaseAccountName = databaseAccount.name;
|
||||||
const databaseAccountName = userContext.databaseAccount.name;
|
|
||||||
const databaseAccountGetResults = await get(subscriptionId, resourceGroup, databaseAccountName);
|
const databaseAccountGetResults = await get(subscriptionId, resourceGroup, databaseAccountName);
|
||||||
const isUpdateInProgress = databaseAccountGetResults.properties.provisioningState !== "Succeeded";
|
const isUpdateInProgress = databaseAccountGetResults.properties.provisioningState !== "Succeeded";
|
||||||
|
|
||||||
|
|
|
@ -189,8 +189,8 @@ const getInput = (value: DecoratorProperties): AnyDisplay => {
|
||||||
};
|
};
|
||||||
|
|
||||||
export const generateBladeLink = (blade: BladeType): string => {
|
export const generateBladeLink = (blade: BladeType): string => {
|
||||||
const subscriptionId = userContext.subscriptionId;
|
const { subscriptionId, resourceGroup, databaseAccount } = userContext;
|
||||||
const resourceGroupName = userContext.resourceGroup;
|
const databaseAccountName = databaseAccount.name;
|
||||||
const databaseAccountName = userContext.databaseAccount.name;
|
|
||||||
return `${document.referrer}#@microsoft.onmicrosoft.com/resource/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DocumentDb/databaseAccounts/${databaseAccountName}/${blade}`;
|
return `${document.referrer}#@microsoft.onmicrosoft.com/resource/subscriptions/${subscriptionId}/resourceGroups/${resourceGroup}/providers/Microsoft.DocumentDb/databaseAccounts/${databaseAccountName}/${blade}`;
|
||||||
};
|
};
|
||||||
|
|
|
@ -98,10 +98,6 @@ async function configureHostedWithAAD(config: AAD, explorerParams: ExplorerParam
|
||||||
const explorer = new Explorer(explorerParams);
|
const explorer = new Explorer(explorerParams);
|
||||||
explorer.configure({
|
explorer.configure({
|
||||||
databaseAccount: account,
|
databaseAccount: account,
|
||||||
subscriptionId,
|
|
||||||
resourceGroup,
|
|
||||||
masterKey: keys.primaryMasterKey,
|
|
||||||
authorizationToken: `Bearer ${config.authorizationToken}`,
|
|
||||||
});
|
});
|
||||||
return explorer;
|
return explorer;
|
||||||
}
|
}
|
||||||
|
@ -127,7 +123,6 @@ function configureHostedWithConnectionString(config: ConnectionString, explorerP
|
||||||
const explorer = new Explorer(explorerParams);
|
const explorer = new Explorer(explorerParams);
|
||||||
explorer.configure({
|
explorer.configure({
|
||||||
databaseAccount,
|
databaseAccount,
|
||||||
masterKey: config.masterKey,
|
|
||||||
});
|
});
|
||||||
return explorer;
|
return explorer;
|
||||||
}
|
}
|
||||||
|
@ -183,7 +178,6 @@ function configureEmulator(explorerParams: ExplorerParams): Explorer {
|
||||||
authType: AuthType.MasterKey,
|
authType: AuthType.MasterKey,
|
||||||
});
|
});
|
||||||
const explorer = new Explorer(explorerParams);
|
const explorer = new Explorer(explorerParams);
|
||||||
explorer.databaseAccount(emulatorAccount);
|
|
||||||
explorer.isAccountReady(true);
|
explorer.isAccountReady(true);
|
||||||
return explorer;
|
return explorer;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue