Переглянути джерело

feat: auto-select all text when ExImDialog export textarea is interacted with

Sv443 5 місяців тому
батько
коміт
f96c442c22
2 змінених файлів з 8 додано та 7 видалено
  1. 1 0
      src/components/ExImDialog.ts
  2. 7 7
      src/dialogs/autoLike.ts

+ 1 - 0
src/components/ExImDialog.ts

@@ -82,6 +82,7 @@ export class ExImDialog extends BytmDialog {
       dataEl.value = t("click_to_reveal");
       onInteraction(dataEl, async () => {
         dataEl.value = typeof opts.exportData === "function" ? await opts.exportData() : opts.exportData;
+        dataEl.setSelectionRange(0, dataEl.value.length);
       });
 
       const exportCenterBtnCont = document.createElement("div");

+ 7 - 7
src/dialogs/autoLike.ts

@@ -10,7 +10,7 @@ import "./autoLike.css";
 import { showPrompt } from "./prompt.js";
 
 let autoLikeDialog: BytmDialog | null = null;
-let autoLikeImExDialog: ExImDialog | null = null;
+let autoLikeExImDialog: ExImDialog | null = null;
 
 /** Creates and/or returns the import dialog */
 export async function getAutoLikeDialog() {
@@ -35,8 +35,8 @@ export async function getAutoLikeDialog() {
 
     siteEvents.on("autoLikeChannelsUpdated", async () => {
       try {
-        if(autoLikeImExDialog?.isOpen())
-          autoLikeImExDialog.unmount();
+        if(autoLikeExImDialog?.isOpen())
+          autoLikeExImDialog.unmount();
         if(autoLikeDialog?.isOpen()) {
           autoLikeDialog.unmount();
           await autoLikeDialog.open();
@@ -51,8 +51,8 @@ export async function getAutoLikeDialog() {
     autoLikeDialog.on("close", () => emitSiteEvent("autoLikeChannelsUpdated"));
   }
 
-  if(!autoLikeImExDialog) {
-    autoLikeImExDialog = new ExImDialog({
+  if(!autoLikeExImDialog) {
+    autoLikeExImDialog = new ExImDialog({
       id: "auto-like-channels-export-import",
       width: 800,
       height: 600,
@@ -76,7 +76,7 @@ export async function getAutoLikeDialog() {
           emitSiteEvent("autoLikeChannelsUpdated");
 
           showToast({ message: t("import_success") });
-          autoLikeImExDialog?.unmount();
+          autoLikeExImDialog?.unmount();
         }
         catch(err) {
           error("Couldn't import auto-like channels data:", err);
@@ -288,7 +288,7 @@ function renderFooter() {
 }
 
 async function openImportExportAutoLikeChannelsDialog() {
-  await autoLikeImExDialog?.open();
+  await autoLikeExImDialog?.open();
 }
 
 //#region add prompt