# HG changeset patch # User durandn # Date 1442911591 -7200 # Node ID c9cf4845e6a50e13794d99ebd1d83177432444e4 # Parent 4c18ada91d1e342488138bb9caf846fe2988d132 Better support for deleting for AnnotationsList and Markers + Added a Edit button for CurrentSegmentInfobox + Fixed some missing statics + separated remie style specific img from mdplayer img diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/css/img/calendar.png Binary file server/src/remie/static/remie/css/img/calendar.png has changed diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/css/img/search.png Binary file server/src/remie/static/remie/css/img/search.png has changed diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/css/style.css --- a/server/src/remie/static/remie/css/style.css Fri Sep 18 18:04:47 2015 +0200 +++ b/server/src/remie/static/remie/css/style.css Tue Sep 22 10:46:31 2015 +0200 @@ -193,7 +193,8 @@ .Ldt-AnnotationsController-Button.Ldt-AnnotationsController-ShowCreateAnnotationButton, .Ldt-CreateAnnotation-Screen.Ldt-CreateAnnotation-Main input, .Ldt-CurrentSegmentInfobox .Ldt-CurrentSegmentInfobox-CancelButton, -.Ldt-CurrentSegmentInfobox .Ldt-CurrentSegmentInfobox-SubmitButton { +.Ldt-CurrentSegmentInfobox .Ldt-CurrentSegmentInfobox-SubmitButton, +.Ldt-CurrentSegmentInfobox .Ldt-CurrentSegmentInfobox-EditButton { background: inherit; border: none; background-color: #848484; @@ -206,7 +207,8 @@ .Ldt-AnnotationsController-Button.Ldt-AnnotationsController-ShowAnnotationsListButton:hover, .Ldt-AnnotationsController-Button.Ldt-AnnotationsController-ShowCreateAnnotationButton:hover, .Ldt-CreateAnnotation-Screen.Ldt-CreateAnnotation-Main input:hover, -.Ldt-AnnotationsController-Button.selected { +.Ldt-AnnotationsController-Button.selected, +.Ldt-CurrentSegmentInfobox .Ldt-CurrentSegmentInfobox-EditButton:hover { background-color: #b7b7b7; } diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/css/teacher.css --- a/server/src/remie/static/remie/css/teacher.css Fri Sep 18 18:04:47 2015 +0200 +++ b/server/src/remie/static/remie/css/teacher.css Tue Sep 22 10:46:31 2015 +0200 @@ -76,7 +76,7 @@ } .Ldt-AnnotationsList-Filters .Ldt-AnnotationsList-filter-date { - background: rgba(0, 0, 0, 0) url("../metadataplayer/img/calendar.png") no-repeat scroll left center / 26px auto; + background: rgba(0, 0, 0, 0) url("img/calendar.png") no-repeat scroll left center / 26px auto; text-indent: -100%; white-space: nowrap; display: inline-flex; @@ -94,7 +94,7 @@ position: relative; float: right; top: 35px; - background: rgba(0, 0, 0, 0) url("../metadataplayer/img/search.png") no-repeat scroll right center / 17px auto; + background: rgba(0, 0, 0, 0) url("img/search.png") no-repeat scroll right center / 17px auto; border: 1px solid grey; height: 25px; width: 150px; diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/js/backbone-min.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/remie/static/remie/js/backbone-min.js Tue Sep 22 10:46:31 2015 +0200 @@ -0,0 +1,2 @@ +(function(t){var e=typeof self=="object"&&self.self==self&&self||typeof global=="object"&&global.global==global&&global;if(typeof define==="function"&&define.amd){define(["underscore","jquery","exports"],function(i,r,n){e.Backbone=t(e,n,i,r)})}else if(typeof exports!=="undefined"){var i=require("underscore"),r;try{r=require("jquery")}catch(n){}t(e,exports,i,r)}else{e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}})(function(t,e,i,r){var n=t.Backbone;var s=Array.prototype.slice;e.VERSION="1.2.3";e.$=r;e.noConflict=function(){t.Backbone=n;return this};e.emulateHTTP=false;e.emulateJSON=false;var a=function(t,e,r){switch(t){case 1:return function(){return i[e](this[r])};case 2:return function(t){return i[e](this[r],t)};case 3:return function(t,n){return i[e](this[r],h(t,this),n)};case 4:return function(t,n,s){return i[e](this[r],h(t,this),n,s)};default:return function(){var t=s.call(arguments);t.unshift(this[r]);return i[e].apply(i,t)}}};var o=function(t,e,r){i.each(e,function(e,n){if(i[n])t.prototype[n]=a(e,n,r)})};var h=function(t,e){if(i.isFunction(t))return t;if(i.isObject(t)&&!e._isModel(t))return u(t);if(i.isString(t))return function(e){return e.get(t)};return t};var u=function(t){var e=i.matches(t);return function(t){return e(t.attributes)}};var l=e.Events={};var c=/\s+/;var f=function(t,e,r,n,s){var a=0,o;if(r&&typeof r==="object"){if(n!==void 0&&"context"in s&&s.context===void 0)s.context=n;for(o=i.keys(r);a7);this._useHashChange=this._wantsHashChange&&this._hasHashChange;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.history&&this.history.pushState);this._usePushState=this._wantsPushState&&this._hasPushState;this.fragment=this.getFragment();this.root=("/"+this.root+"/").replace(O,"/");if(this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";this.location.replace(e+"#"+this.getPath());return true}else if(this._hasPushState&&this.atRoot()){this.navigate(this.getHash(),{replace:true})}}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe");this.iframe.src="javascript:0";this.iframe.style.display="none";this.iframe.tabIndex=-1;var r=document.body;var n=r.insertBefore(this.iframe,r.firstChild).contentWindow;n.document.open();n.document.close();n.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState){s("popstate",this.checkUrl,false)}else if(this._useHashChange&&!this.iframe){s("hashchange",this.checkUrl,false)}else if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}if(!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};if(this._usePushState){t("popstate",this.checkUrl,false)}else if(this._useHashChange&&!this.iframe){t("hashchange",this.checkUrl,false)}if(this.iframe){document.body.removeChild(this.iframe);this.iframe=null}if(this._checkUrlInterval)clearInterval(this._checkUrlInterval);M.started=false},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe){e=this.getHash(this.iframe.contentWindow)}if(e===this.fragment)return false;if(this.iframe)this.navigate(e);this.loadUrl()},loadUrl:function(t){if(!this.matchRoot())return false;t=this.fragment=this.getFragment(t);return i.some(this.handlers,function(e){if(e.route.test(t)){e.callback(t);return true}})},navigate:function(t,e){if(!M.started)return false;if(!e||e===true)e={trigger:!!e};t=this.getFragment(t||"");var i=this.root;if(t===""||t.charAt(0)==="?"){i=i.slice(0,-1)||"/"}var r=i+t;t=this.decodeFragment(t.replace(U,""));if(this.fragment===t)return;this.fragment=t;if(this._usePushState){this.history[e.replace?"replaceState":"pushState"]({},document.title,r)}else if(this._wantsHashChange){this._updateHash(this.location,t,e.replace);if(this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var n=this.iframe.contentWindow;if(!e.replace){n.document.open();n.document.close()}this._updateHash(n.location,t,e.replace)}}else{return this.location.assign(r)}if(e.trigger)return this.loadUrl(t)},_updateHash:function(t,e,i){if(i){var r=t.href.replace(/(javascript:|#).*$/,"");t.replace(r+"#"+e)}else{t.hash="#"+e}}});e.history=new M;var q=function(t,e){var r=this;var n;if(t&&i.has(t,"constructor")){n=t.constructor}else{n=function(){return r.apply(this,arguments)}}i.extend(n,r,e);var s=function(){this.constructor=n};s.prototype=r.prototype;n.prototype=new s;if(t)i.extend(n.prototype,t);n.__super__=r.prototype;return n};y.extend=x.extend=$.extend=I.extend=M.extend=q;var F=function(){throw new Error('A "url" property or function must be specified')};var z=function(t,e){var i=e.error;e.error=function(r){if(i)i.call(e.context,t,r,e);t.trigger("error",t,r,e)}};return e}); +//# sourceMappingURL=backbone-min.map \ No newline at end of file diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/js/images/animated-overlay.gif Binary file server/src/remie/static/remie/js/images/animated-overlay.gif has changed diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/js/images/ui-bg_flat_0_aaaaaa_40x100.png Binary file server/src/remie/static/remie/js/images/ui-bg_flat_0_aaaaaa_40x100.png has changed diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/js/images/ui-bg_flat_75_ffffff_40x100.png Binary file server/src/remie/static/remie/js/images/ui-bg_flat_75_ffffff_40x100.png has changed diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/js/images/ui-bg_glass_55_fbf9ee_1x400.png Binary file server/src/remie/static/remie/js/images/ui-bg_glass_55_fbf9ee_1x400.png has changed diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/js/images/ui-bg_glass_65_ffffff_1x400.png Binary file server/src/remie/static/remie/js/images/ui-bg_glass_65_ffffff_1x400.png has changed diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/js/images/ui-bg_glass_75_dadada_1x400.png Binary file server/src/remie/static/remie/js/images/ui-bg_glass_75_dadada_1x400.png has changed diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/js/images/ui-bg_glass_75_e6e6e6_1x400.png Binary file server/src/remie/static/remie/js/images/ui-bg_glass_75_e6e6e6_1x400.png has changed diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/js/images/ui-bg_glass_95_fef1ec_1x400.png Binary file server/src/remie/static/remie/js/images/ui-bg_glass_95_fef1ec_1x400.png has changed diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/js/images/ui-bg_highlight-soft_75_cccccc_1x100.png Binary file server/src/remie/static/remie/js/images/ui-bg_highlight-soft_75_cccccc_1x100.png has changed diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/js/images/ui-icons_222222_256x240.png Binary file server/src/remie/static/remie/js/images/ui-icons_222222_256x240.png has changed diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/js/images/ui-icons_2e83ff_256x240.png Binary file server/src/remie/static/remie/js/images/ui-icons_2e83ff_256x240.png has changed diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/js/images/ui-icons_454545_256x240.png Binary file server/src/remie/static/remie/js/images/ui-icons_454545_256x240.png has changed diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/js/images/ui-icons_888888_256x240.png Binary file server/src/remie/static/remie/js/images/ui-icons_888888_256x240.png has changed diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/js/images/ui-icons_cd0a0a_256x240.png Binary file server/src/remie/static/remie/js/images/ui-icons_cd0a0a_256x240.png has changed diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/js/jquery.mousewheel.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/remie/static/remie/js/jquery.mousewheel.js Tue Sep 22 10:46:31 2015 +0200 @@ -0,0 +1,221 @@ +/*! + * jQuery Mousewheel 3.1.13 + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + */ + +(function (factory) { + if ( typeof define === 'function' && define.amd ) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS style for Browserify + module.exports = factory; + } else { + // Browser globals + factory(jQuery); + } +}(function ($) { + + var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'], + toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ? + ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'], + slice = Array.prototype.slice, + nullLowestDeltaTimeout, lowestDelta; + + if ( $.event.fixHooks ) { + for ( var i = toFix.length; i; ) { + $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks; + } + } + + var special = $.event.special.mousewheel = { + version: '3.1.12', + + setup: function() { + if ( this.addEventListener ) { + for ( var i = toBind.length; i; ) { + this.addEventListener( toBind[--i], handler, false ); + } + } else { + this.onmousewheel = handler; + } + // Store the line height and page height for this particular element + $.data(this, 'mousewheel-line-height', special.getLineHeight(this)); + $.data(this, 'mousewheel-page-height', special.getPageHeight(this)); + }, + + teardown: function() { + if ( this.removeEventListener ) { + for ( var i = toBind.length; i; ) { + this.removeEventListener( toBind[--i], handler, false ); + } + } else { + this.onmousewheel = null; + } + // Clean up the data we added to the element + $.removeData(this, 'mousewheel-line-height'); + $.removeData(this, 'mousewheel-page-height'); + }, + + getLineHeight: function(elem) { + var $elem = $(elem), + $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent'](); + if (!$parent.length) { + $parent = $('body'); + } + return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16; + }, + + getPageHeight: function(elem) { + return $(elem).height(); + }, + + settings: { + adjustOldDeltas: true, // see shouldAdjustOldDeltas() below + normalizeOffset: true // calls getBoundingClientRect for each event + } + }; + + $.fn.extend({ + mousewheel: function(fn) { + return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel'); + }, + + unmousewheel: function(fn) { + return this.unbind('mousewheel', fn); + } + }); + + + function handler(event) { + var orgEvent = event || window.event, + args = slice.call(arguments, 1), + delta = 0, + deltaX = 0, + deltaY = 0, + absDelta = 0, + offsetX = 0, + offsetY = 0; + event = $.event.fix(orgEvent); + event.type = 'mousewheel'; + + // Old school scrollwheel delta + if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; } + if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; } + if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; } + if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; } + + // Firefox < 17 horizontal scrolling related to DOMMouseScroll event + if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { + deltaX = deltaY * -1; + deltaY = 0; + } + + // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy + delta = deltaY === 0 ? deltaX : deltaY; + + // New school wheel delta (wheel event) + if ( 'deltaY' in orgEvent ) { + deltaY = orgEvent.deltaY * -1; + delta = deltaY; + } + if ( 'deltaX' in orgEvent ) { + deltaX = orgEvent.deltaX; + if ( deltaY === 0 ) { delta = deltaX * -1; } + } + + // No change actually happened, no reason to go any further + if ( deltaY === 0 && deltaX === 0 ) { return; } + + // Need to convert lines and pages to pixels if we aren't already in pixels + // There are three delta modes: + // * deltaMode 0 is by pixels, nothing to do + // * deltaMode 1 is by lines + // * deltaMode 2 is by pages + if ( orgEvent.deltaMode === 1 ) { + var lineHeight = $.data(this, 'mousewheel-line-height'); + delta *= lineHeight; + deltaY *= lineHeight; + deltaX *= lineHeight; + } else if ( orgEvent.deltaMode === 2 ) { + var pageHeight = $.data(this, 'mousewheel-page-height'); + delta *= pageHeight; + deltaY *= pageHeight; + deltaX *= pageHeight; + } + + // Store lowest absolute delta to normalize the delta values + absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) ); + + if ( !lowestDelta || absDelta < lowestDelta ) { + lowestDelta = absDelta; + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { + lowestDelta /= 40; + } + } + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { + // Divide all the things by 40! + delta /= 40; + deltaX /= 40; + deltaY /= 40; + } + + // Get a whole, normalized value for the deltas + delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta); + deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta); + deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta); + + // Normalise offsetX and offsetY properties + if ( special.settings.normalizeOffset && this.getBoundingClientRect ) { + var boundingRect = this.getBoundingClientRect(); + offsetX = event.clientX - boundingRect.left; + offsetY = event.clientY - boundingRect.top; + } + + // Add information to the event object + event.deltaX = deltaX; + event.deltaY = deltaY; + event.deltaFactor = lowestDelta; + event.offsetX = offsetX; + event.offsetY = offsetY; + // Go ahead and set deltaMode to 0 since we converted to pixels + // Although this is a little odd since we overwrite the deltaX/Y + // properties with normalized deltas. + event.deltaMode = 0; + + // Add event and delta to the front of the arguments + args.unshift(event, delta, deltaX, deltaY); + + // Clearout lowestDelta after sometime to better + // handle multiple device types that give different + // a different lowestDelta + // Ex: trackpad = 3 and mouse wheel = 120 + if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); } + nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200); + + return ($.event.dispatch || $.event.handle).apply(this, args); + } + + function nullLowestDelta() { + lowestDelta = null; + } + + function shouldAdjustOldDeltas(orgEvent, absDelta) { + // If this is an older event and the delta is divisable by 120, + // then we are assuming that the browser is treating this as an + // older mouse wheel event and that we should divide the deltas + // by 40 to try and get a more usable deltaFactor. + // Side note, this actually impacts the reported scroll distance + // in older browsers and can cause scrolling to be slower than native. + // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false. + return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0; + } + +})); diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/metadataplayer/AnnotationsList.js --- a/server/src/remie/static/remie/metadataplayer/AnnotationsList.js Fri Sep 18 18:04:47 2015 +0200 +++ b/server/src/remie/static/remie/metadataplayer/AnnotationsList.js Tue Sep 22 10:46:31 2015 +0200 @@ -51,6 +51,7 @@ annotations_count_header : true, show_creation_date : false, show_timecode : true, + project_id: "", /* * Only annotation in the current segment will be displayed. Designed to work with the Segments Widget. */ @@ -684,7 +685,7 @@ IriSP.Widgets.AnnotationsList.prototype.sendDelete = function(id){ var _this = this, - _url = Mustache.to_html(this.api_delete_endpoint, {annotation_id: id}) + _url = Mustache.to_html(this.api_delete_endpoint, {annotation_id: id, project_id: this.project_id}) IriSP.jQuery.ajax({ url: _url, @@ -724,7 +725,17 @@ }); this.userselect_$.html(""); this.usernames.forEach(function(_user){ - _this.userselect_$.append(""); + var _users = _this.source.users_data.filter(function(_user_data){ + return _user_data.username == _user; + }), + _user_data = {}; + if (_users.length == 0){ + _user_data.username = _user; + } + else{ + _user_data = _users[0]; + } + _this.userselect_$.append(""); }); } if (this.keyword_filter){ diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/metadataplayer/CurrentSegmentInfobox.css --- a/server/src/remie/static/remie/metadataplayer/CurrentSegmentInfobox.css Fri Sep 18 18:04:47 2015 +0200 +++ b/server/src/remie/static/remie/metadataplayer/CurrentSegmentInfobox.css Tue Sep 22 10:46:31 2015 +0200 @@ -112,6 +112,33 @@ width: 80px; } +.Ldt-CurrentSegmentInfobox-EditButton{ + float: right; + display: inline-block; + background-color: #d93c71; + color: #ffffff; + cursor: pointer; + height: 18px; + width: 95px; + font-size: 14px; + border: 1px solid; + border-color: #eca3bc #631e34 #36101c #e16e93; + cursor: pointer; + margin-right: 5px; + margin-left: 5px; + margin-bottom: 5px; + margin-top: 5px; + padding: 4px; + text-align: center; + vertical-align: middle; + line-height: 18px; +} + +.Ldt-CurrentSegmentInfobox-EditButton:hover{ + background-color: #e15581; + border-color: #222222 #e87d9f #f0adc3 #68273c; +} + .Ldt-CurrentSegmentInfobox-CreateTagButton:hover, .Ldt-CurrentSegmentInfobox-CancelButton:hover, .Ldt-CurrentSegmentInfobox-SubmitButton:hover{ background-color: #e15581; diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/metadataplayer/CurrentSegmentInfobox.js --- a/server/src/remie/static/remie/metadataplayer/CurrentSegmentInfobox.js Fri Sep 18 18:04:47 2015 +0200 +++ b/server/src/remie/static/remie/metadataplayer/CurrentSegmentInfobox.js Tue Sep 22 10:46:31 2015 +0200 @@ -19,6 +19,7 @@ IriSP.Widgets.CurrentSegmentInfobox.prototype.template = '
' + + '{{#editable_segments}}
{{edit}}
{{/editable_segments}}' + '
{{title}}
' + '
{{description}}
' + '
' @@ -68,6 +69,7 @@ fr : { submit : "Soumettre", cancel : "Annuler", + edit : "Editer", new_tag : "Nouveau tag", delete_tag : "Supprimer", empty : "Le player vidéo ne lit actuellement aucun segment" @@ -75,6 +77,7 @@ en: { submit : "Submit", cancel : "Cancel", + edit : "Edit", new_tag : "New tag", delete_tag : "Delete tag", empty : "The player currently doesn't read any segment" @@ -100,9 +103,11 @@ if (_this.currentSegment.id != _list[0].id){ _this.currentSegment = _list[0]; _data = { - title: _this.currentSegment.title, - description : _this.currentSegment.description, - tags : _this.currentSegment.getTagTexts() + editable_segments: _this.editable_segments, + edit: _this.l10n.edit, + title: _this.currentSegment.title, + description : _this.currentSegment.description, + tags : _this.currentSegment.getTagTexts() } _this.$.html(Mustache.to_html(_this.template, _data)) if(_this.editable_segments&&_this.currentSegment){ @@ -145,11 +150,13 @@ IriSP.Widgets.CurrentSegmentInfobox.prototype.disableEditMode = function() { if(this.currentSegment){ - data = { - title: this.currentSegment.title, - description : this.currentSegment.description, - tags : this.currentSegment.getTagTexts() - } + _data = { + editable_segments: this.editable_segments, + edit: this.l10n.edit, + title: this.currentSegment.title, + description : this.currentSegment.description, + tags : this.currentSegment.getTagTexts() + } this.$.toggleClass("editing", false); this.$.html(Mustache.to_html(this.template, _data)); this.$.find(".Ldt-CurrentSegmentInfobox").click(this.functionWrapper("enableEditMode")); @@ -248,10 +255,12 @@ _this.segments.push(_annotation) _this.currentSegment = _annotation _data = { - title: _this.currentSegment.title, - description : _this.currentSegment.description, - tags : _this.currentSegment.getTagTexts() - } + editable_segments: _this.editable_segments, + edit: _this.l10n.edit, + title: _this.currentSegment.title, + description : _this.currentSegment.description, + tags : _this.currentSegment.getTagTexts() + } _this.$.html(Mustache.to_html(_this.template, _data)) if(_this.editable_segments&&_this.currentSegment){ _this.$.find(".Ldt-CurrentSegmentInfobox").click(_this.functionWrapper("enableEditMode")); @@ -277,6 +286,8 @@ if (this.currentSegment.id != _list[0].id){ this.currentSegment = _list[0]; _data = { + editable_segments: this.editable_segments, + edit: this.l10n.edit, title: this.currentSegment.title, description : this.currentSegment.description, tags : this.currentSegment.getTagTexts() diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/metadataplayer/Markers.js --- a/server/src/remie/static/remie/metadataplayer/Markers.js Fri Sep 18 18:04:47 2015 +0200 +++ b/server/src/remie/static/remie/metadataplayer/Markers.js Tue Sep 22 10:46:31 2015 +0200 @@ -505,7 +505,7 @@ IriSP.Widgets.Markers.prototype.sendDelete = function(){ _this = this; - _url = Mustache.to_html(this.api_endpoint_template_delete, {annotation_id: this.selectedMarker ? this.selectedMarker.id : ""}); + _url = Mustache.to_html(this.api_endpoint_template_delete, {annotation_id: this.selectedMarker ? this.selectedMarker.id : "", project_id: this.selectedMarker.project_id? this.selectedMarker.project_id : this.project_id}); IriSP.jQuery.ajax({ url: _url, type: this.api_method_delete, diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/static/remie/swf/ZeroClipboard.swf Binary file server/src/remie/static/remie/swf/ZeroClipboard.swf has changed diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/templates/remie/iframe_markers.html --- a/server/src/remie/templates/remie/iframe_markers.html Fri Sep 18 18:04:47 2015 +0200 +++ b/server/src/remie/templates/remie/iframe_markers.html Tue Sep 22 10:46:31 2015 +0200 @@ -77,7 +77,7 @@ line_height: 24, api_endpoint_template_create: "{% url 'api_dispatch_list' resource_name='annotations' api_name='1.0' %}", api_endpoint_template_edit: "{% url 'api_dispatch_list' resource_name='annotations' api_name='1.0' %}{% templatetag openvariable %}annotation_id{% templatetag closevariable %}/", - api_endpoint_template_delete: "{% url 'api_dispatch_list' resource_name='annotations' api_name='1.0' %}{% templatetag openvariable %}annotation_id{% templatetag closevariable %}/", + api_endpoint_template_delete: "{% url 'api_dispatch_list' resource_name='annotations' api_name='1.0' %}{% templatetag openvariable %}annotation_id{% templatetag closevariable %}/{% templatetag openvariable %}project_id{% templatetag closevariable %}/", creator_name : "{{current_user}}", project_id: "{{project_id}}", allow_empty_markers: true, diff -r 4c18ada91d1e -r c9cf4845e6a5 server/src/remie/templates/remie/iframe_teacher.html --- a/server/src/remie/templates/remie/iframe_teacher.html Fri Sep 18 18:04:47 2015 +0200 +++ b/server/src/remie/templates/remie/iframe_teacher.html Tue Sep 22 10:46:31 2015 +0200 @@ -19,7 +19,6 @@
+