[SIP-36] Migrate setupApp.js to setupApp.ts (#9180)

This commit is contained in:
Erik Ritter 2020-02-24 14:30:35 -08:00 committed by GitHub
parent 421aeb4605
commit eeec63c7dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 33 additions and 6 deletions

View File

@ -4853,6 +4853,15 @@
"integrity": "sha512-DC8xTuW/6TYgvEg3HEXS7cu9OijFqprVDXXiOcdOKZCU/5PJNLZU37VVvmZHdtMiGOa8wAA/We+JzbdxFzQTRQ==",
"dev": true
},
"@types/jquery": {
"version": "3.3.32",
"resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.3.32.tgz",
"integrity": "sha512-UKoof2mnV/X1/Ix2g+V2Ny5sgHjV8nK/UJbiYxuo4zPwzGyFlZ/mp4KaePb2VqQrqJctmcDQNA57buU84/2uIw==",
"dev": true,
"requires": {
"@types/sizzle": "*"
}
},
"@types/json-schema": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz",
@ -4952,6 +4961,12 @@
"@types/react": "*"
}
},
"@types/sizzle": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.2.tgz",
"integrity": "sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg==",
"dev": true
},
"@types/source-list-map": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz",

View File

@ -161,6 +161,7 @@
"@babel/preset-react": "^7.0.0",
"@babel/register": "^7.5.5",
"@types/jest": "^23.3.5",
"@types/jquery": "^3.3.32",
"@types/react": "^16.4.18",
"@types/react-dom": "^16.0.9",
"@types/react-json-tree": "^0.6.11",

View File

@ -21,7 +21,7 @@ import $ from 'jquery';
import { SupersetClient } from '@superset-ui/connection';
import getClientErrorObject from '../utils/getClientErrorObject';
function showApiMessage(resp) {
function showApiMessage(resp: { severity?: string; message: string }) {
const template =
'<div class="alert"> ' +
'<button type="button" class="close" ' +
@ -33,9 +33,11 @@ function showApiMessage(resp) {
.appendTo($('#alert-container'));
}
function toggleCheckbox(apiUrlPrefix, selector) {
SupersetClient.get({ endpoint: apiUrlPrefix + $(selector)[0].checked })
.then(() => {})
function toggleCheckbox(apiUrlPrefix: string, selector: string) {
SupersetClient.get({
endpoint: apiUrlPrefix + ($(selector)[0] as HTMLInputElement).checked,
})
.then(() => undefined)
.catch(response =>
getClientErrorObject(response).then(parsedResp => {
if (parsedResp && parsedResp.message) {
@ -55,10 +57,17 @@ export default function setupApp() {
});
// for language picker dropdown
$('#language-picker a').click(function(ev) {
$('#language-picker a').click(function(
ev: JQuery.ClickEvent<
HTMLLinkElement,
null,
HTMLLinkElement,
HTMLLinkElement
>,
) {
ev.preventDefault();
SupersetClient.get({
endpoint: ev.currentTarget.getAttribute('href'),
endpoint: ev.currentTarget.href,
parseMethod: null,
}).then(() => {
location.reload();
@ -68,7 +77,9 @@ export default function setupApp() {
// A set of hacks to allow apps to run within a FAB template
// this allows for the server side generated menus to function
// @ts-ignore
window.$ = $;
// @ts-ignore
window.jQuery = $;
require('bootstrap');
}