From 50dd586fbe30f3043afc9a7eaa41c4d4a4bee688 Mon Sep 17 00:00:00 2001 From: Devin Howard Date: Wed, 2 Jan 2013 21:01:56 -0500 Subject: [PATCH 1/5] removed showcard routes, html.erb, and controller entries/files since it's back in javascript --- app/controllers/topics_controller.rb | 10 ---------- app/views/topics/showcard.html.erb | 29 ---------------------------- config/routes.rb | 2 -- 3 files changed, 41 deletions(-) delete mode 100644 app/views/topics/showcard.html.erb diff --git a/app/controllers/topics_controller.rb b/app/controllers/topics_controller.rb index cec65cda..fb49ae15 100644 --- a/app/controllers/topics_controller.rb +++ b/app/controllers/topics_controller.rb @@ -46,16 +46,6 @@ class TopicsController < ApplicationController end end - # GET showcard/:id - def showcard - @user = current_user - @topic = Topic.find(params[:id]).authorize_to_show(@user) - - respond_to do |format| - format.html { respond_with(@topic, @user) } - end - end - # POST topics def create diff --git a/app/views/topics/showcard.html.erb b/app/views/topics/showcard.html.erb deleted file mode 100644 index ccceea1d..00000000 --- a/app/views/topics/showcard.html.erb +++ /dev/null @@ -1,29 +0,0 @@ -
-
-

- <%= @topic.metacode.name %> -

- <%= @topic.metacode.name %> -
- - <%= @topic.name %> - -
- Added by: - - <%= @user.name %> - -
-
-

- <%= @topic.desc %> -

