Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 1 odgovor
  • 2.157 pregleda

Najnovija ↓

Ace Editor i mali "zvrk" 30.01.2015. u 15:58 · pre 143 meseca #1
Već 2 sata mučim muku sa "i" sitnicom koja mi ne da mira.
Naime, ta sitnica nije neki veliki problem, sve lepo radi i sa TypeError error porukom koju vidim u konzoli, ali, hoću da ga nema.
Taj jedan jedini problem.

Probao sam sve i svašta.. nema pomaka.

O čemu se zapravo radi?
Koristim Ace Editor za nekoliko određenih html/php stranica. Dakle, standardni način korišćenja. Tu je glavni div a tu je i hidden textarea.

Prvo se Ajax-om povlačim određeni deo koda, (ne celi html/php, već delić, tako mora u ovom mom slučaju), zatim se povlači i sve što treba od javaskripte vezano za ace.
Ace sve to lepo odradi, prefarba ajaxom pozvani deo u određenu temu, .. getSession()... setSession() .. dakle, sve, sve.. Nikakav post problem, ništa..

To što mene nervira se javlja onda kada se u editoru doda recimo najobičnija nova linija ili se započinje novi html tag, a da ta linija ili tag - nije između već postojećeg prethodnog učitanog koda.

Drugačije rečeno, onda kada ajax povuče blanko dokument, dodavanje nečega, u Ace editoru obavezno potera konzolu da mi kaže "TypeError: i is null".
Međutim, onda kada recimo upišem novi <p></p> tag u taj blanko dokument, pa unutar tog p taga dodajem nove sitnice, konzola ne pišti kako je - var i = null ...

I sa tim "pištanjem" sve lepo radi, nema nikakve greške kada se dokument snimi, ali, hoću da nema tog obaveštenja..

Koristim lokalni no-conflict ace.min.js + mode-php.js + worker-php.js ... i našao sam i gde je i šta je u glavnom ace.js fajlu, ali pošto je sve u jednoj liniji, a radi se zapravo oko 13.000 i kusur linija koda *(non-minified) jasno vam je zašto ništa nisam probao.

Na stack-u ništa ne mog' da nađem povodom ovoga, možda trebam još malo da vršljam po "search"... ace api mi isto tako ništa ne govori... (ili je ipak do mene, -I am missing something somewhere- povodom pretrage ...)

Kako god..

Da li bilo ko zna ili se susretao sa ovom sitnicom?
Da li je možda u ace/config.js (moj custom fajl) nešto kako ne valja?

Evo custom config fajla

Code (javascript):


// Ace Editor contruct-edit-main-content php/html mode setup
document.onreadystatechange = function () {
if (document.readyState === "complete") {

     hidden = 'code-content',
     aceDiv = 'aceCodeBlock';

     var textarea = document.getElementById(hidden);
     var elementAce = document.getElementById(aceDiv);
     var puretext = elementAce.innerHTML;

     var editor = ace.edit(aceDiv);
     editor.setTheme("ace/theme/dawn");
     editor.session.setMode("ace/mode/php");
     editor.session.setValue(puretext);
     editor.session.setUseWrapMode(true);
     editor.setShowPrintMargin(false);
     editor.setOptions({
          fontSize: "14pt"
     });

     function autoHeight() {
          wh = (window.innerHeight - 125);
          elementAce.style.height = wh + 'px';
          editor.resize();
     }

     window.onresize = function(event)
     { autoHeight(); };

     editor.session.on('change', function(e) {
     textarea.value = editor.session.getValue(); });

     autoHeight();

}};

 


^^
( "readyState" provera ide jer je ace.js zahtev generisan na samom kraju php/html fajla uz pomoć druge funkcije. )

Drugog problema sa ace-om osim ovog nemam. I definitivno je i jedini.

Dakle, šta dopisati (na kraju glavnog ace.js fajla ili .. ? ) kako bi se ućutkala ova konzola povodom ovoga.. ?

Ako postoji neki ace editor guru ovde na ES-u, a da zna kako da zalečim ovo bez prčkanja po ace.js, bio bih mu puno zahvalan.

Kome nije jasno a voljan je da mi pomogne, na slici je crop dela ekrana i šta kaže konzola onda čim započnem otvaranje taga.. u blanko dokumentu ili mimo (van) već otvorenih tagova.


Potpis
about:networking
Re: Ace Editor i mali "zvrk" 30.01.2015. u 18:52 · pre 143 meseca #2
SUCCESS: Našao sam gde je zvrk. :)

Ukoliko nekoga interesuje i želi sve kako valja u sitna crevca, a koristi lokalni minified ace i ima identičan problem :

U glavnom minified ace.js fajlu -> Linija (naravno) br. 1; colon: 207162

Ovaj deo mi je pravio problem
Code (javascript):

 var s=i.value,o=0,u=r.stepBackward();
 

Na tag-open, var i je fu**ing null.. njente.. none!
A null neće da ima ni .value a bogami ni .innerHTML, 'el da .. ?

Te sam taj deo malo "rasparčao", te promenio u:
Code (javascript):

 if (i !== null) { var s=i.value,o=0,u=r.stepBackward(); } else var u=r.stepBackward();
 


Pa onda spakovao nazad i konzonla više ne "pišti".
Moja varijanta "Aceta" sad zna kako da se snađe, kako god je koristio.
Perfect.

:)

Tema može da se zaključa, ukoliko nema volje za dalju diskusiju oko Ace editora.
Potpis
about:networking
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme