TIM-JYU / TIM

TIM (The Interactive Material) is an open-source cloud-based platform for creating interactive learning documents.
https://tim.education/view/about/en-US
MIT License
14 stars 4 forks source link

Automaattinumeroinnin jatkokehitys #2480

Open dezhidki opened 2 years ago

dezhidki commented 2 years ago

In GitLab by @vesal on Dec 28, 2021, 20:12

Tässä kortissa on kortin automaattinumerointi-kortin #1201 tekemättä jääneitä asioita ja uusia ilmenneitä tarpeita

dezhidki commented 2 years ago

In GitLab by @vesal on Jan 3, 2022, 01:05

marked the task laskureiden mukaan säädettävä prefix as completed

dezhidki commented 2 years ago

In GitLab by @vesal on Jan 9, 2022, 11:56

Viittaaminen eri dokujen numeroihin

  1. Dokun asetuksiin tulee

    remoteRefs: k: doc: "kurssit/ohj1/2022s/koti" r: "Ohj1 koti: " l: "Ohj1 koti: " d1: doc: "kurssit/ohj1/2022s/demot/demo1"

  2. Renunumbering hakee noiden dokujen autonumber-settings-lohkon ja liittää autocnts jälkeen k: , d1:

  3. Vieraan dokun lukuihin viitataan

    %'Reference to deleted milestone k.suoritus' | lref%%

  4. Dokun yhteyteen voi määreen, mikä lisätään lref arvoihin, esim "Ohj1 koti:" jolloin viitteessä näkyisi tyyliin

    Katso Ohj1 koti: 2.1 Kurssin suoritus

dezhidki commented 2 years ago

In GitLab by @vesal on Jan 14, 2022, 24:12

Viitteiden kopiointi

En tuota vielä lähtenyt tekemään, koska iski epäilys että voivatkos nuo Angular-pluginit edes toimia jos ne lisätään tuossa vaiheessa? Eikös se ole sama kuin niitä käsin kirjoittaisi ja nehän eivät toimi jolloin lohkolle sitä erikseen sanota. Vai voiko jonkin pluginin julistaa aina toimivaksi?

dezhidki commented 2 years ago

Niin, no joo. Pitäisi lohkoon lisätä tällä hetkellä attribuutti allow_angular="true", jotta AngularJS:n parseri saisi mennä lohkojen sisään.

Hmmm, ehkä näin väliaikaisena toiminnallisuutena tämän "click to copy" saisi lisäämällä viewctrl.ts-tiedostoon funktio, joka hakee kaavojen linkit document.querySelectorAll(".headerlink.cnt-labels")-funktiolla ja asettaa niille click-tapahtuman addEventListenerilla. Tai sitten sama jQuerylla (ks. esim. ViewCtrl.setHeaderLinks()).

Se olisi ainakin alkuun OK kunnes saan AngularJS->Angular refaktoroinnin valmiiksi.

dezhidki commented 2 years ago

In GitLab by @vesal on Jan 14, 2022, 09:37

Onko varmaa ettei tuollainen hidasta esim ohj1 monistetta koska tuossahan selain joutuu käymään läpi ksikki lohkot vaikka ei tarvitse. Erityisesti kun suurin osa dokuista ja käyttäjistä ei tuota toimintoa käytä. Mua pelottaa aina nio viattoman näköiset haut, joita ei voi tehdö O(log n) tai O(1) ajassa. DOM puu voinolla jonkin ominaisuuden mukaan tehty, mutta onko nimenomaan tietyn luokan? Ainakin pitäisi osata estää tuo jos ei olla siella adv edit toiminnossa.

dezhidki commented 2 years ago

DOM haku ei ole nykyisillä selaimilla niin hidasta edes. Mutta jos haluaa pelata varman päälle, niin voi lisätä klikkauskäsittelijän kaikki lohkot sisältävälle div.pars-elementille ja rajoittaa tapahtumakäsittelyn vain .headerlink.cnt-labels-elementille. jQueryn on():lla se onnistuu melko helposti näin alkuun, sen avulla voi tosiaankin asettaa $("div.pars").on("click", ".headerlink.cnt-labels", (e) => { ... }), jolloin käsittelijä lisätään yläelementtiin, mutta käsittelijäfunktion rajoitetaan vain .headerlink.cnt-labels:sta tuleviin klikkauksiin.

dezhidki commented 2 years ago

In GitLab by @vesal on Jan 14, 2022, 09:53

tuoko ei missään vaiheessa käy koko puuta läpi? Entä se jos tuo tehtäisiin vain 1. kertaa adv edit mentäessä? Onko siitä joku js-funktion kutsu jossa on tieto joko ollaan oltu koskaan siellä. Silloin se ei varmasti hidastaisi peruskäyttöä.

Anteeksi skeptisyyteni, mutta esim ohj1 moniste renderöitiin aikanaan Pythonissa alle 2 sek ja selaimrn kokonaisaika oli hunommallakin selaimella alle 5 sek. Ominaisuuksien lisääminen on tuonut hidastusta jatkuvasti myös sinne missä jotakin ominaisuutta ei tarvita. Olen vaan oppinut että on varmempi tarkistaa kuin toivoa :-)

dezhidki commented 2 years ago

Jos laittaa tapahtumakäsittelijän ylempään elementtiin, alempien elementien tapahtumat (yleensä) "kuplivat" ylös ellei niitä erikseen toinen tapahtumakäsittelijä pysäytä (tai tapahtuma ei tue sitä), katso MDN:n selitys tai hieman visualisempi versio.

dezhidki commented 2 years ago

In GitLab by @vesal on Jan 16, 2022, 03:06

No nyt tuo jquery-juttu tehdään vain kun mennään ekan kerran sinne adv.edit

dezhidki commented 2 years ago

In GitLab by @vesal on Jan 16, 2022, 22:05

marked the task Myös numeroimattomasta dokusta mahdollisuus lref lukujen nimiin as completed

dezhidki commented 2 years ago

In GitLab by @vesal on Jan 16, 2022, 22:05

marked the task Viitteiden näyttäminen ja helppo kopiointi tuplaklikkaamalla (ks. !360) as completed

dezhidki commented 2 years ago

In GitLab by @vesal on Jan 23, 2022, 19:57

marked the task Viittaaminen eri dokujen kaavoihin ja lukuihin. Ks idea alempana as completed