Sundsvallskommun / OpenEMap-WebUserInterface

Open eMap user interface for the main map client
GNU Affero General Public License v3.0
4 stars 5 forks source link

Tool "Draw object" - Print dimensions of object in map #8

Closed anderserla closed 10 years ago

anderserla commented 10 years ago

Use case https://service.projectplace.com/pp/pp.cgi/d991521806/Anv%C3%A4ndningsfall%20f%C3%B6r%20situationsplanen%20med%20m%C3%A5tt.docx?save_as=1

ghost commented 10 years ago

Diskussion har förts om denna funktionalitet skall byggas in i WebUserInterface eller läggas utanför. Jag har inga argument för eller emot detta, men om den läggs in i WebUserInterface kan den också göras konfigurerbar i admin men om det önskas krävs fler insatser.

anderserla commented 10 years ago

If its not any extra work I'll prefer having it inside WebUserInterface.

ghost commented 10 years ago

Implementerat i metoden toggleEdgeLabels på OpenEMap.Client, dvs. man kan använda det i integration.

anderserla commented 10 years ago

Hur testar jag funktionen?

ghost commented 10 years ago

För att slå på det i integrerande kod:

var mapClient = Ext.create('OpenEMap.Client');
mapClient.toggleEdgeLabels();
anderserla commented 10 years ago

Får följande fel när jag försöker anropa toggleEdgeLabels(), vad missar jag?

Uncaught TypeError: Cannot read property 'addLayer' of null OpenEMap-all.js:149 Ext.define.toggleEdgeLabels OpenEMap-all.js:149 (anonymous function) PolygonLabel.html:23 (anonymous function) ext-all.js:21 fire ext-all.js:21 Ext.apply.readyEvent.j.fire ext-all.js:21 Ext.apply.fireReadyEvent ext-all.js:21 (anonymous function)

Se http://194.71.24.168/OpenEMap-1.0.3/PolygonLabel.html

ghost commented 10 years ago

Den fungerar bara att anropa efter kartan är konfigurerad, dvs. lägg anropet inne i init-funktionen så bör det gå bättre.

anderserla commented 10 years ago

Fortfarande problem Uncaught TypeError: Reduce of empty array with no initial value OpenEMap-all.js:146 a OpenEMap-all.js:146 Ext.define.toggleEdgeLabels OpenEMap-all.js:147 init PolygonLabel.html:56 Ext.create.listeners.select PolygonLabel.html:66 fire ext-all.js:21 continueFireEvent ext-all.js:21 fireEventArgs ext-all.js:21 a.fireEventArgs ext-all.js:21 fireEvent ext-all.js:21 Ext.cmd.derive.onListSelectionChange ext-all.js:21 fire ext-all.js:21 continueFireEvent ext-all.js:21 fireEventArgs ext-all.js:21 fireEvent ext-all.js:21 Ext.cmd.derive.maybeFireSelectionChange ext-all.js:21 Ext.cmd.derive.doSingleSelect ext-all.js:21 Ext.cmd.derive.doSelect ext-all.js:21 Ext.cmd.derive.selectWithEvent ext-all.js:21 Ext.cmd.derive.onItemClick ext-all.js:21 fire ext-all.js:21 continueFireEvent ext-all.js:21 fireEventArgs ext-all.js:21 a.fireEventArgs ext-all.js:21 fireEvent ext-all.js:21 Ext.cmd.derive.processUIEvent ext-all.js:21 Ext.cmd.derive.handleEvent ext-all.js:21 (anonymous function) VM555:7 m

Se http://194.71.24.168/OpenEMap-1.0.3.3/PolygonLabel.html

ghost commented 10 years ago

Ok den klarade inte att köras när det inte fanns några geometrier i kartan vilket jag inte testat. Det ska vara fixat nu.

Det vore bättre om du hade möjlighet att testa på icke minifierad javascript (innan dess är det i princip meningslöst att försöka debugga utifrån felmeddelande ovan).

anderserla commented 10 years ago

Nu lyckas jag. Finns det någon dokumentation för verktygen och hur man interagerar med dem? Jag skulle vilja testa att skapa byggnad med andra mått än 10m.

ghost commented 10 years ago

API docs finns i källkoden och kan genereras till HTML-sidor. Konfiguration för ett verktyg speglar i princip API för ett verktyg.

anderserla commented 10 years ago

