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