Language-tools: рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдЯреЛрдХрдиред рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм `{'>'}` рдпрд╛ `>` рдерд╛?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 30 рдордИ 2020  ┬╖  46рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: sveltejs/language-tools

svelte

рдмрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдЪреНрдЫреА app.svelte рдлрд╝рд╛рдЗрд▓ рдкрд░ рдореБрдЭреЗ рдЙрдкрд░реЛрдХреНрдд рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред

рд╕рд┐рд╕реНрдЯрдо (рдХреГрдкрдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВ):

  • рдУрдПрд╕: рд╡рд┐рдВрдбреЛрдЬрд╝
  • рдЖрдИрдбреАрдИ: рд╡реАрдПрд╕рд╕реАрдУрдбреА
  • рдкреНрд▓рдЧрдЗрди/рдкреИрдХреЗрдЬ: рд╕реНрд╡реЗрд▓реНрдЯреЗ рдмреАрдЯрд╛
bug good first issue

рд╕рднреА 46 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдХреНрдпрд╛ рдЖрдк рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреВрд░рд╛ рдХреЛрдб рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдпрд╣ рд╢рд╛рдпрдж рдХреЛрдб рдХреА рд╡рдЬрд╣ рд╕реЗ рд▓рд╛рдкрддрд╛ рдмреНрд░реИрдХреЗрдЯ рдХреЗ рд╕рд╛рде рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдб рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

<script>
  import { onMount } from "svelte";
  import u from "./Helper/utils.js";
  import msgbox from "./Components/msgbox.js";
  import Tabs from "./Components/tabs.svelte";
  import Button from "./Components/Button.svelte";
  import InboxTab from "./Main/Inbox.svelte";
  import ArchiveTab from "./Main/Archive.svelte";
  import HelpTab from "./Main/Help.svelte";
  import SettingsTab from "./Main/Settings.svelte";
  import DocOutTab from "./Main/DocOut.svelte";

  let mainid = "mainid";
  let server = "";
  let TABS;
  let timer = null;
  // let RTL = false;

  onMount(() => {
    u.addPrototypes();

    TABS.addtab({
      name: "inbox",
      description: "$Inbox$",
      icon: "gi-save-file", //icons.faFolderOpen
    });
    TABS.addtab({
      name: "docout",
      description: "$Docs Out$",
      icon: "gi-open-file", //icons.faFilter
    });
    TABS.addtab({
      name: "archive",
      description: "$Search Letters$",
      icon: "gi-search", //icons.faFilter
    });
    TABS.addtab({
      name: "settings",
      description: "$Settings$",
      icon: "gi-cog", // icons.faCog
    });
    TABS.addtab({
      name: "help",
      description: "$Help$",
      icon: "gi-question-sign",
    });

    setTimeout(() => {
      // kludge to get the server for fetch
      u.GET("/api/getuser").then((r) => (server = r));

      // server = window.ServerURL;
      u.GET("/api/inbox.getsettings").then((data) => {
        if (data.Color) {
          u.SetTheme(data.Color);
        }
        if (data.Language == "fa") {
          document.body.dir = "rtl";
          // document.documentElement.style.setProperty("--tblAlign", "right");
        }
      });
      TABS.setInitial();
    }, 0);

    // Heartbeat for auto update
    timer = setInterval(() => {
      u.GET("/api/getuser").catch(() => {
        clearInterval(timer);
        msgbox.Ok("$Connection Failed!$", "", () => window.location.reload(true));
      });
    }, 10 * 1000);
  });

  // register all tabs to be created here for Tab component
  function createTab(tabname, id, props) {
    var tab = null;

    switch (tabname) {
      case "inbox":
        tab = new InboxTab({
          target: document.getElementById(id),
        });
        break;
      case "help":
        tab = new HelpTab({
          target: document.getElementById(id),
        });
        break;
      case "archive":
        tab = new ArchiveTab({
          target: document.getElementById(id),
        });
        break;
      case "settings":
        tab = new SettingsTab({
          target: document.getElementById(id),
        });
        break;
      case "docout":
        tab = new DocOutTab({
          target: document.getElementById(id),
        });
        break;
    }

    return tab;
  }

  // function configeditor() {
  //   // console.log("here");
  // }
</script>

рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ App.svelte рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЗ рд╕реЗрдЯрдЕрдк рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдореЗрдВ рдФрд░ рдХреНрдпрд╛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?

рдореИрдВ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдореБрдЭреЗ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛/рдХрд╣рд╛рдВ рджреЗрдЦрдирд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдорд╛рд░реНрдХрдЕрдк рдФрд░ рд╕реНрдХрд╛рдИрд▓ рдЯреИрдЧ рднреА рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореБрдЭреЗ рдЕрдкрд░рд╛рдзреА рдорд┐рд▓рд╛:

<svelte:head>
  <link rel="stylesheet" href="/lib/jodit.es2018.min.css" />
  <script src="/lib/jodit.es2018.min.js"> 

  </script>
</svelte:head>

рдпрд╣ script head рдЕрдиреБрднрд╛рдЧ рдореЗрдВ script рдЯреИрдЧ рд╣реИ рдЬреЛ рдкрд╛рд░реНрд╕рд░ рдХреЛ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рджреЗрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

arxpoetica picture arxpoetica  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

AlexGalays picture AlexGalays  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

non25 picture non25  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Kingwl picture Kingwl  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

brunnerh picture brunnerh  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