You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by be...@apache.org on 2021/03/19 19:15:41 UTC

[superset] branch remove_jquery created (now 375a0f4)

This is an automated email from the ASF dual-hosted git repository.

beto pushed a change to branch remove_jquery
in repository https://gitbox.apache.org/repos/asf/superset.git.


      at 375a0f4  chore: remove jquery

This branch includes the following new commits:

     new 375a0f4  chore: remove jquery

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[superset] 01/01: chore: remove jquery

Posted by be...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

beto pushed a commit to branch remove_jquery
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 375a0f479e4846af0cd64b184a3b80a5d14be201
Author: Beto Dealmeida <ro...@dealmeida.net>
AuthorDate: Fri Mar 19 12:14:41 2021 -0700

    chore: remove jquery
---
 superset-frontend/src/setup/setupApp.ts            | 60 ----------------------
 .../form_view/csv_to_database_view/edit.html       | 51 +++++++++---------
 2 files changed, 28 insertions(+), 83 deletions(-)

diff --git a/superset-frontend/src/setup/setupApp.ts b/superset-frontend/src/setup/setupApp.ts
index ba3b9ac..69dda10 100644
--- a/superset-frontend/src/setup/setupApp.ts
+++ b/superset-frontend/src/setup/setupApp.ts
@@ -18,11 +18,6 @@
  */
 /* eslint global-require: 0 */
 import $ from 'jquery';
-import { SupersetClient } from '@superset-ui/core';
-import {
-  getClientErrorObject,
-  ClientErrorObject,
-} from 'src/utils/getClientErrorObject';
 import setupErrorMessages from 'src/setup/setupErrorMessages';
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -33,62 +28,7 @@ declare global {
   }
 }
 
-function showApiMessage(resp: ClientErrorObject) {
-  const template =
-    '<div class="alert"> ' +
-    '<button type="button" class="close" ' +
-    'data-dismiss="alert">\xD7</button> </div>';
-  const severity = resp.severity || 'info';
-  $(template)
-    .addClass(`alert-${severity}`)
-    .append(resp.message || '')
-    .appendTo($('#alert-container'));
-}
-
-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) {
-          showApiMessage(parsedResp);
-        }
-      }),
-    );
-}
-
 export default function setupApp() {
-  $(document).ready(function () {
-    $(':checkbox[data-checkbox-api-prefix]').change(function (
-      this: HTMLElement,
-    ) {
-      const $this = $(this);
-      const prefix = $this.data('checkbox-api-prefix');
-      const id = $this.attr('id');
-      toggleCheckbox(prefix, `#${id}`);
-    });
-
-    // for language picker dropdown
-    $('#language-picker a').click(function (
-      ev: JQuery.ClickEvent<
-        HTMLLinkElement,
-        null,
-        HTMLLinkElement,
-        HTMLLinkElement
-      >,
-    ) {
-      ev.preventDefault();
-      SupersetClient.get({
-        url: ev.currentTarget.href,
-        parseMethod: null,
-      }).then(() => {
-        window.location.reload();
-      });
-    });
-  });
-
   // A set of hacks to allow apps to run within a FAB template
   // this allows for the server side generated menus to function
   window.$ = $;
diff --git a/superset/templates/superset/form_view/csv_to_database_view/edit.html b/superset/templates/superset/form_view/csv_to_database_view/edit.html
index ab647d4..3509b70 100644
--- a/superset/templates/superset/form_view/csv_to_database_view/edit.html
+++ b/superset/templates/superset/form_view/csv_to_database_view/edit.html
@@ -21,43 +21,48 @@
 {% block tail_js %}
   {{ super() }}
   <script>
-    var db = $("#con");
-    var schema = $("#schema");
+    var db = document.getElementById("con");
+    var schema = document.getElementById("schema");
 
     // this element is a text input
     // copy it here so it can be reused later
-    var any_schema_is_allowed = schema.clone();
+    var any_schema_is_allowed = schema.cloneNode();
 
-    update_schemas_allowed_for_csv_upload(db.val());
-    db.change(function(){
-        update_schemas_allowed_for_csv_upload(db.val());
+    update_schemas_allowed_for_csv_upload(db.value);
+    db.addEventListener("change", function(){
+        update_schemas_allowed_for_csv_upload(db.value);
     });
 
     function update_schemas_allowed_for_csv_upload(db_id) {
-        $.ajax({
-          method: "GET",
-          url: "/superset/schemas_access_for_csv_upload",
-          data: {db_id: db_id},
-          dataType: 'json',
-          contentType: "application/json; charset=utf-8"
-        }).done(function(data) {
-          change_schema_field_in_formview(data)
-        }).fail(function(error) {
-          var errorMsg = error.responseJSON.error;
-          alert("ERROR: " + errorMsg);
-        });
+        const request = new XMLHttpRequest();
+        request.open("GET", "/superset/schemas_access_for_csv_upload?db_id=" + db_id, true);
+        request.onload = function () {
+            if (this.status == 200) {
+                change_schema_field_in_formview(JSON.parse(request.responseText));
+            }
+        };
+        request.onerror = function () {
+            var errorMsg = request.responseText;
+            alert("ERROR: " + errorMsg);
+        };
+        request.send();
     }
 
     function change_schema_field_in_formview(schemas_allowed){
         if (schemas_allowed && schemas_allowed.length > 0) {
-            var dropdown_schema_lists = '<select id="schema" name="schema" required>';
+	    var dropdown_schema_lists = document.createElement("select");
+	    dropdown_schema_lists.setAttribute("id", "schema");
+	    dropdown_schema_lists.setAttribute("name", "schema");
+	    dropdown_schema_lists.setAttribute("required", "required");
             schemas_allowed.forEach(function(schema_allowed) {
-              dropdown_schema_lists += ('<option value="' + schema_allowed + '">' + schema_allowed + '</option>');
+	      var option = document.createElement("option");
+	      option.setAttribute("value", schema_allowed);
+	      option.appendChild(document.createTextNode(schema_allowed));
+	      dropdown_schema_lists.appendChild(option);
             });
-            dropdown_schema_lists += '</select>';
-            $("#schema").replaceWith(dropdown_schema_lists);
+            schema.replaceWith(dropdown_schema_lists);
         } else {
-            $("#schema").replaceWith(any_schema_is_allowed)
+            schema.replaceWith(any_schema_is_allowed)
         }
     }
   </script>