enregistrement transcription interface is ok
This commit is contained in:
@@ -194,7 +194,11 @@
|
|||||||
console.log('selector', state.selector);
|
console.log('selector', state.selector);
|
||||||
$('a[selector="'+state.selector+'"]').addClass('is-active');
|
$('a[selector="'+state.selector+'"]').addClass('is-active');
|
||||||
}else{
|
}else{
|
||||||
$('a[data-drupal-link-system-path="'+state.sys_path+'"]').addClass('is-active');
|
if(typeof state.view_mode != 'undefined'){
|
||||||
|
$('a[viewmode="'+state.view_mode+'"][data-drupal-link-system-path="'+state.sys_path+'"]').addClass('is-active');
|
||||||
|
}else{
|
||||||
|
$('a[data-drupal-link-system-path="'+state.sys_path+'"]').addClass('is-active');
|
||||||
|
}
|
||||||
// as new content is not related to entree, we trigger close entree
|
// as new content is not related to entree, we trigger close entree
|
||||||
_$body.trigger({'type':'new-content-not-entree-ajax-loaded'});
|
_$body.trigger({'type':'new-content-not-entree-ajax-loaded'});
|
||||||
}
|
}
|
||||||
@@ -228,6 +232,12 @@
|
|||||||
addCloseModalBtnToCols();
|
addCloseModalBtnToCols();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// enregistrement transcription
|
||||||
|
if(data.entity_type == "node" && data.bundle == "enregistrement" && data.view_mode == "transcript"){
|
||||||
|
// window.requestAnimationFrame(initEnregistrementTranscript);
|
||||||
|
initEnregistrementTranscript();
|
||||||
|
}
|
||||||
|
|
||||||
// update the language switcher block if it comes in the response
|
// update the language switcher block if it comes in the response
|
||||||
if(typeof data.translations_links != 'undefined'){
|
if(typeof data.translations_links != 'undefined'){
|
||||||
console.log('state',state);
|
console.log('state',state);
|
||||||
@@ -261,7 +271,6 @@
|
|||||||
_$body.attr('booted', 'booted');
|
_$body.attr('booted', 'booted');
|
||||||
_$body.removeClass('ajax-loading');
|
_$body.removeClass('ajax-loading');
|
||||||
|
|
||||||
|
|
||||||
// url is null means that we are loading content on popState event
|
// url is null means that we are loading content on popState event
|
||||||
// so we don't record the state again
|
// so we don't record the state again
|
||||||
if(state.url){
|
if(state.url){
|
||||||
@@ -271,7 +280,7 @@
|
|||||||
// };
|
// };
|
||||||
// console.log('url:'+url+' ; state',state);
|
// console.log('url:'+url+' ; state',state);
|
||||||
// console.log(window.location);
|
// console.log(window.location);
|
||||||
// we can not pushestate with absolute url
|
// /!\ we can not pushestate with absolute url /!\
|
||||||
history.pushState(state, null, state.url);
|
history.pushState(state, null, state.url);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -713,6 +722,7 @@
|
|||||||
stop(){
|
stop(){
|
||||||
// console.log('AudioPlayer stop()');
|
// console.log('AudioPlayer stop()');
|
||||||
this.audio.pause();
|
this.audio.pause();
|
||||||
|
// TODO: don't close player if article or transcript is open
|
||||||
this.timeOutToHide();
|
this.timeOutToHide();
|
||||||
},
|
},
|
||||||
// audio events
|
// audio events
|
||||||
@@ -1201,6 +1211,30 @@
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ___ _ _ _
|
||||||
|
// | __|_ _ _ _ ___ __ _(_)__| |_ _ _ ___ _ __ ___ _ _| |_
|
||||||
|
// | _|| ' \| '_/ -_) _` | (_-< _| '_/ -_) ' \/ -_) ' \ _|
|
||||||
|
// |___|_||_|_| \___\__, |_/__/\__|_| \___|_|_|_\___|_||_\__|
|
||||||
|
// |___/
|
||||||
|
function initEnregistrementTranscript(){
|
||||||
|
console.log('initEnregistrementTranscript');
|
||||||
|
var $node = _$row.find('article.node--type-enregistrement.node--view-mode-transcript');
|
||||||
|
var $nav = $('<nav>').prependTo($node);
|
||||||
|
$node.find('.field--name-field-transcript-vo').addClass('visible').find('.field__label')
|
||||||
|
.clone().appendTo($nav).addClass('is-active')
|
||||||
|
.attr('field_target', '.field--name-field-transcript-vo');
|
||||||
|
$node.find('.field--name-field-transcript-trad').find('.field__label')
|
||||||
|
.clone().appendTo($nav)
|
||||||
|
.attr('field_target', '.field--name-field-transcript-trad');
|
||||||
|
$nav.find('.field__label').on('click', function(){
|
||||||
|
var $this = $(this).addClass('is-active');
|
||||||
|
$this.siblings('.is-active').removeClass('is-active');
|
||||||
|
$this.parents('article.node').find('.field.visible').removeClass('visible');
|
||||||
|
$this.parents('article.node').find($this.attr('field_target')).addClass('visible');
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
// __ __ _ _
|
// __ __ _ _
|
||||||
// | \/ |___ __| |__ _| |___
|
// | \/ |___ __| |__ _| |___
|
||||||
// | |\/| / _ \/ _` / _` | (_-<
|
// | |\/| / _ \/ _` / _` | (_-<
|
||||||
|
|||||||
@@ -1306,14 +1306,59 @@ main[role="main"] .layout-content {
|
|||||||
main[role="main"] .layout-content .field.text-formatted a.audio-link {
|
main[role="main"] .layout-content .field.text-formatted a.audio-link {
|
||||||
border-bottom: 1px dotted red; }
|
border-bottom: 1px dotted red; }
|
||||||
|
|
||||||
main[role="main"] article.node > h2, main[role="main"] h2.title {
|
main[role="main"] h3.sur-title {
|
||||||
|
font-size: 0.9em;
|
||||||
|
font-weight: normal;
|
||||||
|
text-transform: uppercase;
|
||||||
|
margin: 0.9em 0 0; }
|
||||||
|
|
||||||
|
main[role="main"] article.node:not(.node--type-enregistrement) > h2, main[role="main"] h2.title {
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
text-transform: uppercase; }
|
text-transform: uppercase; }
|
||||||
|
|
||||||
|
main[role="main"] article.node.node--type-enregistrement > h2 {
|
||||||
|
font-size: 0.82em;
|
||||||
|
font-weight: 600;
|
||||||
|
line-height: 1.6;
|
||||||
|
margin: 0.9em 0 0 0; }
|
||||||
|
|
||||||
|
html.js main[role="main"] article.node.node--type-enregistrement h3.sur-title {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
main[role="main"] article.node.node--type-enregistrement .field--name-field-transcript-vo .field__label, main[role="main"] article.node.node--type-enregistrement .field--name-field-transcript-trad .field__label {
|
||||||
|
font-size: 0.9em;
|
||||||
|
font-weight: normal;
|
||||||
|
text-transform: uppercase; }
|
||||||
|
html.js main[role="main"] article.node.node--type-enregistrement .field--name-field-transcript-vo .field__label, html.js main[role="main"] article.node.node--type-enregistrement .field--name-field-transcript-trad .field__label {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
main[role="main"] article.node.node--type-enregistrement .field--name-field-transcript-vo:not(.visible), main[role="main"] article.node.node--type-enregistrement .field--name-field-transcript-trad:not(.visible) {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
main[role="main"] article.node.node--type-enregistrement nav {
|
||||||
|
padding: 1em 0 0; }
|
||||||
|
main[role="main"] article.node.node--type-enregistrement nav div.field__label {
|
||||||
|
font-size: 0.9em;
|
||||||
|
font-weight: normal;
|
||||||
|
text-transform: uppercase;
|
||||||
|
display: inline-block;
|
||||||
|
cursor: pointer;
|
||||||
|
margin-right: 1em; }
|
||||||
|
main[role="main"] article.node.node--type-enregistrement nav div.field__label:before {
|
||||||
|
content: "";
|
||||||
|
display: inline-block;
|
||||||
|
width: 7px;
|
||||||
|
height: 7px;
|
||||||
|
border: 1px solid red;
|
||||||
|
margin-right: 0.5em; }
|
||||||
|
main[role="main"] article.node.node--type-enregistrement nav div.field__label:hover:before, main[role="main"] article.node.node--type-enregistrement nav div.field__label.is-active:before {
|
||||||
|
background-color: red; }
|
||||||
|
|
||||||
main[role="main"] article.node p {
|
main[role="main"] article.node p {
|
||||||
font-size: 0.75em;
|
font-size: 0.82em;
|
||||||
font-weight: normal; }
|
font-weight: normal;
|
||||||
|
line-height: 1.6; }
|
||||||
|
|
||||||
main[role="main"] img {
|
main[role="main"] img {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
|||||||
@@ -194,7 +194,11 @@
|
|||||||
console.log('selector', state.selector);
|
console.log('selector', state.selector);
|
||||||
$('a[selector="'+state.selector+'"]').addClass('is-active');
|
$('a[selector="'+state.selector+'"]').addClass('is-active');
|
||||||
}else{
|
}else{
|
||||||
$('a[data-drupal-link-system-path="'+state.sys_path+'"]').addClass('is-active');
|
if(typeof state.view_mode != 'undefined'){
|
||||||
|
$('a[viewmode="'+state.view_mode+'"][data-drupal-link-system-path="'+state.sys_path+'"]').addClass('is-active');
|
||||||
|
}else{
|
||||||
|
$('a[data-drupal-link-system-path="'+state.sys_path+'"]').addClass('is-active');
|
||||||
|
}
|
||||||
// as new content is not related to entree, we trigger close entree
|
// as new content is not related to entree, we trigger close entree
|
||||||
_$body.trigger({'type':'new-content-not-entree-ajax-loaded'});
|
_$body.trigger({'type':'new-content-not-entree-ajax-loaded'});
|
||||||
}
|
}
|
||||||
@@ -228,6 +232,12 @@
|
|||||||
addCloseModalBtnToCols();
|
addCloseModalBtnToCols();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// enregistrement transcription
|
||||||
|
if(data.entity_type == "node" && data.bundle == "enregistrement" && data.view_mode == "transcript"){
|
||||||
|
// window.requestAnimationFrame(initEnregistrementTranscript);
|
||||||
|
initEnregistrementTranscript();
|
||||||
|
}
|
||||||
|
|
||||||
// update the language switcher block if it comes in the response
|
// update the language switcher block if it comes in the response
|
||||||
if(typeof data.translations_links != 'undefined'){
|
if(typeof data.translations_links != 'undefined'){
|
||||||
console.log('state',state);
|
console.log('state',state);
|
||||||
@@ -261,7 +271,6 @@
|
|||||||
_$body.attr('booted', 'booted');
|
_$body.attr('booted', 'booted');
|
||||||
_$body.removeClass('ajax-loading');
|
_$body.removeClass('ajax-loading');
|
||||||
|
|
||||||
|
|
||||||
// url is null means that we are loading content on popState event
|
// url is null means that we are loading content on popState event
|
||||||
// so we don't record the state again
|
// so we don't record the state again
|
||||||
if(state.url){
|
if(state.url){
|
||||||
@@ -271,7 +280,7 @@
|
|||||||
// };
|
// };
|
||||||
// console.log('url:'+url+' ; state',state);
|
// console.log('url:'+url+' ; state',state);
|
||||||
// console.log(window.location);
|
// console.log(window.location);
|
||||||
// we can not pushestate with absolute url
|
// /!\ we can not pushestate with absolute url /!\
|
||||||
history.pushState(state, null, state.url);
|
history.pushState(state, null, state.url);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -713,6 +722,7 @@
|
|||||||
stop(){
|
stop(){
|
||||||
// console.log('AudioPlayer stop()');
|
// console.log('AudioPlayer stop()');
|
||||||
this.audio.pause();
|
this.audio.pause();
|
||||||
|
// TODO: don't close player if article or transcript is open
|
||||||
this.timeOutToHide();
|
this.timeOutToHide();
|
||||||
},
|
},
|
||||||
// audio events
|
// audio events
|
||||||
@@ -1201,6 +1211,30 @@
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ___ _ _ _
|
||||||
|
// | __|_ _ _ _ ___ __ _(_)__| |_ _ _ ___ _ __ ___ _ _| |_
|
||||||
|
// | _|| ' \| '_/ -_) _` | (_-< _| '_/ -_) ' \/ -_) ' \ _|
|
||||||
|
// |___|_||_|_| \___\__, |_/__/\__|_| \___|_|_|_\___|_||_\__|
|
||||||
|
// |___/
|
||||||
|
function initEnregistrementTranscript(){
|
||||||
|
console.log('initEnregistrementTranscript');
|
||||||
|
var $node = _$row.find('article.node--type-enregistrement.node--view-mode-transcript');
|
||||||
|
var $nav = $('<nav>').prependTo($node);
|
||||||
|
$node.find('.field--name-field-transcript-vo').addClass('visible').find('.field__label')
|
||||||
|
.clone().appendTo($nav).addClass('is-active')
|
||||||
|
.attr('field_target', '.field--name-field-transcript-vo');
|
||||||
|
$node.find('.field--name-field-transcript-trad').find('.field__label')
|
||||||
|
.clone().appendTo($nav)
|
||||||
|
.attr('field_target', '.field--name-field-transcript-trad');
|
||||||
|
$nav.find('.field__label').on('click', function(){
|
||||||
|
var $this = $(this).addClass('is-active');
|
||||||
|
$this.siblings('.is-active').removeClass('is-active');
|
||||||
|
$this.parents('article.node').find('.field.visible').removeClass('visible');
|
||||||
|
$this.parents('article.node').find($this.attr('field_target')).addClass('visible');
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
// __ __ _ _
|
// __ __ _ _
|
||||||
// | \/ |___ __| |__ _| |___
|
// | \/ |___ __| |__ _| |___
|
||||||
// | |\/| / _ \/ _` / _` | (_-<
|
// | |\/| / _ \/ _` / _` | (_-<
|
||||||
|
|||||||
@@ -254,8 +254,53 @@ main[role="main"]{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
article.node>h2, h2.title{
|
h3.sur-title{
|
||||||
@include content_titles;
|
@include content_titles;
|
||||||
|
margin:0.9em 0 0;
|
||||||
|
}
|
||||||
|
article.node:not(.node--type-enregistrement)>h2, h2.title{
|
||||||
|
@include content_titles;
|
||||||
|
}
|
||||||
|
article.node.node--type-enregistrement{
|
||||||
|
>h2{
|
||||||
|
@include content_subtitles;
|
||||||
|
margin:0.9em 0 0 0;
|
||||||
|
}
|
||||||
|
html.js &{
|
||||||
|
h3.sur-title{display:none;}
|
||||||
|
}
|
||||||
|
.field--name-field-transcript-vo, .field--name-field-transcript-trad{
|
||||||
|
.field__label{
|
||||||
|
@include content_titles;
|
||||||
|
html.js &{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:not(.visible){
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
nav{
|
||||||
|
padding:1em 0 0;
|
||||||
|
div.field__label{
|
||||||
|
@include content_titles;
|
||||||
|
display: inline-block;
|
||||||
|
cursor:pointer;
|
||||||
|
margin-right: 1em;
|
||||||
|
&:before{
|
||||||
|
content: "";
|
||||||
|
display:inline-block;
|
||||||
|
$sq:7px;
|
||||||
|
width: $sq; height:$sq;
|
||||||
|
border: 1px solid red;
|
||||||
|
margin-right: 0.5em;
|
||||||
|
}
|
||||||
|
&:hover:before,
|
||||||
|
&.is-active:before{
|
||||||
|
background-color: red;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
article.node p{
|
article.node p{
|
||||||
@include content_courant;
|
@include content_courant;
|
||||||
|
|||||||
@@ -3,7 +3,15 @@
|
|||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
}
|
}
|
||||||
@mixin content_courant {
|
|
||||||
font-size: 0.75em;
|
@mixin content_subtitles {
|
||||||
font-weight: normal;
|
font-size: 0.82em;
|
||||||
|
font-weight: 600;
|
||||||
|
line-height: 1.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin content_courant {
|
||||||
|
font-size: 0.82em;
|
||||||
|
font-weight: normal;
|
||||||
|
line-height: 1.6;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,6 +36,11 @@ function edlptheme_preprocess_node(&$vars){
|
|||||||
$vars['link_attributes'] = new Attribute(array(
|
$vars['link_attributes'] = new Attribute(array(
|
||||||
'data-drupal-link-system-path' => $system_path=='' ? '<front>' : $system_path
|
'data-drupal-link-system-path' => $system_path=='' ? '<front>' : $system_path
|
||||||
));
|
));
|
||||||
|
|
||||||
|
if($node->bundle() == 'enregistrement' && in_array($vars['view_mode'], ['article','transcript'])){
|
||||||
|
$vars['page'] = true;
|
||||||
|
$vars['sur_title'] = $vars['view_mode'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -83,12 +83,17 @@
|
|||||||
{{ attach_library('classy/node') }}
|
{{ attach_library('classy/node') }}
|
||||||
<article{{ attributes.addClass(classes) }}>
|
<article{{ attributes.addClass(classes) }}>
|
||||||
|
|
||||||
{{ title_prefix }}
|
{% if sur_title %}
|
||||||
{% if not page %}
|
<h3 class="sur-title">{{ sur_title }}</h3>
|
||||||
<h2{{ title_attributes.addClass('node-title') }}>
|
|
||||||
<a href="{{ url }}" rel="bookmark" {{ link_attributes }}>{{ label }}</a>
|
|
||||||
</h2>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{{ title_prefix }}
|
||||||
|
<h2{{ title_attributes.addClass('node-title') }}>
|
||||||
|
{% if not page %}
|
||||||
|
<a href="{{ url }}" rel="bookmark" {{ link_attributes }}>{{ label }}</a>
|
||||||
|
{% else %}
|
||||||
|
{{ label }}
|
||||||
|
{% endif %}
|
||||||
|
</h2>
|
||||||
{{ title_suffix }}
|
{{ title_suffix }}
|
||||||
|
|
||||||
{% if display_submitted %}
|
{% if display_submitted %}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ id: node.enregistrement.field_transcript_trad
|
|||||||
field_name: field_transcript_trad
|
field_name: field_transcript_trad
|
||||||
entity_type: node
|
entity_type: node
|
||||||
bundle: enregistrement
|
bundle: enregistrement
|
||||||
label: 'Transcription (Traduction)'
|
label: Traduction
|
||||||
description: ''
|
description: ''
|
||||||
required: false
|
required: false
|
||||||
translatable: true
|
translatable: true
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ id: node.enregistrement.field_transcript_vo
|
|||||||
field_name: field_transcript_vo
|
field_name: field_transcript_vo
|
||||||
entity_type: node
|
entity_type: node
|
||||||
bundle: enregistrement
|
bundle: enregistrement
|
||||||
label: 'Transcription (Version Originale)'
|
label: Transcription
|
||||||
description: ''
|
description: ''
|
||||||
required: false
|
required: false
|
||||||
translatable: false
|
translatable: false
|
||||||
|
|||||||
Reference in New Issue
Block a user