-
-
- - <%= @topic.link %> - -
-
diff --git a/config/routes.rb b/config/routes.rb index fe7301d5..d5bd31ba 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -10,8 +10,6 @@ ISSAD::Application.routes.draw do match 'maps/:id/savelayout', to: 'maps#savelayout', via: :put, as: :savelayout - match 'showcard/:id', to: 'items#showcard', via: :get, as: :showcard - resource :session resources :topics do From 0384c3f866dbc4e4e3d373ad83906a05a5a52668 Mon Sep 17 00:00:00 2001 From: Devin Howard Date: Wed, 2 Jan 2013 21:02:41 -0500 Subject: [PATCH 2/5] added rudimentary editing on link and desc fields TODO: some kind of best in place callbacks, buttons that seperate links from editing --- app/assets/javascripts/Jit/graphsettings.js | 23 +++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/Jit/graphsettings.js b/app/assets/javascripts/Jit/graphsettings.js index 2330484d..01933f44 100644 --- a/app/assets/javascripts/Jit/graphsettings.js +++ b/app/assets/javascripts/Jit/graphsettings.js @@ -527,7 +527,6 @@ function clickDragOnTopic(node, eventInfo, e) { function onCreateLabelHandler(domElement, node) { var html = ' \
\

$_username_$ \

\
\ -

$_desc_$

\ + $_desc_$ \
\ \ - $_link_$ \ + \ + $_link_$ \ + \ '; //create metacode_choices array from imgArray @@ -577,7 +588,11 @@ function onCreateLabelHandler(domElement, node) { html = html.replace(/\$_name_\$/g, node.name); html = html.replace(/\$_userid_\$/g, node.getData("userid")); html = html.replace(/\$_username_\$/g, node.getData("username")); - html = html.replace(/\$_desc_\$/g, node.getData("desc")); + if (node.getData("desc") == "") { + html = html.replace(/\$_desc_\$/g, 'Click to add description.'); + } else { + html = html.replace(/\$_desc_\$/g, node.getData("desc")); + } html = html.replace(/\$_link_\$/g, node.getData("link")); html = html.replace(/\$_metacode_choices_\$/g, metacode_choices); From 7e6294a705a578183f7d3a93dd751488b68ebe1f Mon Sep 17 00:00:00 2001 From: Devin Howard Date: Wed, 2 Jan 2013 21:49:00 -0500 Subject: [PATCH 3/5] Getting closer to working in-place editing. TODO: Fix the way the links work, fix click-dragging on text, run callbacks on change of the metacode or link, and organize the metacode list --- app/assets/javascripts/Jit/graphsettings.js | 45 ++++++++++++--------- app/assets/stylesheets/topics.css.scss | 8 +++- 2 files changed, 34 insertions(+), 19 deletions(-) diff --git a/app/assets/javascripts/Jit/graphsettings.js b/app/assets/javascripts/Jit/graphsettings.js index 01933f44..1fcfad10 100644 --- a/app/assets/javascripts/Jit/graphsettings.js +++ b/app/assets/javascripts/Jit/graphsettings.js @@ -535,20 +535,26 @@ function onCreateLabelHandler(domElement, node) { data-collection=$_metacode_choices_$ \ data-attribute="metacode" \ data-type="select">$_metacode_$

\ - \ - $_metacode_$ \ - \
\ - $_name_$ \ + \ + \ + $_name_$ \ + \ + \ + \ + \
\ Added by: $_username_$ \
\ @@ -561,13 +567,16 @@ function onCreateLabelHandler(domElement, node) { data-type="textarea">$_desc_$ \
\ \ + $_link_$ \ \ - $_link_$ \ + \ \ '; diff --git a/app/assets/stylesheets/topics.css.scss b/app/assets/stylesheets/topics.css.scss index 7fbc6738..2d6af234 100644 --- a/app/assets/stylesheets/topics.css.scss +++ b/app/assets/stylesheets/topics.css.scss @@ -34,4 +34,10 @@ line-height: 24px;} .topic .desc { font-size:15px; font-family:Arial, Helvetica, sans-serif; } .topic .desc h3 { font-style:normal; margin-top:5px; } -.topic .link { position:absolute; width:170px; top:295px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } \ No newline at end of file +.topic .link { position:absolute; width:170px; top:295px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } + +.topic-go-arrow { + width: 1em; + height: 1em; + float: right; +} From 8305beaaa70d0bda03e7e0a312bf5d67e37eaea5 Mon Sep 17 00:00:00 2001 From: Devin Howard Date: Wed, 2 Jan 2013 21:55:47 -0500 Subject: [PATCH 4/5] organized the metacodes list --- app/assets/javascripts/Jit/graphsettings.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/Jit/graphsettings.js b/app/assets/javascripts/Jit/graphsettings.js index 1fcfad10..3f1c07a3 100644 --- a/app/assets/javascripts/Jit/graphsettings.js +++ b/app/assets/javascripts/Jit/graphsettings.js @@ -581,12 +581,23 @@ function onCreateLabelHandler(domElement, node) { '; //create metacode_choices array from imgArray - var metacode_choices = "'["; + var metacodes = new Array(); for (var key in imgArray) { if (imgArray.hasOwnProperty(key)) { - metacode_choices += '["' + key + '","' + key + '"],'; + if (key != node.getData("metacode")) { + metacodes.push(key); + } } } + + //Arrange it how we want it + metacodes.sort(); + metacodes.unshift(node.getData("metacode")); + + var metacode_choices = "'["; + for (var i in metacodes) { + metacode_choices += '["' + metacodes[i] + '","' + metacodes[i] + '"],'; + } //remove trailing comma and add ] metacode_choices = metacode_choices.slice(0, -1); metacode_choices += "]'"; From 4ea435dfee4e4f1680f80626b17d9621f6f7685e Mon Sep 17 00:00:00 2001 From: Devin Howard Date: Wed, 2 Jan 2013 22:39:10 -0500 Subject: [PATCH 5/5] added a close button, also the image is now updated when you change metacodes --- app/assets/images/go-arrow.png | Bin 0 -> 22015 bytes app/assets/javascripts/Jit/graphsettings.js | 25 ++++++++++++++------ app/assets/stylesheets/topics.css.scss | 4 +++- 3 files changed, 21 insertions(+), 8 deletions(-) create mode 100644 app/assets/images/go-arrow.png diff --git a/app/assets/images/go-arrow.png b/app/assets/images/go-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..74181fe80a73e52e297a1df8580dc4797865335e GIT binary patch literal 22015 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�#f0hdi=(THv!yfXXvDSKeVlUyUUzBQn@bEX{vW+yIu^CJfCPn(2M34o zqucJsj$Qk$HE}YdcXqya&wt0*SWbGgF9oVsW>X07q8PX3n6VL>~ba;ohXs7<|%bJ?PIeo8&ll0 z>)w11zx>VP5gSu@Z@O>W_5GWl)x8?GP)09Dc(DLi!zRMCFRN7Y{pf|7=Ea)wrKX`_ zaq?32Y~gC0EuAi{PRA&^A+;Ez>(;BznA(8TJ~kT-bqOh<)Gat1Pd~Q?k39LZy==$X zHnM-i*N1nn-W8+X<&3LzSUJr92?aS&S)dE4wCP?-8Z}H8UW%!1%Rf$9Qy#H}Lu#K=h4VF1D{Ez>Co- zHjlE)cmN%!+_<}(PPRgH=JnYYmGfk@zMn9sh1;-vTJ$Sy9Iwl7&I-0`I ze)%xo-?ZIW6aYB6%)WM1A-d%<_p6S@sf-uUfy#`#OVx== zYtk(i*m1|;#W6bpEaTE6X8e`0?#7g<63we1@9FKw4{p5=`}TKPi_2$6|Fi3jU;PhD zeT9q{qnpCV6ZBQX;#9^H=)lB`yKVWzO{<3M@{Q8h#p`rTdL~`1NNd|UP{$ZfSu`7S zXEbUVT*$872k?Vi@4>*}h%NhEZfxLt-EZA>Z;^E@C!-e{KAxt0Ar?qQWxRndWIV^+ zg^sz4akA<1j!I+FG3nX#tuw-#7W;E9u0S<7ie{TzZ`pbu{8&d#2JT}yEL*IK3 z|E_>4lmh;P0rXYL;#4LI=)m}lyT@amJZ>6YI-QP5&!!JRIM+FOw6lBAHnYi;1pda9 zSKq`v4?PpHF@^6-_iejoVDqyZi>Y5sy<*JxLh`Hhn7(RQoXSK3T}Zji@KS(Wh^cN1 zSL1ByOzBN}HhoEi-_2hLt6N{=Mdcj_4?q4Ao_%p`M4rxup#$r$8Qrw$D1C!)a4sXA0)NZ4-T3j(?u*=*l1~kMv+JF^A1$ox zkW`w{$9w#K&;eXXwF4a}4zzKn(uxT;<*%lRN*kpYr5_f!j{$cz3j035JIX@oGIaBzg0=STa0q8=CF}2HK!WR-(ikV(O2fz$@=)G>7b3F6> z?;|&+fb(ssf$dieY)_LUmbSG62WKo=61%}u(cn&g$3PBZC7r3r~T zM$hGPxaYxVvFi5`8&f#{eQNLP*9`7?vo~&8DDI{&#qkyuKM_v5gF+5Qpi?Q8xyvyQ zFLaz*O(snBR4Rp^-SH?kMr=$0&pkN2?YVD`bnQqNQci@FYkVH1Q%P_~<$ut~ z!47mGJi*E91h#^ZCE&c>UJ@8CSmq znW*Wu8n9zX4d~HQPOo}}rqr~OcJi6)J753#g9W51H)tkes;wp(sR6xkDFxJ}n(A@K z?cKOO=3t5=;e{|no@HBfCGb;E$3UZnUT-;ym`l#82MFF zD&?H3NfA;5dgY{2Q)&qY=T#tamKwo<)y`1Q