Nu har vi testat en del och har hittat lite småbuggar :-)

  1. När jag ändrar ett mått i Object config, så ändras figuren, men inte måttsättningen direkt. Måttsättningen ändras först då jag ändrar ett annat objekt image
  2. Måttsättning (och insättningspunkterna) följer inte med om jag flyttar ett objekt med verktyget "Ändra ritat objekt". Måtten hoppar rätt om jag avaktiverar objektet/aktiverar ett annat, men insättningspunkten hoppar rätt först när jag ändrar nåt i "Objekt konfig" image image
ghost commented 10 years ago

Buggen att Mata in text hör till Pers jobb med textverktyg.

De andra sakerna går att fixa och har att göra med att bevaka fler events i kartan för att få fler uppdateringar. Estimat 2-4h.

ghost commented 10 years ago

Klart för verifiering.

anderserla commented 10 years ago

Är ändringarna incheckade? Den enda skillnaden jag märker är att värdena avrundas till två decimaler. I övrigt fungerar det fortfarande på samma sätt som tidigare. Upptäckte också ytterligare en bugg: Efter att jag raderat en byggnad så slutade verktygslisten fungera. Verktygen avmarkerades inte som de skulle när jag valde andra verktyg. Ett Javascriptfel dök upp "Uncaught TypeError: Cannot read property 'removeComponent' of null"

ghost commented 10 years ago

Mina ändringar fixade bara fallet när man ändrar objektet, inte flyttar. Ska se om jag kan få till och det även fixa det nya felet du upptäckt.

ghost commented 10 years ago

Kan inte reproducera felet du fått när du raderat byggnad, misstänker att det är ett problem som är relaterat till något annat.

ghost commented 10 years ago

Fix gjord för problemet att texterna inte uppdaterades efter man flyttat (eller roterat) objekt. Uppdateringen sker först när man släpper objektet, hittar inget sätt att momentant uppdatera för dessa fall (till skillnad mot när man flyttar en vertex).

anderserla commented 10 years ago

De först rapporterade buggarna funkar fint nu. Däremot lyckas jag återskapa problemet vid radering. Gör följande

  1. Välj ett objekt med någon av verktygen
  2. Klicka på radera
  3. Välj flera av rita byggnad verktygen -> FEL alla verktygen blir valda och de fungerar inte. image
annakaren commented 10 years ago

Jag lyckas oxå återskapa samma fel som Anders ovan både i Chrome och internet explorer 9. Detta händer om väljer knappen "Ändra ritat objekt" innan man raderar. Om man bara väljer radera fungerar det (för den byggnad man gjorde sist) att fortsätta rita fler byggnader.

ghost commented 10 years ago

Jag kan inte riktigt se att felet har med toggleEdgeLabels att göra.

Dock hittade jag en felaktig grej (sedan länge tillbaks) i DrawObject som ger mig liknande problem och det är fixat i 13491452f4c1b3c298d1da02e0a6dba88ca647dc.

Klart för verifiering.

annakaren commented 10 years ago

Har någon på sweco möjlighet att lyfta det till en ny version så jag kan verifiera. Anders bortrest måndag-tisdag

ghost commented 10 years ago

Jag har tyvärr ingen information om hur det ska gå till. @sweco-sehrbe kan du?

annakaren commented 10 years ago

Bättre men jag kan fortfarande få problem om jag glömmer avmarkera "Ändra ritat objekt" och försöker rita igen går det inte. Om jag gör rätt och avmarkerar "ändra ritat objekt" går det bra att fortsätta rita olika byggnader.

ghost commented 10 years ago

Förstår inte.. man ska bara kunna ha en funktion igång samtidigt, dvs. har du ändra ritat objekt aktivt ska det inte gå att använda verktyget rita nytt objekt samtidigt?

annakaren commented 10 years ago

OK,Vi släpper detta och anser den klar för funktionstest, inser att man aldrig ska rita mer än en byggnad och därför aldrig kommer hamna i det läge jag försökte beskriva. Möjligen i den mest avancerade e-tjänsten förhandsbesked där man kan rita fler byggnader kan det bli problem.

Du har rätt att man inte ska ha 2 verktyg aktiva samtidigt men gör jag det felet och sen när jag då avaktiverar ändra rita objekt och väljer rita byggnad går inte det. Tråkigt läge för en användare att börja om att rita om det uppstår.

ghost commented 10 years ago

Ok jag kan tyvärr fortfarande inte reproducera det felet (dvs. för mig kan jag rita flera objekt, ändra på ett och fortsätta rita ett annat).

anderserla commented 10 years ago

Lägger denna vilande i väntan på reaktion efter produktionssättning.