Closed anderserla closed 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.
If its not any extra work I'll prefer having it inside WebUserInterface.
Implementerat i metoden toggleEdgeLabels på OpenEMap.Client, dvs. man kan använda det i integration.
Hur testar jag funktionen?
För att slå på det i integrerande kod:
var mapClient = Ext.create('OpenEMap.Client');
mapClient.toggleEdgeLabels();
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)
Den fungerar bara att anropa efter kartan är konfigurerad, dvs. lägg anropet inne i init-funktionen så bör det gå bättre.
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
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).
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.
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.
Nu har vi testat en del och har hittat lite småbuggar :-)
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.
Klart för verifiering.
Ä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"
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.
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.
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).
De först rapporterade buggarna funkar fint nu. Däremot lyckas jag återskapa problemet vid radering. Gör följande
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.
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.
Har någon på sweco möjlighet att lyfta det till en ny version så jag kan verifiera. Anders bortrest måndag-tisdag
Jag har tyvärr ingen information om hur det ska gå till. @sweco-sehrbe kan du?
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.
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?
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.
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).
Lägger denna vilande i väntan på reaktion efter produktionssättning.
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