javascript - Tagging Status in the Image -


i have phonejs project, created web, using html , js. need have page containing project construction plan/highrsie building plan image. there numbers of lots in image, lot 1-20 example, having status available, sold, booked etc. want make user can tag in image status corresponding lot, maybe differentiate colour, example red=sold, green=available, etc, , status can save database. suggest me on best way/method accomplishing this? lot in advance.

i have tried using canvas. following code.

html

<div data-options="dxview : { name: 'status_tagging', title: 'status_tagging' } " > <div  data-options="dxcontent : { targetplaceholder: 'content' } " >    <h4>drag status corresponding lot.</h4>     <img id="available" width=32 height=32 src="images/available.png">     <img id="booked" width=32 height=32 src="images/booked.png">     <img id="hold" width=32 height=32 src="images/hold.png">     <img id="reserved" width=32 height=32 src="images/reserved.png">     <img id="sold" width=32 height=32 src="images/sold.png">     <img id="siteplan" src="images/siteplan.jpg">     <br>     <canvas id="mycanvas" width=300 height=300 style="border:1px solid #d3d3d3;"></canvas> </div> 

javascript

kioskadminv2.status_tagging = function (params) {  var id = params.id; var tb_prop_siteplan = new kioskadminv2.tb_prop_siteplanviewmodel(); var canvas=document.getelementbyid("mycanvas"); var ctx=canvas.getcontext("2d"); var $canvas=$("#mycanvas"); var canvasoffset=$canvas.offset(); var offsetx=canvasoffset.left; var offsety=canvasoffset.top; var img=document.getelementbyid("siteplan"); ctx.drawimage(img,10,10);  var image1=new image(); image1.src = "images/available.png"; var image2=new image(); image2.src = "images/booked.png";  var $available=$("#available"); var $booked=$("#booked"); var $canvas=$("#mycanvas");  $available.draggable({     helper:'clone' });  $booked.draggable({     helper:'clone' });  // set data payload $available.data("image",image1); // key-value pair $booked.data("image",image2); $canvas.droppable({     drop:dragdrop });  function dragdrop(e,ui){     var element=ui.draggable;     var data=element.data("url");     var x=parseint(ui.offset.left-offsetx);     var y=parseint(ui.offset.top-offsety);     ctx.drawimage(element.data("image"),x-1,y); }   return {     id:id,     tb_prop_siteplan: tb_prop_siteplan,     canvas:canvas,     ctx:ctx,     $canvas:$canvas,     canvasoffset:canvasoffset,     offsetx:offsetx,     offsety:offsety,     img:img,     image1:image1,     image2:image2,     $available:$available,     $booked: $booked,     dragdrop: dragdrop  }; 

};

but got error "cannot read property of 'getcontext' of null". can tell me why this?

you project in canvas or svg, but...

since building plan fixed in shape, don't need them project.

just use html+css -- simpler learn + more html+css tutorials online.

  1. cut building plan lots , make image of each lot.
  2. make both green , red shaded version of each lot.
  3. listen mouseclick events , determine lot use clicked in.
  4. toggle image lot red-to-yellow-to-green representing sold-booked-available.

Comments

Popular posts from this blog

windows - Single EXE to Install Python Standalone Executable for Easy Distribution -

c# - Access objects in UserControl from MainWindow in WPF -

javascript - How to name a jQuery function to make a browser's back button work? -