From fb4d12e09fe37561dbce4cf92a1dad81b7f8cf0c Mon Sep 17 00:00:00 2001 From: riccardo Date: Mon, 14 Mar 2011 18:38:30 +0100 Subject: [PATCH] added icons button style and some frix on div marker --- telemeta/htdocs/css/telemeta.css | 92 ++++++++++++++++-- telemeta/htdocs/images/add.png | Bin 0 -> 579 bytes telemeta/htdocs/images/cancel.png | Bin 362 -> 255 bytes telemeta/htdocs/images/copy_page.png | Bin 0 -> 799 bytes telemeta/htdocs/images/dublin_core.png | Bin 0 -> 909 bytes telemeta/htdocs/images/edit_page.png | Bin 979 -> 710 bytes telemeta/htdocs/images/next.png | Bin 1068 -> 726 bytes telemeta/htdocs/images/previous.png | Bin 1274 -> 733 bytes telemeta/htdocs/images/save.png | Bin 0 -> 563 bytes telemeta/htdocs/timeside/src/controller.js | 15 +-- telemeta/htdocs/timeside/src/divmarker.js | 19 ++-- telemeta/htdocs/timeside/src/markermap.js | 53 +++++++--- telemeta/htdocs/timeside/src/player.js | 3 +- telemeta/htdocs/timeside/src/ruler.js | 13 ++- .../telemeta_default/collection_list.html | 4 +- .../telemeta_default/mediaitem_add.html | 16 ++- .../telemeta_default/mediaitem_detail.html | 19 +++- .../telemeta_default/mediaitem_edit.html | 17 ++-- .../telemeta_default/mediaitem_list.html | 3 +- 19 files changed, 199 insertions(+), 55 deletions(-) create mode 100644 telemeta/htdocs/images/add.png create mode 100644 telemeta/htdocs/images/copy_page.png create mode 100644 telemeta/htdocs/images/dublin_core.png create mode 100644 telemeta/htdocs/images/save.png diff --git a/telemeta/htdocs/css/telemeta.css b/telemeta/htdocs/css/telemeta.css index e41fa931..15445b25 100644 --- a/telemeta/htdocs/css/telemeta.css +++ b/telemeta/htdocs/css/telemeta.css @@ -97,12 +97,12 @@ a img { border: none; } right: 0; top: 0; } -#submenu a { +/*#submenu a { height: 1.6em; color: #4d508a; font-size: 0.9em; font-weight: bold; -} +}*/ #rightcol { position: relative; @@ -832,7 +832,16 @@ a.image-link { z-index: 10; } -.markersdivButton{ + +.roundBorder4{ + /*padding: 0.3em 0.8em 0.8em 0.8em; + margin: 0 0 1.5em 1.5em;*/ + + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.roundBorder6{ /*padding: 0.3em 0.8em 0.8em 0.8em; margin: 0 0 1.5em 1.5em;*/ @@ -840,6 +849,22 @@ a.image-link { -webkit-border-radius: 6px 6px 6px 6px; border-radius: 6px 6px 6px 6px; } +.roundBorder8{ + /*padding: 0.3em 0.8em 0.8em 0.8em; + margin: 0 0 1.5em 1.5em;*/ + + -moz-border-radius: 8px 8px 8px 8px; + -webkit-border-radius: 8px 8px 8px 8px; + border-radius: 8px 8px 8px 8px; +} +.roundBorder10{ + /*padding: 0.3em 0.8em 0.8em 0.8em; + margin: 0 0 1.5em 1.5em;*/ + + -moz-border-radius: 10px 10px 10px 10px; + -webkit-border-radius: 10px 10px 10px 10px; + border-radius: 10px 10px 10px 10px; +} .markersdivUneditable{ border: 0px !important; @@ -863,31 +888,36 @@ a.image-link { font-style: italic; } .markersdivTopElement{ - vertical-align:middle; + /*vertical-align:middle;*/ } .markersdivTitle{ font-weight:bold; margin:0; padding:0; + position:relative; + top:-0.5ex; /*margin-right:margin*/ } .markersdivEdit, .markersdivEdit:hover, .markersdivEdit:visited, .markersdivEdit:link, .markersdivEdit:link:hover, .markersdivEdit:visited:hover{ font-weight:bold; - border:1px dotted #333333; float:right; - color:#000; + color:#333; background-image: url('/images/edit_marker.png'); background-repeat:no-repeat; background-position: center left; border:2px solid #666; - height:1ex; - padding:0px 1ex 2ex 3ex; /*top right bottom left*/ - font-size: 70%; + height:2.2ex; + width: 8.5ex; + /*padding:0px 1ex 2ex 3ex;*/ /*top right bottom left*/ + font-size: 65%; margin-left: 1ex; margin-right:1ex; position:relative; - top:-0.5ex; + /*top:-0.5ex;*/ +} +.markersdivEdit span{ + position:absolute;top:-0.75ex;left:3ex; } .markersdivDelete{ border:0px; @@ -921,3 +951,45 @@ a.image-link { border: 1px solid #aaaaaa; margin-bottom: 1ex; } + + +.mediaitem_button, .mediaitem_button:hover, .mediaitem_button:visited, +.mediaitem_button:link, .mediaitem_button:link:hover, .mediaitem_button:visited:hover{ + padding:0.7ex 1ex 0.7ex 4ex; /*top right bottom left*/ + border-top: 1px solid #DDD; + border-left: 1px solid #DDD; + border-bottom: 1px solid #666; + border-right: 1px solid #666; + background-color: #f9f9f9; /*#626262;*/ + color:#444; + font-weight: bold; + background-repeat: no-repeat; + background-position: 1ex .5ex; + + +} +.mediaitem_button_edit{ + background-image: url('/images/edit_page.png'); + + } +.mediaitem_button_copy{ + background-image: url('/images/copy_page.png'); +} +.mediaitem_button_previous{ + background-image: url('/images/previous.png'); +} +.mediaitem_button_next{ + background-image: url('/images/next.png'); +} +.mediaitem_button_dublin_core{ + background-image: url('/images/dublin_core.png'); +} +.mediaitem_button_cancel{ + background-image: url('/images/cancel.png'); +} +.mediaitem_button_save{ + background-image: url('/images/save.png'); +} +.mediaitem_button_add{ + background-image: url('/images/add.png'); +} \ No newline at end of file diff --git a/telemeta/htdocs/images/add.png b/telemeta/htdocs/images/add.png new file mode 100644 index 0000000000000000000000000000000000000000..8431237bd374e68931a13df798bc0996452f705f GIT binary patch literal 579 zcmV-J0=)f+P)VxXK$hi6FoGM6#-0&DYi+BPO7z*s9d>{0vUq8c z&G}94mG91_zoj3m9VHsT2!GA?={D6)mHkfz06td>m_bcrSPcMDDeJM*+y>fjK<#^t z=uU*oi<@Nt)FU+;02V?7_3H~3cIR1VuFMcTS6l_&FA2GV;y{3lgxXDZuxrZSS;?#* z=QUvpn-9RT!7#-`zX5oG|B7vHE(aR6zHX6znI;PO!UTD_B~KNw&}=sMyujCO=T4U( z2yTeTTYCpkegjtzCeCEM0NlE6vV;ClKoWLfLST%sZMP!k44ofy`glX(f`a29w(7Bet# z3xhBt!>l+? z@dkV6zqYG6*fqt@>tVV@EC1m{%j*o=i!;P`_5Lrd{#eQ6bCG*<=~p(1;=?DE8{`;H zDyyk8u)e#f>^e`WM0&%AwP{&58@O(2i(bAp{lJ5uDL$uW7kuRVwDY|BXM^}zA<{V+ xPOH!6mhrp1oho41sCu<^TcbQd%6WH^KYEFCb>M6lGmB#E;z-DS{}a6wyU-*M(*!2;#<7OK~NL z%^%>OA?-#HK@?PIC<>|Ck|1VbJA}04qseqKxifd>&b{ZjD5EJh`0UQh;oje|MmJCPY*4o`0`}>F2 za_hdhdgYPYTj;Mj_C=8ofZt1T^cF+QLk5 z@0+i_%hp%h?)$Hozl@@&8by(gq6jGk?ZbX@E6XjuRv2HgxwX$<8`~%;Io+%=vQ7?1 ziKhcW^VICcD<6Gw{ZwsX4)EpM=U<8A!Envyk5?FHIRIhF08kDKqz;tU>^B5Q zPgLJ}=i=fups4`TH2XbC$K$E6pgY|d0IfWvlqgS9E|*D0eKMOe|9p!)cd*VG;6(`_ zr1<%u*WUv0qyQkdjy%f=w5Cz7V1;CNcaJQy6p9Av34po;xNz>w#-m<;LrRIS6(_4x zw3;)_x9Sv3KtCCAFc^~zhQ$3tw673CJPtZJhqG=)dGg%s$!WIty0kaDv^Tftc4Lf$ za^NAHBS{jZloJ8}2=3nB`Cv<}eP zV^V>C1?`=iSl-0aUix^kedpIdK4?DEke%HgN-3OkI19-j#TfJ71WT6}W8kOBd!|~W z-k70WE@5+rwHD_bd1jGPKGB7za(iVpU%TyzJhS5Hd=fnw3@zZq(K;U`ilPSaGB68> dr+jh1_TPn(90bZ?)G+`6002ovPDHLkV1l{7do%z5 literal 0 HcmV?d00001 diff --git a/telemeta/htdocs/images/dublin_core.png b/telemeta/htdocs/images/dublin_core.png new file mode 100644 index 0000000000000000000000000000000000000000..d53e56efaa1aec24d08d23a7c984019f579cba16 GIT binary patch literal 909 zcmV;819JR{P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW0}c=#0yR6fEC2uiL3Bk}bVF}# zZDnqB07FtmK~zstIv{6cEoyLOXCQVlE-)Y{b#rNMXCO&RM<7a2MMofZHZmzJAaQkJ zY-x0PAUz;CFbc3mSd#z%0@6uDK~yNu1;I^dTvZeR;B(Kr_r3ex%p{$en8{yjTA{Wj zm~MnvH&p{7f{GBKXlkJg5vi*NMNEE~#NeXI{(7wTfT@aw= zZ5Ke|Nq+2UvH$V-=KAEy=VIT2oPTQUgD>pg8)nC>df`NzD~lE760yBpN0s}HhV67y z-Z^pV^ybGal_#EaQIuT%y0-A*@cO#<>$&o-hw#rR*Q_dOH@bsrLu#ly3!eq#@>ow4f|60_iqV_Lq;2hF16wFCyIUte*YnQ{iD|EQng-J?KX@;GDMS2i`Ma4 zgo$=mD2a|pq9th*N&~{ffDH-595Pvp&bdiBoSEazJ3VZTW-fyu7;5s#OF5SqWYB>U jt5~8{Cfp7+KlsT1_S%Fp?JO3LQODj zbR2bN-n;MK+rmFHqf!SB+>-Q?h(eAMxd*sCt>)9g~AbbRqPhe?liN#qLP-T zy_uSZV5tvyu^MzPxDQuqq%tgIB(Bs<&*kv>ETD=|IAVT}#cH2kZ|XTe{F#+1Pa5@ zaE!xVFUL;RG5V?#+h8v%M{61FW+#^ARFT5FC5K2Y6ooJ6P{t#V|RG+#z$ivdRG z=O|dN?z15|@Pz6kwTwK!3qq4w(nR7(+Fr)73IWO#e1ur`aw|<$u#r?efrXFEqQ|H2 zN!nkJFrCh}7Xh>er45d&e{ftyE}f#R3{vqSe*GLLnchm|#{v)Dk1;uyxdEInlHht8 z=_wE(JwvIP$C=F#{W!?mSe)^Bm*~(G2TorBxC|6a0PxusuGBa)WBBC){oP%>`5d8l zcpSZDC#{eBC@J5Qk1tHN1UQ~1>qvUKA5rEm(*16b%KZnqdG8t`f3O43SV-5|901@- zO=5U}+ie}xH=N|s)mDsu8&iMgm`_cRN~f8b__jGfX+tiT<7+g+t=0}Q(jpd5ptQmB zG)kMbMcWjh4JiCHoxOlmW-U=FgY*z@;j|==^1(6{ge-i)z3ljkVnw%H_000McNliru+X4;`C?={t4s`$k15imsK~z}7 z?U+q$8$}eyf3v&JuGdYRrm+bEHEyH|3us9>LF+9llEcZlgW=RO=_UsOi{_~_hC=GOyg(SDSm(RN?}grTEF z_KUF#G$foX@^va_n1+pO&1a zv0qP`Eqz>GbXdr`%#7&`?Ri@=mv*_dSRrpq0A|K?e+~?&P4ma&TW@6{>oS`vJz6+@ zW+Rx|dC4lvmg7fbt(TiiyMztVvj44kfFr{JrjwQrC~OEH(3P~at?$R8oIX=#O;B zq;R$Ze{(ch_)jnZ<8iGaG%hVxT8_Jtb|6&^$I+O^-d=^}oVT-cPLD3=*2R5+0hk)@ zYRU;)S-rw`G@M>TaQbzF(?8lwCJH2{Li7d&?_IomFaWcuQUj2MtlN}i>w(lK=p9?F zM)zqh|1LY0+WdXPjw4^TXyeh(S@wrf0T1tS=bPM1zXN}+bZm_!+H6c>fen= z6uvxcGVxV`^!mLoIy0v8f!)G&)9UBiB; zaC&sXh3gg4>mEO6?*C&phtOQwZCSbUwj^<_%xAxreR$(>t)a5bjOom#N)H8&_~w^2 ze|hTsDuJh?ol8~ithScp_(%Yy$5g@dIz;N=4=X@O5a&M2Ut2 zOpNs6tgLmY0PcF8mj)C@_J^vs@{f-`%c0#BoLeh+MH{4SOSL$EuQI6K;monYYC>-H oz&`(%Ma5|^KnG)H(*yfIsGeX@(pYce3;+NC07*qoM6N<$f(0zfE&u=k diff --git a/telemeta/htdocs/images/next.png b/telemeta/htdocs/images/next.png index 8117bd34795a69071313dd9dc903bf72d6fba771..e9cbecd003f1401d5d8d629f56789826a13bd1e0 100644 GIT binary patch literal 726 zcmV;{0xA88P)<|L@=b|9}1Z{a?<+ zS6#peAl3w84Iowwop|$p z(UPD4`8{_1W8l)94is|$Vt(X=1Q0+B*4EZo69}KI9)tJf_jhz6cm8Eyk?a8qS%Q)V zdP)QcAck+>zA<=udZOxP6K4?f-O3;pwCfZDi$pzCGZ(g`3=lwI0)z_+3K%psHKC~k zn3kE?KrC?}R>7tjW&l6{fe1#JAt4Pc?RL8jP%f7_KR?GX3?3dH80f#{bUK-tnIRAeu)Ms?$jAr)j&{4<)-;Wi zlam3Z9yK{R$@ca(6B83SN~KbJe}A7=tHsL73JVJhjE#*AD1D$-t3|0)Len&^udng@ z{p{`S@z2!MRPz4*o=_;n`uaLOsT9!_3Xi0Z^$_a5fqZ06ZSgfKHDZ9UTRrR;%G0;CNrnW|OpJy%{o9*YRrS{a1!y!H93CFBw6w(9+8RScL*EDb(n&s_k6Y8O)Xqtv$7yw9; zL?{#jAeYMlAc`WAB%$lNz3wfi27^HaLHH49@p$~hH5V5b+}zx-wYA0g`1tz|{9pOv z4#Z3*gJoH-VD9Yf*g#CvL{(MN>2y~_q|<3k(w{<=&x41;7c z$>rr`e;gW(M$vU0%d*I1GF{g+O~bM*6h*PiHjzl!PLyRCUDwfdokSvGJ6M)wWLdUd za&&a`s~c6L(ctXtjQRO_TrSu59P06S*xcL%pja$+Ijd8?s;Ux?$BD<|w#zyh+qt)+ zm+$`uEiNvyySw`)%$_o|Nz5Clxqq*yE>%Q9ZC*UrpPC`2xo zLseCLK3~@lkj-Wh1OZVLf2=7*B9V8?JD<-ZisFaOsHc*D?#7p!2!%o@ibB0!=lJ-T zR4T>s@iEnE6|dK8H?m+bNF)*=7!2B3Y+06_yU!cfZz}Q6zyxr_VzG9=n?WaAy2!ilqW!_KKYBhVNcTP`FcTFk- zeSJJFm&*Y7{eGOQtE)JjPI9>%r>CbpK0Xd8eIeQo4h}F31Ha$T?Ck8|2&5nCIs$ol mNLQ&;1}^=iL{WToNcS(XEUhmYh4^j&0000 diff --git a/telemeta/htdocs/images/previous.png b/telemeta/htdocs/images/previous.png index 7d87942f53b431fc6dea6cfaeeff3a865345a435..52fa887f758c8aba8dbe68ef230c11ad2867cfff 100644 GIT binary patch literal 733 zcmV<30wVp1P)|Ek}WJYW#PzlJX z{{>W>7=H0NGkiN&4b}$`Kv-P>^;L?l6vI@Yfl@%WGDuiV$BV(dWIF>Zw*Xu%Kmaje z(+t$qA}R2DwyYq?HDJ?z$XX{cSd?yMU}9lo`1kuaTs=Slu^?*(Ih}=xVX`>?pB!f9 ze+<_jGBAj%JE&V{t(-4u>htLz&|820F>nBt-T>kF03Zw%kQe_{Cg?JvWpFaH=!m01{=nHX7tTKIsN5g>rz zVX$xEEVdUfzBBy!%gFHa7X!ohpZ^(t{Ql4I?=R46e}I1b2Z<#nCa`ls0rL-}4W@F)-F(Qv$jk^%2n=j&|GqtX z_W$vcS|Il%KmdVVgO;3`*ySUpn-<>vU$*?`e=g0uQ$R60Al3k4bttU~#Gv%S2oONn z3;+XWF{f&|=&S$PGz!lGx!SmrGC%;~Gyv=^QP)alm7LQ+rVffY#Jda)4Gjzc0fg58 zpi&l~-$Blmg9RE0dFKPe)1b0b9K~z}7?U_GF8*LoNKjv*(Oev+vl~OC03?Xn7akx$nC%Aax zQV3KK99k%J>d?hO2=OHms zqgY;te8=BCfA06a@9+CO&piXpX0r*fySvNg<|a}~e*XMP9~UE$NH8)o!r0gtQ&Usi zy?Ymcfo8MWtW+wjudnx6x+b1HdBXem?|JNG6lyaybC@_V!4eoSXoVN~QYjToVr-JOJS6=!itG zoqqrReXCc0Ap}B*|NTAg^wQ|y;DAD*z^hlUdRnknR#rM6O&dEmo`5SXx^8D~Wvg@ZnZe%DIG|o}N-Jm)Y9dGO^Xw)pG}0SXdyN z&2}W|I1W)1Q7jgbQW~Qh1&RKp2L^acstyQWAzCN~tSVSXV+14-Y963LG39+{jnc zNoq(b34#F2vdjzHwoR#2LI{Cv+ij{|US2i?0r{0HP=|b1S7-Sy>^KN|8>dIX*rn2m)-|?#QJlLcf0fdLv{;QG}F| zTCHXj=Qxg0jb&NP&(8x8$FWiByLayZD3wZtVMrK;xUNeWhSX{`eBU=?YC>9})t1la z@qOQTtPsK|^CGmWdU|>q+qRKX_T>Lv37wmpBb`oP**m)>reRr@A*xlm`itxGjiQJ* zZ{BoOxh_Rrvf2X9BSb4*_ZLE-lxmB2gMJ=Gk(tNyyq@;z=X&V)_&AwNhC-ph;o%_w z&!0bMXlSTw`-cx7cEs}eyz$A)lF)Enw?lQ>Gd<5E2m-3rDoUv~KW&9pQXI!7c6@w% zC5!s>=@U^DQLon#LJ)?bv6pMF@=u>WWoc=NFJHc}y}ixk=m`s)woI8K{dZ)Dqa@7_J$ zzI{tBmm`@>{RRw ztyWDHwJKVB_eGV{^^E`e_3P$s*btxfKwYA}D!d!wI5x`bHjbXB+q2fbmSuId77hLT zb9#E3JA;FRoSd8x$MLN>&-d!Lmm!r(UHCyRn&+~XvKK@k7Ytwo{YB(9F? z;2_0Ku;{F~yQsL?!9iy?1;;|c4%SjZ%{70TwwHKcBH=J-%EN&+{;d zhN(E7P<- zOhP?!y}wyJm`;b*`kqJvqBiX|nL~L2fd*Ux1d!eYF6Tbg5P<9ZC&&uF5~UDVJ~Kya z$B9GKW9yGCk1)gXRIvtRXipPk@<6(R{ z10;&Qkze=csdPHpgO1qUX}3Wtm&>>~JBMXkI4Be#D>XTZ+DDB(A$cT#*xhj)kQiey zO%sM;K-YE1@`TY9(UZv}-m29|6TcYK$LKUNox!$kO4I`&Fl}aA7Py>1;e44jn~%EA z#v7jv1002ovPDHLkV1jI` B^11*3 literal 0 HcmV?d00001 diff --git a/telemeta/htdocs/timeside/src/controller.js b/telemeta/htdocs/timeside/src/controller.js index 9a7fd174..ddd0d3e8 100644 --- a/telemeta/htdocs/timeside/src/controller.js +++ b/telemeta/htdocs/timeside/src/controller.js @@ -116,11 +116,7 @@ TimeSide(function($N) { var divRemoved = this.cfg.divmarkers.splice(idx,1)[0]; //there is only one element removed divRemoved.remove(); this.cfg.player.ruler.remove(idx); - if(idxlen){ + //it might happen when we remove the last element + //suppose [0,1,2], we remove [2] then we call + //updateIndices[2] but array till 1 (there is nothing to update) + return; + } if(to==undefined || to ==null){ - to = this.cfg.divmarkers.length-1; + to = len; } if(to') - .addClass('markersdivButton') + .addClass('roundBorder4') .addClass('markersdivEdit') .addClass('markersdivTopElement') .attr('title','edit marker description') .attr("href","#") - .html('EDIT') + .html('EDIT') //add all elements to header: @@ -103,7 +103,7 @@ TimeSide(function($N, $J) { //ok button this.e_okButton = $J('') .attr('title','save marker description and offset') - .addClass('markersdivButton') + .addClass('roundBorder6') .addClass('markersdivSave') .attr("href","#") .html("OK"); @@ -116,7 +116,7 @@ TimeSide(function($N, $J) { .append(this.e_header) .append(this.e_descriptionText) .append(this.e_okButton) - .addClass('markersdivButton') + .addClass('roundBorder8') .addClass('markerdiv'); } @@ -137,6 +137,8 @@ TimeSide(function($N, $J) { //all jQuery data associated with the removed elements. //This method is useful when removed elements are to be reinserted into the DOM at a later time. this.me.detach(); + //note that we might have index!=this.markerIndex without the need to detach the div + //we leave this code to be sure, especially on loading }else{ //div is not added: set description and title this.e_descriptionText.val(marker.desc ? marker.desc : ""); @@ -179,6 +181,7 @@ TimeSide(function($N, $J) { tText.removeAttr('readonly').removeClass('markersdivUneditable').show(); okB.show(); $(this).hide(); + tText.select(); return false; //avoid scrolling of the page on anchor click }); var eB = this.e_editButton; @@ -187,12 +190,16 @@ TimeSide(function($N, $J) { //if(marker.desc !== descriptionText.val()){ //strict equality needed. See note below marker.desc = dText.val(); marker.title = tText.val(); - map.sendHTTP(marker); - //TODO: this should be done IF send was succesful + map.sendHTTP(marker, + + function(){ dText.attr('readonly','readonly').addClass('markersdivUneditable'); tText.attr('readonly','readonly').addClass('markersdivUneditable'); eB.show(); okB.hide(); + }, + true + ); //} // func_fem.apply(klass,[marker,editModeSaved,editButton, descriptionText, // descriptionLabel, okButton]); diff --git a/telemeta/htdocs/timeside/src/markermap.js b/telemeta/htdocs/timeside/src/markermap.js index 3b4deeda..367f09ce 100644 --- a/telemeta/htdocs/timeside/src/markermap.js +++ b/telemeta/htdocs/timeside/src/markermap.js @@ -159,19 +159,19 @@ TimeSide(function($N, $J) { //in other words, it is useful when we do not want to know if obj is already present //in the map, but only WHERE WOULD be inserted obj in the map. obj can be a marker //or an offset (time). In the latter case a dummy marker with that offset will be considered - indexOf: function(obj){ - var idx = this.insertionIndex(obj); - return idx<0 ? -idx-1 : idx; - }, + indexOf: function(obj){ + var idx = this.insertionIndex(obj); + return idx<0 ? -idx-1 : idx; + }, each: function(callback) { $J(this.markers).each(callback); }, - length: function(){ - return this.markers ? this.markers.length : 0; - }, + // length: function(){ + // return this.markers ? this.markers.length : 0; + // }, - sendHTTP: function(marker){ + sendHTTP: function(marker, functionOnSuccess, showAlertOnError){ //itemid is the item (spund file) name var sPath = window.location.pathname; @@ -189,12 +189,13 @@ TimeSide(function($N, $J) { marker.id=this.uniqid(); //defined in core; } var method = isSaved ? "telemeta.update_marker" : "telemeta.add_marker"; - var data2send = '{"id":"jsonrpc", "params":[{"item_id":"'+ itemid+ - '", "public_id": "'+marker.id+'", "time": "'+marker.offset+ - '", "author": "'+marker.author+ - '", "title": "'+marker.title+ - '","description": "'+marker.desc+'"}], "method":"'+method+'","jsonrpc":"1.0"}'; - + + var s = this.jsonify; + var data2send = '{"id":"jsonrpc", "params":[{"item_id":"'+ s(itemid)+ + '", "public_id": "'+s(marker.id)+'", "time": "'+s(marker.offset)+ + '", "author": "'+s(marker.author)+ + '", "title": "'+s(marker.title)+ + '","description": "'+s(marker.desc)+'"}], "method":"'+method+'","jsonrpc":"1.0"}'; $.ajax({ type: "POST", @@ -205,10 +206,34 @@ TimeSide(function($N, $J) { if(!isSaved){ marker.isSaved = true; } + if(functionOnSuccess){ + functionOnSuccess(); + } + }, + error: function(jqXHR, textStatus, errorThrown){ + if(showAlertOnError){ + var details = "\n(no further info available)"; + if(jqXHR) { + details="\nThe server responded witha status of "+jqXHR.status+" ("+ + jqXHR.statusText+")\n\nDetails (request responseText):\n"+jqXHR.responseText; + } + alert("ERROR: Failed to save marker"+details); + } } }); + + }, + jsonify: function(string){ + var s = string; + if(typeof string == "string"){ + s = string.replace(/\\/g,"\\\\") + .replace(/\n/g,"\\n") + .replace(/"/g,"\\\""); + } + return s; + }, removeHTTP: function(marker){ // //itemid is the item (spund file) name diff --git a/telemeta/htdocs/timeside/src/player.js b/telemeta/htdocs/timeside/src/player.js index 14bc8da2..793b2a2d 100644 --- a/telemeta/htdocs/timeside/src/player.js +++ b/telemeta/htdocs/timeside/src/player.js @@ -176,8 +176,9 @@ TimeSide(function($N, $J) { elements.css('width', 'auto'); // for IE6 - if (!height) + if (!height){ height = 200; + } var style = { width: this.elements.wave.width(), height: height diff --git a/telemeta/htdocs/timeside/src/ruler.js b/telemeta/htdocs/timeside/src/ruler.js index 5fcd6329..e5697e4c 100644 --- a/telemeta/htdocs/timeside/src/ruler.js +++ b/telemeta/htdocs/timeside/src/ruler.js @@ -217,6 +217,16 @@ TimeSide(function($N, $J) { } this._createPointer(); + //draw markers + if (this.cfg.map) { + $J(this.markers).each(function(i, m) { + m.clear(); + }); + this.markers = new Array(); + this.cfg.map.each(this.attach(function(i, m) { + this.markers.push(this._drawMarker(m, i)); + })); + } //this._drawMarkers(); }, @@ -404,7 +414,7 @@ TimeSide(function($N, $J) { add: function(marker, index){ this.markers.splice(index, 0, this._drawMarker(marker, index)); - //this.markers.push(this._drawMarker(marker, index)); + //this.markers.push(this._drawMarker(marker, index)); }, // _onMapAdd2: function(e, data) { @@ -430,7 +440,6 @@ TimeSide(function($N, $J) { }, _onDoubleClick: function(evt) { - //if (this.cfg.map && CURRENT_USER_NAME) { if (CURRENT_USER_NAME) { var offset = (evt.pageX - this.container.offset().left) / this.width * this.duration; diff --git a/telemeta/templates/telemeta_default/collection_list.html b/telemeta/templates/telemeta_default/collection_list.html index d2ba7761..7cf243b6 100644 --- a/telemeta/templates/telemeta_default/collection_list.html +++ b/telemeta/templates/telemeta_default/collection_list.html @@ -7,7 +7,9 @@ {% block submenu %} {% endblock %} diff --git a/telemeta/templates/telemeta_default/mediaitem_add.html b/telemeta/templates/telemeta_default/mediaitem_add.html index b5c1ae39..3b7eafc5 100644 --- a/telemeta/templates/telemeta_default/mediaitem_add.html +++ b/telemeta/templates/telemeta_default/mediaitem_add.html @@ -10,8 +10,10 @@
{% if perms.telemeta.add_mediaitem %} {% block tools %} - - + + Cancel {% endblock tools %} {% endif %} @@ -23,7 +25,7 @@ {% block infos %}
-
{% csrf_token %} + {% csrf_token %} {% for field in form %} {% if not field.html_name == "copied_from_item" %} @@ -35,9 +37,13 @@ {% endfor %}
diff --git a/telemeta/templates/telemeta_default/mediaitem_detail.html b/telemeta/templates/telemeta_default/mediaitem_detail.html index 070a8d1b..e39d9b05 100644 --- a/telemeta/templates/telemeta_default/mediaitem_detail.html +++ b/telemeta/templates/telemeta_default/mediaitem_detail.html @@ -41,13 +41,26 @@ {% block submenu %}
{% block tools %} - Dublin Core + + Dublin Core {% if user.is_authenticated and perms.telemeta.change_mediaitem %} +<<<<<<< TREE + + + Edit + Copy + + +======= EDIT +>>>>>>> MERGE-SOURCE {% endif %} - PREVIOUS - NEXT + + Previous + Next {% endblock tools %}
{% endblock %} diff --git a/telemeta/templates/telemeta_default/mediaitem_edit.html b/telemeta/templates/telemeta_default/mediaitem_edit.html index 68b779f3..8abed4ce 100644 --- a/telemeta/templates/telemeta_default/mediaitem_edit.html +++ b/telemeta/templates/telemeta_default/mediaitem_edit.html @@ -1,13 +1,14 @@ {% extends "telemeta/mediaitem_detail.html" %} {% block tools %} - - + + Cancel {% endblock tools %} {% block infos %}
-
{% csrf_token %} + {% csrf_token %} {% for field in form %} {% if not field.html_name == "copied_from_item" %} @@ -19,9 +20,13 @@ {% endfor %}
- - - + + Cancel +Save +
diff --git a/telemeta/templates/telemeta_default/mediaitem_list.html b/telemeta/templates/telemeta_default/mediaitem_list.html index 5bbf9228..b53f4f72 100644 --- a/telemeta/templates/telemeta_default/mediaitem_list.html +++ b/telemeta/templates/telemeta_default/mediaitem_list.html @@ -8,7 +8,8 @@ {% block submenu %}
{% if user.is_authenticated and perms.telemeta.add_mediaitem %} - + + Add {% endif %}
{% endblock %} -- 2.39.5