Aljaz Grilc 159cd51684 Improve the logic for repositioning grammar mistake highlights in response to DOM changes
Refactor the click detection logic to check if the click was inside the rectangle of the highlight element, rather than relying on stored rectangle coordinates.
Additionally, this update eliminates the need to attach event listeners to the entire window or the parent elements of the host element, simplifying the event handling and potentially improving performance.
2024-05-24 16:48:02 +02:00
2024-05-23 12:35:12 +02:00
2024-05-22 12:52:23 +02:00

Servis za preverjanje pravopisa v dokumentih HTML

Servis je nadgradnja urejevalnikov HTML <div contenteditable="true">, ki v besedilu urejevalnika preverja in podčrta pravopisne napake. Namenjen je vgradnji v različne spletne strani in storitve, kjer uporabniki vnašajo besedila v naravnem jeziku.

Sistemske zahteve

  • Pravopisni strežnik Amebis Besana na http://localhost:225. V končni verziji bo URL pravopisnega strežnika nastavljiv.
  • Sodobni brskalnik s podporo za ECMA v(TODO: Vpiši najstarejšo verzijo, kjer še dela) in HTML(TODO: Vpiši najstarejšo verzijo, kjer še dela)

Navodila za vgradnjo

V svoji kodi HTML vključimo servis za preverjanje pravopisa tako, da:

1. Vključimo JavaScript in CSS servisa

Primer:

<head>
    ...
    <link rel="stylesheet" href="styles.css" />
    <script>const besUrl = 'http://localhost:225/api/v2';</script>
    <script src="service.js"></script>
</head>

Poti do datotek styles.css in service.js prilagodimo glede na imenik, kjer hranimo ta repozitorij. Spremenljivko besUrl nastavimo po navodilih Amebisa.

2. V kodo HTML vstavimo servis

Primer:

<!-- Vsi elementi z razredom CSS `bes-service` se registrirajo samodejno v document.onload. -->
<div class="bes-service" contenteditable="true">Začetno besedilo</div>
<!-- V dokument mora biti mesto, kjer servis uredi prikaz okna na klik napake. -->
<bes-popup-el></bes-popup-el>

Kadar vstavljamo servis v HTML-jev DOM dinamično (npr. z uporabo JavaScript), registriramo servis tako, da kličemo metodo BesService.register(el), kjer el predstavlja element DOM našega urejevalnika. V tem primeru razred CSS bes-service ni potreben.

Primer:

const el = document.createElement('div')

// Nastavimo, da uporabnik lahko ureja vsebino elementa urejevalnika.
el.contentEditable = "true";

// Element urejevalnika vstavimo v DOM. Element urejevalnika mora biti
// vstavljen v dokument pred klicem `BesService.register(el)`, ker
// registracija potrebuje njegovo pozicijo v drevesu DOM.
parent.appendChild(el)

// Registriramo servis za naš urejevalnik.
BesService.register(el)

Navodila za razvijalce

Programsko kodo v tem repozitoriju razvijamo s programom Visual Studio Code. Potrebna je namestitev vtičnika esbenp.prettier-vscode.

Description
Storitev za preverjanje pravopisa v DOM HTML
Readme 2.2 MiB
Languages
JavaScript 98.8%
CSS 1.2%