diff --git a/add/data/xql/getAnnotationPreviews.xql b/add/data/xql/getAnnotationPreviews.xql index 2c5f52e2497b547bb493ef2d71c32f211656fde5..1f8444aeb768eb247521d56d5944f84aa7d13ca4 100644 --- a/add/data/xql/getAnnotationPreviews.xql +++ b/add/data/xql/getAnnotationPreviews.xql @@ -366,7 +366,6 @@ declare function local:toJSON($type as xs:string, $label as xs:string, $mdiv as let $single-serv-registerURL := $configResource//conf:single-serv-registerURL/string() let $singel-serv-resolveURL := $configResource//conf:single-serv-resolveURL/string() let $docuservURLinternal := $configResource//conf:docuservURLinternal/string() - let $log := console:log($digilibSizeParams) let $singleURL := if (matches($digilibBaseParams, 'music/editions/')) then diff --git a/add/data/xql/getMeasures.xql b/add/data/xql/getMeasures.xql index 25d22d2541cd15d36298ba8df9793e4e7ba2d561..d1fed02f50199f8ab73b25400c9f0fd59abfd3a7 100644 --- a/add/data/xql/getMeasures.xql +++ b/add/data/xql/getMeasures.xql @@ -76,11 +76,11 @@ declare function local:getMeasures($mei as node(), $mdivID as xs:string) as xs:s return if (count($partMeasures) > 1) then ( - concat('{id: "', $partMeasures[1]/@xml:id, '?tstamp2=', count($partMeasures) - 1, 'm+0', '", voice: "', $partMeasures[1]/ancestor::mei:part//mei:staffDef/@decls, '"}') + concat('{id: "', $partMeasures[1]/@xml:id, '?tstamp2=', count($partMeasures) - 1, 'm+0', '", voice: "', $partMeasures[1]/ancestor::mei:part//mei:staffDef/@decls, '", partLabel: "', $mei/id(substring-after($partMeasures[1]/ancestor::mei:part//mei:staffDef/@decls,'#'))/@label, '"}') ) else if (count($partMeasures) = 1) then ( - concat('{id: "', $partMeasures[1]/@xml:id, '", voice: "', $partMeasures[1]/ancestor::mei:part//mei:staffDef/@decls, '"}') + concat('{id: "', $partMeasures[1]/@xml:id, '", voice: "', $partMeasures[1]/ancestor::mei:part//mei:staffDef/@decls, '", partLabel: "', $mei/id(substring-after($partMeasures[1]/ancestor::mei:part//mei:staffDef/@decls,'#'))/@label, '"}') ) else () return concat('{', diff --git a/add/data/xql/getText.xql b/add/data/xql/getText.xql index 86bb0721f7f428d4161808d8b3540992453748e7..32851e73e6fe59d321f51ec893f31f33f1973235 100644 --- a/add/data/xql/getText.xql +++ b/add/data/xql/getText.xql @@ -37,7 +37,7 @@ let $page := request:get-parameter('page', '') let $doc := eutil:getDoc($uri)/root() let $xslInstruction := $doc//processing-instruction(xml-stylesheet) -let $xslInstruction := for $i in util:serialize($xslInstruction, ()) +let $xslInstruction := for $i in serialize($xslInstruction, ()) return if(matches($i, 'type="text/xsl"')) then(substring-before(substring-after($i, 'href="'), '"')) diff --git a/add/data/xqm/edition.xqm b/add/data/xqm/edition.xqm index ffeebba73ee6808adc6b4a40e8604a1d34394580..ba206fdcd1f90ff9ad1c2e6fe542d25822f157af 100644 --- a/add/data/xqm/edition.xqm +++ b/add/data/xqm/edition.xqm @@ -1,4 +1,4 @@ -xquery version "3.0"; +xquery version "3.1"; (: Edirom Online Copyright (C) 2011 The Edirom Project @@ -69,7 +69,7 @@ declare function edition:getWorkUris($uri as xs:string) as xs:string* { :) declare function edition:getLanguageFileURI($uri as xs:string, $lang as xs:string) as xs:string { - doc($uri)//edirom:language[@xml:lang eq $lang]/string(@xlink:href) + doc($uri)//edirom:language[@xml:lang eq $lang]/@xlink:href => string() }; (:~ diff --git a/add/data/xqm/util.xqm b/add/data/xqm/util.xqm index 151e6e3177ceb80e92ac31582ad9bade68336f2e..5d894b7cd2914be4269a15356fcd170626fc9d73 100644 --- a/add/data/xqm/util.xqm +++ b/add/data/xqm/util.xqm @@ -50,8 +50,10 @@ declare function eutil:getLocalizedName($node, $lang) { return if ($node/mei:title) then ( - if ($lang = $node/mei:title/@xml:lang) - then $node/mei:title[@xml:lang = $lang]/text() + if ($lang = $node/mei:title/@xml:lang and $node/mei:title[@xml:lang = $lang]/text() != '') + then ($node/mei:title[@xml:lang = $lang]/text()) + else if ($lang = $node/mei:title/@xml:lang and $node/mei:title[@xml:lang = $lang]/text() = '') + then ($node/mei:title[@xml:lang = 'de']/text()) else $node/mei:title[1]/text() ) else if ($node/mei:name) diff --git a/app/controller/window/AnnotationView.js b/app/controller/window/AnnotationView.js index b5e6c5e30d0ad0808d3864b01c383a26d9ac3290..ec4e98a38263c631a83d29c300e593f630e78231 100644 --- a/app/controller/window/AnnotationView.js +++ b/app/controller/window/AnnotationView.js @@ -59,6 +59,7 @@ Ext.define('EdiromOnline.controller.window.AnnotationView', { method: 'GET', params: { uri: uri, + edition: editionId, lang: lang }, success: function(response){ @@ -72,6 +73,7 @@ Ext.define('EdiromOnline.controller.window.AnnotationView', { method: 'GET', params: { uri: uri, + edition: editionId, lang: lang }, success: function(response){ diff --git a/app/view/window/iFrameView.js b/app/view/window/iFrameView.js index 2fe5b6c9ea02fa531f67428f8cac5309e54c88dd..234104e2e05ec2c6cc521a7f709376a87703d019 100644 --- a/app/view/window/iFrameView.js +++ b/app/view/window/iFrameView.js @@ -35,7 +35,7 @@ Ext.define('EdiromOnline.view.window.iFrameView', { var me = this; - me.html = '<div id="' + me.id + '_iFrameViewCont" class="iFrameViewContent"><iframe id="' + me.id + + me.html = '<div id="' + me.id + '_iFrameViewCont" class="iFrameViewContent" style="height: 100%;"><iframe id="' + me.id + '_iFrameViewContIFrame" style="width:100%; height:100%; border:none; background-color:white;"></iframe></div>'; me.callParent(); diff --git a/app/view/window/image/ImageViewer.js b/app/view/window/image/ImageViewer.js index 53ed4d97429419904e2deddc2c5536a816cc5c83..e371d73a13a7d2a1ac9b29aa057427fcfbac3973 100644 --- a/app/view/window/image/ImageViewer.js +++ b/app/view/window/image/ImageViewer.js @@ -46,6 +46,7 @@ Ext.define('EdiromOnline.view.window.image.ImageViewer', { shapes: null, shapesHidden: false, + partLabel: null, svgOverlays: null, @@ -64,10 +65,30 @@ Ext.define('EdiromOnline.view.window.image.ImageViewer', { me.addEvents('zoomChanged', 'imageChanged'); - - me.html = '<div id="' + me.id + '_facsCont" style="overflow: hidden; background-color: black; top:0px; bottom: 0px; left: 0px; right: 0px; position:absolute;"></div>' + - '<div id="' + me.id + '_facsContEvents" class="facsContEvents"></div>'; - + +/* from OPERA*/ + var facsContEvents; + + if (me.partLabel != null) { + facsContEvents = '<div id="' + me.id + '_facsContEvents" class="facsContEvents">' + + '<div id="' + me.id + '_' + me.partLabel + '" class="part">' + + '<span class="partInner" id="' + me.id + '_' + me.partLabel + '_inner">' + + me.partLabel + '</span>' + + '</div>' + + '</div>'; + } + else { + facsContEvents = '<div id="' + me.id + '_facsContEvents" class="facsContEvents"></div>'; + }; + + me.html = '<div id="' + me.id + '_facsCont" style="background-color: black; top:0px; bottom: 0px; left: 0px; right: 0px; position:absolute;"></div>' + facsContEvents; + +/* from OPERA END*/ + +/* */ +/* me.html = '<div id="' + me.id + '_facsCont" style="overflow: hidden; background-color: black; top:0px; bottom: 0px; left: 0px; right: 0px; position:absolute;"></div>' +*/ +/* '<div id="' + me.id + '_facsContEvents" class="facsContEvents"></div>';*/ +/* */ me.imageLoader = new EdiromOnline.view.window.image.ImageLoader({ viewer: me }); diff --git a/app/view/window/source/MeasureBasedView.js b/app/view/window/source/MeasureBasedView.js index b32ecb81d73b56e8d2607b1ef160f244bda90712..4a6a601084e532ac9a1686223ce9a6c699751206 100644 --- a/app/view/window/source/MeasureBasedView.js +++ b/app/view/window/source/MeasureBasedView.js @@ -211,6 +211,7 @@ Ext.define('EdiromOnline.view.window.source.MeasureBasedView', { Ext.Array.each(measures.get('measures'), function(m) { var voice = m['voice']; + var partLabel = m['partLabel']; if(voice == 'score' || me.parts.getById(voice.substr(1)).get('selected')) { @@ -218,7 +219,8 @@ Ext.define('EdiromOnline.view.window.source.MeasureBasedView', { if(typeof viewer == 'undefined') { viewer = Ext.create('EdiromOnline.view.window.source.HorizontalMeasureViewer', { - owner: me + owner: me, + partLabel: partLabel }); me.viewers.add(voice, viewer); @@ -376,6 +378,8 @@ Ext.define('EdiromOnline.view.window.source.HorizontalMeasureViewer', { border: false, + partLabel: '', + style: { borderColor: 'black', borderStyle: 'solid', @@ -397,7 +401,7 @@ Ext.define('EdiromOnline.view.window.source.HorizontalMeasureViewer', { me.owner.owner.on('measureVisibilityChange', me.onMeasureVisibilityChange, me); me.owner.owner.on('annotationsVisibilityChange', me.onAnnotationsVisibilityChange, me); - var viewer = Ext.create('EdiromOnline.view.window.image.ImageViewer', {flex: 1}); + var viewer = Ext.create('EdiromOnline.view.window.image.ImageViewer', {flex: 1, partLabel: me.partLabel}); viewer.on('imageChanged', me.onViewerImageChange, me); me.imageViewers = [viewer]; diff --git a/resources/css/todo.css b/resources/css/todo.css index 28c72253e68898dff6974643d020fd5ab7ba685e..3cc7c2d25790bd7a343fd8251ad2a94a0e9b2a00 100644 --- a/resources/css/todo.css +++ b/resources/css/todo.css @@ -118,3 +118,24 @@ span.italic { .hidden { display: none; } + +/* part label in horizontalMeasureViewer */ + +.part { +z-index: 1; +} + + +.partInner { +font-size: 13px; +font-weight: bold; +background-image: -moz-linear-gradient(top, rgba(255, 255, 255,0.9),rgba(255, 255, 255,0.8)) !important; +background-image: -webkit-linear-gradient(top, rgba(255, 255, 255,0.9),rgba(255, 255, 255,0.8)) !important; +box-shadow: 3px 3px 5px rgba(0,0,0,0.7); +padding: 2px 5px; +border-radius: 5px; +color: rgba(0,0,0,0.75); +position: absolute; +top: 5px; +left: 10px; +}