Browse Source

ajax login fix #451

Bachir Soussi Chiadmi 6 years ago
parent
commit
b645a5e3ee

+ 5 - 0
composer.json

@@ -52,6 +52,7 @@
         "drupal/filter_perms": "1.x-dev",
         "drupal/filter_perms": "1.x-dev",
         "drupal/honeypot": "1.29.0",
         "drupal/honeypot": "1.29.0",
         "drupal/linkit": "^5.0",
         "drupal/linkit": "^5.0",
+        "drupal/login_emailusername": "^1.1",
         "drupal/maillog": "1.x-dev",
         "drupal/maillog": "1.x-dev",
         "drupal/matomo": "1.9.0",
         "drupal/matomo": "1.9.0",
         "drupal/menu_admin_per_menu": "1.0.0",
         "drupal/menu_admin_per_menu": "1.0.0",
@@ -63,6 +64,7 @@
         "drupal/profile": "^1.0",
         "drupal/profile": "^1.0",
         "drupal/redirect": "^1.3",
         "drupal/redirect": "^1.3",
         "drupal/redis": "^1.1",
         "drupal/redis": "^1.1",
+        "drupal/restui": "^1.17",
         "drupal/search_api": "^1.12",
         "drupal/search_api": "^1.12",
         "drupal/simple_sitemap": "^3.1",
         "drupal/simple_sitemap": "^3.1",
         "drupal/synonyms": "1.x-dev",
         "drupal/synonyms": "1.x-dev",
@@ -126,6 +128,9 @@
         "patches": {
         "patches": {
             "drupal/domain_site_settings": {
             "drupal/domain_site_settings": {
               "Circular Error or Conflict with Language_Manager" : "https://www.drupal.org/files/issues/2018-10-09/2930391-21.patch"
               "Circular Error or Conflict with Language_Manager" : "https://www.drupal.org/files/issues/2018-10-09/2930391-21.patch"
+            },
+            "drupal/login_emailusername": {
+              "rest login email or user name https://www.drupal.org/project/login_emailusername/issues/2910511#comment-12564801" : "https://www.drupal.org/files/issues/2018-04-10/allow-rest-login-with-email-2910511-9.patch"
             }
             }
         },
         },
         "drupal-scaffold": {
         "drupal-scaffold": {

+ 108 - 1
composer.lock

@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
         "This file is @generated automatically"
     ],
     ],
-    "content-hash": "afac9754e49e7dbd6c3cfd14393471ff",
+    "content-hash": "9092399791e0168d53586b646fb13c3b",
     "packages": [
     "packages": [
         {
         {
             "name": "alchemy/zippy",
             "name": "alchemy/zippy",
@@ -1385,6 +1385,7 @@
             ],
             ],
             "description": "Promoting the interoperability of container objects (DIC, SL, etc.)",
             "description": "Promoting the interoperability of container objects (DIC, SL, etc.)",
             "homepage": "https://github.com/container-interop/container-interop",
             "homepage": "https://github.com/container-interop/container-interop",
+            "abandoned": "psr/container",
             "time": "2017-02-14T19:40:03+00:00"
             "time": "2017-02-14T19:40:03+00:00"
         },
         },
         {
         {
@@ -4598,6 +4599,53 @@
                 "issues": "http://drupal.org/project/linkit"
                 "issues": "http://drupal.org/project/linkit"
             }
             }
         },
         },
+        {
+            "name": "drupal/login_emailusername",
+            "version": "1.1.0",
+            "source": {
+                "type": "git",
+                "url": "https://git.drupalcode.org/project/login_emailusername.git",
+                "reference": "8.x-1.1"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://ftp.drupal.org/files/projects/login_emailusername-8.x-1.1.zip",
+                "reference": "8.x-1.1",
+                "shasum": "f484b76b538f4dbbae5a75b49577f4ddf576809e"
+            },
+            "require": {
+                "drupal/core": "~8.0"
+            },
+            "type": "drupal-module",
+            "extra": {
+                "branch-alias": {
+                    "dev-1.x": "1.x-dev"
+                },
+                "drupal": {
+                    "version": "8.x-1.1",
+                    "datestamp": "1483456142",
+                    "security-coverage": {
+                        "status": "covered",
+                        "message": "Covered by Drupal's security advisory policy"
+                    }
+                }
+            },
+            "notification-url": "https://packages.drupal.org/8/downloads",
+            "license": [
+                "GPL-2.0-or-later"
+            ],
+            "authors": [
+                {
+                    "name": "rjjakes",
+                    "homepage": "https://www.drupal.org/user/3457245"
+                }
+            ],
+            "description": "Allow users to log in with either their username OR email address using the same input box on the login form.",
+            "homepage": "https://www.drupal.org/project/login_emailusername",
+            "support": {
+                "source": "https://git.drupalcode.org/project/login_emailusername"
+            }
+        },
         {
         {
             "name": "drupal/maillog",
             "name": "drupal/maillog",
             "version": "dev-1.x",
             "version": "dev-1.x",
@@ -5313,6 +5361,65 @@
                 "source": "https://git.drupalcode.org/project/redis"
                 "source": "https://git.drupalcode.org/project/redis"
             }
             }
         },
         },
+        {
+            "name": "drupal/restui",
+            "version": "1.17.0",
+            "source": {
+                "type": "git",
+                "url": "https://git.drupalcode.org/project/restui.git",
+                "reference": "8.x-1.17"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://ftp.drupal.org/files/projects/restui-8.x-1.17.zip",
+                "reference": "8.x-1.17",
+                "shasum": "2fff1b74759d5e490884d002330ad04d1bf241ba"
+            },
+            "require": {
+                "drupal/core": "^8.2.0"
+            },
+            "type": "drupal-module",
+            "extra": {
+                "branch-alias": {
+                    "dev-1.x": "1.x-dev"
+                },
+                "drupal": {
+                    "version": "8.x-1.17",
+                    "datestamp": "1557845581",
+                    "security-coverage": {
+                        "status": "covered",
+                        "message": "Covered by Drupal's security advisory policy"
+                    }
+                }
+            },
+            "notification-url": "https://packages.drupal.org/8/downloads",
+            "license": [
+                "GPL-2.0-or-later"
+            ],
+            "authors": [
+                {
+                    "name": "-enzo-",
+                    "homepage": "https://www.drupal.org/user/294937"
+                },
+                {
+                    "name": "clemens.tolboom",
+                    "homepage": "https://www.drupal.org/user/125814"
+                },
+                {
+                    "name": "juampynr",
+                    "homepage": "https://www.drupal.org/user/682736"
+                },
+                {
+                    "name": "klausi",
+                    "homepage": "https://www.drupal.org/user/262198"
+                }
+            ],
+            "description": "Provides a user interface to manage REST resources.",
+            "homepage": "https://www.drupal.org/project/restui",
+            "support": {
+                "source": "https://git.drupalcode.org/project/restui"
+            }
+        },
         {
         {
             "name": "drupal/search_api",
             "name": "drupal/search_api",
             "version": "1.15.0",
             "version": "1.15.0",

+ 1 - 1
config/sync/autologout.settings.yml

@@ -1,4 +1,4 @@
-timeout: 1800
+timeout: 7200
 max_timeout: 172800
 max_timeout: 172800
 padding: 20
 padding: 20
 role_logout: false
 role_logout: false

+ 4 - 0
config/sync/core.extension.yml

@@ -67,6 +67,7 @@ module:
   link: 0
   link: 0
   linkit: 0
   linkit: 0
   locale: 0
   locale: 0
+  login_emailusername: 0
   maillog: 0
   maillog: 0
   menu_ui: 0
   menu_ui: 0
   metatag: 0
   metatag: 0
@@ -84,8 +85,11 @@ module:
   redirect: 0
   redirect: 0
   redis: 0
   redis: 0
   responsive_image: 0
   responsive_image: 0
+  rest: 0
+  restui: 0
   search_api: 0
   search_api: 0
   search_api_db: 0
   search_api_db: 0
+  serialization: 0
   simple_sitemap: 0
   simple_sitemap: 0
   synonyms: 0
   synonyms: 0
   system: 0
   system: 0

+ 1 - 1
config/sync/email_registration.settings.yml

@@ -1,4 +1,4 @@
-login_with_username: false
+login_with_username: true
 _core:
 _core:
   default_config_hash: 6cFmNHjhs_glkuywBEhzcUQ8aiHXcFe6hZfW7PLN-qg
   default_config_hash: 6cFmNHjhs_glkuywBEhzcUQ8aiHXcFe6hZfW7PLN-qg
 langcode: fr
 langcode: fr

+ 1 - 1
config/sync/language/en/addtoany.settings.yml

@@ -1 +1 @@
-additional_html: "<a class=\"a2a_button_facebook\"></a>\r\n<a class=\"a2a_button_twitter\"></a>\r\n<a class=\"a2a_button_reddit\"></a>\r\n<a class=\"a2a_button_email\"></a>"
+additional_html: "<a class=\"a2a_button_facebook\"></a>\n<a class=\"a2a_button_twitter\"></a>\n<a class=\"a2a_button_google_plus\"></a>\n"

+ 18 - 0
config/sync/rest.resource.entity.user.yml

@@ -0,0 +1,18 @@
+uuid: 76f64e4d-009d-4e41-958b-8fd3f5aa0a68
+langcode: fr
+status: true
+dependencies:
+  module:
+    - serialization
+    - user
+id: entity.user
+plugin_id: 'entity:user'
+granularity: resource
+configuration:
+  methods:
+    - GET
+    - POST
+  formats:
+    - json
+  authentication:
+    - cookie

+ 17 - 0
config/sync/rest.resource.user_registration.yml

@@ -0,0 +1,17 @@
+uuid: af90996e-898d-4bb5-a7ae-ca4a9e26714f
+langcode: fr
+status: true
+dependencies:
+  module:
+    - serialization
+    - user
+id: user_registration
+plugin_id: user_registration
+granularity: resource
+configuration:
+  methods:
+    - POST
+  formats:
+    - json
+  authentication:
+    - cookie

+ 4 - 0
config/sync/rest.settings.yml

@@ -0,0 +1,4 @@
+bc_entity_resource_permissions: false
+_core:
+  default_config_hash: Jg3_yqsTIZ51KOKp3OV2KDVVrlx3N3OCEfniEse09KE
+langcode: fr

+ 5 - 0
config/sync/serialization.settings.yml

@@ -0,0 +1,5 @@
+bc_primitives_as_strings: false
+bc_timestamp_normalizer_unix: false
+_core:
+  default_config_hash: 6A1rmsmNf4SJrwCEt_aZyO_kPYuFnIOPC2n5lJiIftA
+langcode: fr

+ 1 - 1
config/sync/user.mail.yml

@@ -18,7 +18,7 @@ register_pending_approval_admin:
   subject: 'Détails du compte [user:display-name] sur [site:name] (en attente de validation d''un administrateur)'
   subject: 'Détails du compte [user:display-name] sur [site:name] (en attente de validation d''un administrateur)'
 status_activated:
 status_activated:
   body: "[user:display-name],\r\n\r\nVotre compte sur [site:name] a été activé.\r\n\r\nVous pouvez maintenant vous connecter en cliquant sur le lien ci-dessous ou en le copiant dans votre navigateur : \r\n\r\n[user:one-time-login-url]\r\n\r\nCe lien ne peut être utilisé qu'une seule fois et vous redirigera vers une page où vous pourrez choisir votre mot de passe.\r\n\r\nAprès avoir choisi votre mot de passe, vous pourrez vous connecter sur [site:login-url] en utilisant :\r\n\r\nnom d'utilisateur : [user:account-name]\r\nmot de passe : Votre mot de passe\r\n\r\n--  L'équipe de [site:name]"
   body: "[user:display-name],\r\n\r\nVotre compte sur [site:name] a été activé.\r\n\r\nVous pouvez maintenant vous connecter en cliquant sur le lien ci-dessous ou en le copiant dans votre navigateur : \r\n\r\n[user:one-time-login-url]\r\n\r\nCe lien ne peut être utilisé qu'une seule fois et vous redirigera vers une page où vous pourrez choisir votre mot de passe.\r\n\r\nAprès avoir choisi votre mot de passe, vous pourrez vous connecter sur [site:login-url] en utilisant :\r\n\r\nnom d'utilisateur : [user:account-name]\r\nmot de passe : Votre mot de passe\r\n\r\n--  L'équipe de [site:name]"
-  subject: 'Détails du compte [user:display-name] sur [site:name] (validé)'
+  subject: 'Détails du compte pour [user:display-name] sur [site:name]'
 status_blocked:
 status_blocked:
   body: "[user:display-name],\r\n\r\nVotre compte sur [site:name] a été bloqué.\r\n\r\n-- L'équipe [site:name]"
   body: "[user:display-name],\r\n\r\nVotre compte sur [site:name] a été bloqué.\r\n\r\n-- L'équipe [site:name]"
   subject: 'Détails du compte [user:display-name] sur [site:name] (bloqué)'
   subject: 'Détails du compte [user:display-name] sur [site:name] (bloqué)'

+ 1 - 0
config/sync/user.role.anonymous.yml

@@ -15,6 +15,7 @@ permissions:
   - 'access synonyms entity autocomplete'
   - 'access synonyms entity autocomplete'
   - 'create corpus_documents workflow_transition'
   - 'create corpus_documents workflow_transition'
   - 'create generique workflow_transition'
   - 'create generique workflow_transition'
+  - 'restful post user_registration'
   - 'use text format wysiwyg'
   - 'use text format wysiwyg'
   - 'view published fil entities'
   - 'view published fil entities'
   - 'view search api pages'
   - 'view search api pages'

+ 1 - 0
config/sync/user.role.authenticated.yml

@@ -23,6 +23,7 @@ permissions:
   - 'edit own composition entities'
   - 'edit own composition entities'
   - 'edit own fil entities'
   - 'edit own fil entities'
   - 'opt-in or out of matomo tracking'
   - 'opt-in or out of matomo tracking'
+  - 'restful post user_registration'
   - 'use chutier'
   - 'use chutier'
   - 'use text format wysiwyg'
   - 'use text format wysiwyg'
   - 'view own unpublished chutier entities'
   - 'view own unpublished chutier entities'

+ 1 - 1
config/sync/views.view.profiles.yml

@@ -1,5 +1,5 @@
 uuid: ecb1909a-9cc2-4579-bfd3-7e0c8b38ea40
 uuid: ecb1909a-9cc2-4579-bfd3-7e0c8b38ea40
-langcode: en
+langcode: fr
 status: true
 status: true
 dependencies:
 dependencies:
   module:
   module:

+ 4 - 0
web/modules/custom/edlp_ajax/src/Controller/EdlpAjaxController.php

@@ -319,6 +319,10 @@ class EdlpAjaxController extends ControllerBase {
         'tags' => [
         'tags' => [
           'edlp-ajax-blocks-cache',
           'edlp-ajax-blocks-cache',
           // $this->entity_type.':'.$this->id // not necessary as we add $renderable as CacheableMetadata to the response
           // $this->entity_type.':'.$this->id // not necessary as we add $renderable as CacheableMetadata to the response
+        ],
+        'contexts' => [
+          'languages:language_content',
+          'user'
         ]
         ]
       ]
       ]
     ];
     ];

+ 8 - 6
web/themes/custom/edlptheme/assets/dist/scripts/main.min.js

@@ -1,12 +1,14 @@
 
 
-(function($,Drupal,drupalSettings){EdlpTheme=function(){var _ajax_settings=drupalSettings.edlp_ajax;var _$body=$('body');var _corpus_ready=false;var _$corpus_canvas;var _$row=$('main[role="main"]>.layout-content>.row');var _$ajaxLinks;var _audioPlayer;var _randomPlayer;var _compoPlayer;var _ajax_timing={start:0,end:0};var _corpus_promise;var _is_mobile=edlp_mobile.device_is_mobile;function init(){void 0;if(_is_mobile){initMobile();}
+(function($,Drupal,drupalSettings){EdlpTheme=function(){var _origin=window.location.origin;var _base_url=drupalSettings.path.baseUrl;var _ajax_settings=drupalSettings.edlp_ajax;var _$body=$('body');var _corpus_ready=false;var _$corpus_canvas;var _$row=$('main[role="main"]>.layout-content>.row');var _$ajaxLinks;var _audioPlayer;var _randomPlayer;var _compoPlayer;var _ajax_timing={start:0,end:0};var _corpus_promise;var _is_mobile=edlp_mobile.device_is_mobile;var _is_loggedin=drupalSettings.user.uid===0?false:true;var _$log_form;var _user_tokens;function init(){void 0;if(!_is_loggedin){initLogForm();}
+if(_is_mobile){initMobile();}
 initEvents();_audioPlayer=new AudioPlayer();_compoPlayer=new CompoPlayer();initAjaxLinks();initHistory();if(!_is_mobile){checkLayout();initAudioLinksHover();}
 initEvents();_audioPlayer=new AudioPlayer();_compoPlayer=new CompoPlayer();initAjaxLinks();initHistory();if(!_is_mobile){checkLayout();initAudioLinksHover();}
 if(_is_mobile){if(drupalSettings.path.isFront){initHomeMobile();}
 if(_is_mobile){if(drupalSettings.path.isFront){initHomeMobile();}
-_$body.attr('booted','booted');}};function initMobile(){$('h2, a','#block-mainnavigation').add('h2, a','#block-mainnavigation-2').on('click',onclickHomeMobileMenu);}
+_$body.attr('booted','booted');}};function initLogForm(){void 0;_$log_form=$('#user-login-form:not(ajax-enebled)').on('submit',onSubmitLogForm).addClass('ajax-enabled');};function onSubmitLogForm(e){e.preventDefault();var args={name:$('input#edit-name[type="text"]',this).val(),pass:$('input#edit-pass[type="password"]',this).val()};logIn(args).then(getStudioLinkBlock);return false;};function logIn(args){void 0;_$log_form.addClass('ajax-loading');_$body.addClass('ajax-loading');return $.ajax({type:'POST',headers:{'Content-Type':'application/json'},xhrFields:{withCredentials:true},url:_origin+_base_url+"user/login?_format=json",data:JSON.stringify(args),success:function(response){_user_tokens=response;},error:function(xhr,ajaxOptions,thrownError){void 0;void 0;}});};function getStudioLinkBlock(){var path=_origin+_base_url+'edlp/ajax/blocks/json/';$.getJSON(path+"studiolinkblock",{}).done(onStudioLinkBlockLoaded).fail(function(jqxhr,textStatus,error){void 0;});};function onStudioLinkBlockLoaded(data){void 0;$('#block-studiouserlogin').replaceWith(data.blocks.studiolinkblock.rendered);initAjaxLinks();_$log_form.removeClass('ajax-loading');_$body.removeClass('ajax-loading');}
+function initMobile(){$('h2, a','#block-mainnavigation').add('h2, a','#block-mainnavigation-2').on('click',onclickHomeMobileMenu);}
 function onclickHomeMobileMenu(e){$('#block-mainnavigation-2').toggleClass('opened');};function initHomeMobile(){};function initEvents(){var $corpus_df=$.Deferred();_corpus_promise=$corpus_df.promise();_$body.on('corpus-map-ready',function(e){onCorpusMapReady(e);$corpus_df.resolve();}).on('on-studio-chutier-updated',initAjaxLinks).on('studio-initialized',function(e){_compoPlayer.newCompo();}).on('studio-not-active',function(e){_compoPlayer.deactivate();}).on('on-studio-compo-updated',function(e){initAjaxLinks();_compoPlayer.refresh();}).on('on-studio-compo-opened',function(e){initAjaxLinks();_compoPlayer.newCompo();}).on('search-results-loaded',function(e){initAjaxLinks();initAudioLinksHover();checkVisibleCorpusMapSpace();}).on('open_entree',function(e){void 0;closeAllModals();checkLayout();_$body.removeClass();if(typeof e.url!='undefined'){var state=getSysPathState(e.sys_path);history.pushState(state,null,e.url);if(typeof _paq!=='undefined'){_paq.push(['setCustomUrl',e.url]);_paq.push(['setDocumentTitle',e.title]);_paq.push(['trackPageView']);}}}).on('close_entree',function(e){backToFrontPage();checkLayout();});window.addEventListener('resize',checkLayout,false);}
 function onclickHomeMobileMenu(e){$('#block-mainnavigation-2').toggleClass('opened');};function initHomeMobile(){};function initEvents(){var $corpus_df=$.Deferred();_corpus_promise=$corpus_df.promise();_$body.on('corpus-map-ready',function(e){onCorpusMapReady(e);$corpus_df.resolve();}).on('on-studio-chutier-updated',initAjaxLinks).on('studio-initialized',function(e){_compoPlayer.newCompo();}).on('studio-not-active',function(e){_compoPlayer.deactivate();}).on('on-studio-compo-updated',function(e){initAjaxLinks();_compoPlayer.refresh();}).on('on-studio-compo-opened',function(e){initAjaxLinks();_compoPlayer.newCompo();}).on('search-results-loaded',function(e){initAjaxLinks();initAudioLinksHover();checkVisibleCorpusMapSpace();}).on('open_entree',function(e){void 0;closeAllModals();checkLayout();_$body.removeClass();if(typeof e.url!='undefined'){var state=getSysPathState(e.sys_path);history.pushState(state,null,e.url);if(typeof _paq!=='undefined'){_paq.push(['setCustomUrl',e.url]);_paq.push(['setDocumentTitle',e.title]);_paq.push(['trackPageView']);}}}).on('close_entree',function(e){backToFrontPage();checkLayout();});window.addEventListener('resize',checkLayout,false);}
 function checkLayout(){var $audioplayer=$("#audio-player");if($audioplayer.length){var navpos=$('#block-mainnavigation').position();if(typeof navpos!='undefined'){$audioplayer.css({'width':navpos.left+'px'});}}
 function checkLayout(){var $audioplayer=$("#audio-player");if($audioplayer.length){var navpos=$('#block-mainnavigation').position();if(typeof navpos!='undefined'){$audioplayer.css({'width':navpos.left+'px'});}}
 checkGridBlockHeight();checkGridBlockVisible();};function initScrollbars(){};function getSysPathState(sys_path,view_mode){var state={'sys_path':sys_path,'ajax_path':sys_path};var node_match=state.ajax_path.match(/^\/?(node\/(\d+))$/i);void 0;var term_match=state.ajax_path.match(/^\/?(taxonomy\/term\/(\d+))$/i);void 0;if(node_match){state.ajax_path=_ajax_settings.entityjson_path+'/'+node_match[1];state.node_nid=node_match[2];if(view_mode){state.ajax_path+='/'+view_mode;state.view_mode=view_mode;}}else if(term_match){state.ajax_path=_ajax_settings.entityjson_path+'/'+term_match[1];state.ajax_path=state.ajax_path.replace(/taxonomy\/term/,'taxonomy_term');state.entree_tid=term_match[2];if(view_mode){state.ajax_path+='/'+view_mode;state.view_mode=view_mode;}else{state.ajax_path=null;}}else{state.ajax_path+='/ajax'}
 checkGridBlockHeight();checkGridBlockVisible();};function initScrollbars(){};function getSysPathState(sys_path,view_mode){var state={'sys_path':sys_path,'ajax_path':sys_path};var node_match=state.ajax_path.match(/^\/?(node\/(\d+))$/i);void 0;var term_match=state.ajax_path.match(/^\/?(taxonomy\/term\/(\d+))$/i);void 0;if(node_match){state.ajax_path=_ajax_settings.entityjson_path+'/'+node_match[1];state.node_nid=node_match[2];if(view_mode){state.ajax_path+='/'+view_mode;state.view_mode=view_mode;}}else if(term_match){state.ajax_path=_ajax_settings.entityjson_path+'/'+term_match[1];state.ajax_path=state.ajax_path.replace(/taxonomy\/term/,'taxonomy_term');state.entree_tid=term_match[2];if(view_mode){state.ajax_path+='/'+view_mode;state.view_mode=view_mode;}else{state.ajax_path=null;}}else{state.ajax_path+='/ajax'}
-return state;};function ajaxLoadContent(state){void 0;_$body.addClass('ajax-loading');_ajax_timing.start=performance.now();var path=window.location.origin+Drupal.url(state.ajax_path);$.getJSON(path,{}).done(function(data){onAjaxLoaded(data,state);}).fail(function(jqxhr,textStatus,error){onAjaxLoadError(jqxhr,textStatus,error,state.sys_path);});};function onAjaxLoadError(jqxhr,textStatus,error,sys_path){void 0;$('.ajax-loading').removeClass('ajax-loading');_$body.removeClass('ajax-loading');};function onAjaxLoaded(data,state){void 0;var $rendered=$(data.rendered);$rendered.attr({'sys_path':state.sys_path,'view_mode':state.view_mode});if(data.entity_type=="node"&&data.bundle=="evenement"){if(_$row.find('.col.event').length){_$row.find('.col.event').replaceWith($rendered);}else if(_$row.find('.col.aside').length){_$row.find('.col.aside').replaceWith($rendered);}else{_$row.append($rendered);}}else{_$row.removeAttr('style').html($rendered);}
+return state;};function ajaxLoadContent(state){void 0;_$body.addClass('ajax-loading');_ajax_timing.start=performance.now();var path=_origin+Drupal.url(state.ajax_path);$.getJSON(path,{}).done(function(data){onAjaxLoaded(data,state);}).fail(function(jqxhr,textStatus,error){onAjaxLoadError(jqxhr,textStatus,error,state.sys_path);});};function onAjaxLoadError(jqxhr,textStatus,error,sys_path){void 0;$('.ajax-loading').removeClass('ajax-loading');_$body.removeClass('ajax-loading');};function onAjaxLoaded(data,state){void 0;var $rendered=$(data.rendered);$rendered.attr({'sys_path':state.sys_path,'view_mode':state.view_mode});if(data.entity_type=="node"&&data.bundle=="evenement"){if(_$row.find('.col.event').length){_$row.find('.col.event').replaceWith($rendered);}else if(_$row.find('.col.aside').length){_$row.find('.col.aside').replaceWith($rendered);}else{_$row.append($rendered);}}else{_$row.removeAttr('style').html($rendered);}
 if((data.entity_type=="node"&&data.bundle=="static")||state.sys_path=="docsindex"){$('.ajax-link.is-active.articles-link').removeClass('is-active');}
 if((data.entity_type=="node"&&data.bundle=="static")||state.sys_path=="docsindex"){$('.ajax-link.is-active.articles-link').removeClass('is-active');}
 var body_classes=['path-'+state.sys_path.replace(/\//g,'-'),'entity-type-'+data.entity_type,'bundle-'+data.bundle,'view-mode-'+data.view_mode];_$body.removeClass().addClass(body_classes.join(' '));if(state.node_nid)
 var body_classes=['path-'+state.sys_path.replace(/\//g,'-'),'entity-type-'+data.entity_type,'bundle-'+data.bundle,'view-mode-'+data.view_mode];_$body.removeClass().addClass(body_classes.join(' '));if(state.node_nid)
 _$body.addClass('path-edlp-node');$('.ajax-loading').removeClass('ajax-loading');$('.ajax-link.is-active:not(.articles-link)').removeClass('is-active');$('.is-active-trail').removeClass('is-active-trail');if(typeof state.selector!='undefined'){void 0;$('a[selector="'+state.selector+'"]').addClass('is-active');initAudioLinksHover();}else{if(typeof state.view_mode!='undefined'){$('a[viewmode="'+state.view_mode+'"][data-drupal-link-system-path="'+state.sys_path+'"]').addClass('is-active');}else{_corpus_promise.done(function(){$('a[data-drupal-link-system-path="'+state.sys_path+'"]').addClass('is-active');});}
 _$body.addClass('path-edlp-node');$('.ajax-loading').removeClass('ajax-loading');$('.ajax-link.is-active:not(.articles-link)').removeClass('is-active');$('.is-active-trail').removeClass('is-active-trail');if(typeof state.selector!='undefined'){void 0;$('a[selector="'+state.selector+'"]').addClass('is-active');initAudioLinksHover();}else{if(typeof state.view_mode!='undefined'){$('a[viewmode="'+state.view_mode+'"][data-drupal-link-system-path="'+state.sys_path+'"]').addClass('is-active');}else{_corpus_promise.done(function(){$('a[data-drupal-link-system-path="'+state.sys_path+'"]').addClass('is-active');});}
@@ -48,11 +50,11 @@ this.emmit('audio-open-document',{caller:caller});if(typeof _paq!=='undefined'){
 this.launch();},launch(){this.clearTimeOutToHide();this.clearIntervalAutoCartelSwitch();this.setSRC(this.historic[this.currentHistoricIndex].audio_url);if(!_is_mobile){this.loadNode(this.historic[this.currentHistoricIndex].nid);}
 this.launch();},launch(){this.clearTimeOutToHide();this.clearIntervalAutoCartelSwitch();this.setSRC(this.historic[this.currentHistoricIndex].audio_url);if(!_is_mobile){this.loadNode(this.historic[this.currentHistoricIndex].nid);}
 try{_$corpus_canvas.trigger({'type':'audio-node-opened','nid':this.historic[this.currentHistoricIndex].nid});}catch(e){void 0;var that=this;_corpus_promise.done(function(){_$corpus_canvas.trigger({'type':'audio-node-opened','nid':that.historic[that.currentHistoricIndex].nid});});}
 try{_$corpus_canvas.trigger({'type':'audio-node-opened','nid':this.historic[this.currentHistoricIndex].nid});}catch(e){void 0;var that=this;_corpus_promise.done(function(){_$corpus_canvas.trigger({'type':'audio-node-opened','nid':that.historic[that.currentHistoricIndex].nid});});}
 this.showHidePreviousBtn();this.showHideNextBtn();this.show();},openSound(url,title){this.hide();this.clearTimeOutToHide();this.$cartel.html("");this.setSRC(url);this.show();if(typeof _paq!=='undefined'){_paq.push(['trackEvent','Audio','play',url]);}},setSRC(url){void 0;this.audio.src=url;this.play();},onLoadedmetadata(){var rem=parseInt(this.audio.duration,10),mins=Math.floor(rem/60,10),secs=rem-mins*60;this.$duration.html('<span>'+(mins<10?'0':'')+mins+':'+(secs<10?'0':'')+secs+'</span>');this.updateLoadingBar();},updateLoadingBar(){void 0;if(this.audio.buffered.length>0){this.$loader.css({'width':parseInt((100*this.audio.buffered.end(0)/this.audio.duration),10)+'%'});if(this.audio.buffered.end(0)<this.audio.duration){window.requestAnimationFrame(this.updateLoadingBar.bind(this));}else{void 0;}}else{window.requestAnimationFrame(this.updateLoadingBar.bind(this));}},onError(){void 0;},play(){this.clearTimeOutToHide();var promise=this.audio.play();if(promise!==undefined){promise.catch(function(error){void 0;}).then(function(){void 0;});}},playPrevious(){if(this.currentHistoricIndex>0){this.currentHistoricIndex-=1;this.launch();}},playNext(){if(this.currentHistoricIndex<this.historic.length-1){this.currentHistoricIndex+=1;this.launch();}else{this.emmit('audio-play-next');}},togglePlayPause(e){if(this.audio.paused){this.play();}else{this.stop();}},stop(){this.audio.pause();if(!(_$body.is('.path-node-'+this.historic[this.currentHistoricIndex].nid)&&(_$body.is('.view-mode-article')||_$body.is('.view-mode-transcript')))){this.timeOutToHide();}},seek(e){var seek=e.originalEvent.layerX/this.timeline_w*this.audio.duration
 this.showHidePreviousBtn();this.showHideNextBtn();this.show();},openSound(url,title){this.hide();this.clearTimeOutToHide();this.$cartel.html("");this.setSRC(url);this.show();if(typeof _paq!=='undefined'){_paq.push(['trackEvent','Audio','play',url]);}},setSRC(url){void 0;this.audio.src=url;this.play();},onLoadedmetadata(){var rem=parseInt(this.audio.duration,10),mins=Math.floor(rem/60,10),secs=rem-mins*60;this.$duration.html('<span>'+(mins<10?'0':'')+mins+':'+(secs<10?'0':'')+secs+'</span>');this.updateLoadingBar();},updateLoadingBar(){void 0;if(this.audio.buffered.length>0){this.$loader.css({'width':parseInt((100*this.audio.buffered.end(0)/this.audio.duration),10)+'%'});if(this.audio.buffered.end(0)<this.audio.duration){window.requestAnimationFrame(this.updateLoadingBar.bind(this));}else{void 0;}}else{window.requestAnimationFrame(this.updateLoadingBar.bind(this));}},onError(){void 0;},play(){this.clearTimeOutToHide();var promise=this.audio.play();if(promise!==undefined){promise.catch(function(error){void 0;}).then(function(){void 0;});}},playPrevious(){if(this.currentHistoricIndex>0){this.currentHistoricIndex-=1;this.launch();}},playNext(){if(this.currentHistoricIndex<this.historic.length-1){this.currentHistoricIndex+=1;this.launch();}else{this.emmit('audio-play-next');}},togglePlayPause(e){if(this.audio.paused){this.play();}else{this.stop();}},stop(){this.audio.pause();if(!(_$body.is('.path-node-'+this.historic[this.currentHistoricIndex].nid)&&(_$body.is('.view-mode-article')||_$body.is('.view-mode-transcript')))){this.timeOutToHide();}},seek(e){var seek=e.originalEvent.layerX/this.timeline_w*this.audio.duration
-void 0;this.audio.currentTime=seek;},onPlaying(){this.$btns.addClass('is-playing');this.emmit('audio-play');},onPause(){this.$btns.removeClass('is-playing');this.emmit('audio-pause');},onTimeupdate(){this.$cursor.css({'left':(this.audio.currentTime/this.audio.duration*this.timeline_w)+"px"});var rem=parseInt(this.audio.currentTime,10),mins=Math.floor(rem/60,10),secs=rem-mins*60;this.$currentTime.html('<span>'+(mins<10?'0':'')+mins+':'+(secs<10?'0':'')+secs+'</span>');},onEnded(){void 0;this.stop();this.emmit('audio-ended');},loadNode(nid){this.$cartel.addClass('loading');var vm='player_cartel';var ajax_path=_ajax_settings.entityjson_path+'/node/'+nid+'/'+vm;var path=window.location.origin+Drupal.url(ajax_path);$.getJSON(path,{}).done(this.onNodeLoaded.bind(this)).fail(this.onNodeLoadFail.bind(this));},onNodeLoaded(data){void 0;this.$cartel.html(data.rendered).removeClass('loading');_$body.trigger({'type':'new-audio-cartel-loaded'});initAjaxLinks();this.scndCartel_visible=0;this.$cartel.removeClass('second-visible');if(this.$cartel.find('.second-cartel .col-left').children().length>1||this.$cartel.find('.second-cartel').children('.col-right').length){this.cartelSwitchInterval=setInterval(this.switchCartel.bind(this),this.cartelSwitchIntervalMS);}
+void 0;this.audio.currentTime=seek;},onPlaying(){this.$btns.addClass('is-playing');this.emmit('audio-play');},onPause(){this.$btns.removeClass('is-playing');this.emmit('audio-pause');},onTimeupdate(){this.$cursor.css({'left':(this.audio.currentTime/this.audio.duration*this.timeline_w)+"px"});var rem=parseInt(this.audio.currentTime,10),mins=Math.floor(rem/60,10),secs=rem-mins*60;this.$currentTime.html('<span>'+(mins<10?'0':'')+mins+':'+(secs<10?'0':'')+secs+'</span>');},onEnded(){void 0;this.stop();this.emmit('audio-ended');},loadNode(nid){this.$cartel.addClass('loading');var vm='player_cartel';var ajax_path=_ajax_settings.entityjson_path+'/node/'+nid+'/'+vm;var path=_origin+Drupal.url(ajax_path);$.getJSON(path,{}).done(this.onNodeLoaded.bind(this)).fail(this.onNodeLoadFail.bind(this));},onNodeLoaded(data){void 0;this.$cartel.html(data.rendered).removeClass('loading');_$body.trigger({'type':'new-audio-cartel-loaded'});initAjaxLinks();this.scndCartel_visible=0;this.$cartel.removeClass('second-visible');if(this.$cartel.find('.second-cartel .col-left').children().length>1||this.$cartel.find('.second-cartel').children('.col-right').length){this.cartelSwitchInterval=setInterval(this.switchCartel.bind(this),this.cartelSwitchIntervalMS);}
 Drupal.attachBehaviors(this.$cartel);this.setAutoOpenArticle();if(this.auto_open_article){this.$cartel.find('a.link-article').trigger('click');this.auto_open_article=false;}},onNodeLoadFail(jqxhr,textStatus,error){void 0;this.$cartel.removeClass('loading').html('');},setAutoOpenArticle(art){this.auto_open_article=$('a.articles-link').is('.is-active');return this;},show(){this.$container_parent.addClass('audio-player-visible');this.$container.addClass('visible');},showHidePreviousBtn(){if(this.historic.length>1&&this.currentHistoricIndex>0){this.$previous.addClass('is-active');}else{this.$previous.removeClass('is-active');}},showHideNextBtn(){if(this.currentHistoricIndex<this.historic.length-1||this.shuffle_is_active){this.$next.addClass('is-active');}else{this.$next.removeClass('is-active');}},timeOutToHide(){this.clearTimeOutToHide();this.hideTimer=setTimeout(this.hide.bind(this),this.hideTimeMS);},clearTimeOutToHide(){if(this.hideTimer){clearTimeout(this.hideTimer);this.hideTimer=false;}},switchCartel(){if(this.scndCartel_visible){this.$cartel.removeClass('second-visible');this.scndCartel_visible=0;this.clearIntervalAutoCartelSwitch();}else{this.$cartel.addClass('second-visible');this.scndCartel_visible=1;}},clearIntervalAutoCartelSwitch(){if(this.cartelSwitchInterval){clearInterval(this.cartelSwitchInterval);this.cartelSwitchInterval=false;}},hide(){this.$container_parent.removeClass('audio-player-visible');this.$container.removeClass('visible');try{_$corpus_canvas.trigger('audio-node-closed');}catch(e){void 0;}},deActivateRandom(){this.shuffle_is_active=false;this.showHideNextBtn();},on(event_name,handler){if(typeof this.event_handlers[event_name]=='undefined'){void 0;}
 Drupal.attachBehaviors(this.$cartel);this.setAutoOpenArticle();if(this.auto_open_article){this.$cartel.find('a.link-article').trigger('click');this.auto_open_article=false;}},onNodeLoadFail(jqxhr,textStatus,error){void 0;this.$cartel.removeClass('loading').html('');},setAutoOpenArticle(art){this.auto_open_article=$('a.articles-link').is('.is-active');return this;},show(){this.$container_parent.addClass('audio-player-visible');this.$container.addClass('visible');},showHidePreviousBtn(){if(this.historic.length>1&&this.currentHistoricIndex>0){this.$previous.addClass('is-active');}else{this.$previous.removeClass('is-active');}},showHideNextBtn(){if(this.currentHistoricIndex<this.historic.length-1||this.shuffle_is_active){this.$next.addClass('is-active');}else{this.$next.removeClass('is-active');}},timeOutToHide(){this.clearTimeOutToHide();this.hideTimer=setTimeout(this.hide.bind(this),this.hideTimeMS);},clearTimeOutToHide(){if(this.hideTimer){clearTimeout(this.hideTimer);this.hideTimer=false;}},switchCartel(){if(this.scndCartel_visible){this.$cartel.removeClass('second-visible');this.scndCartel_visible=0;this.clearIntervalAutoCartelSwitch();}else{this.$cartel.addClass('second-visible');this.scndCartel_visible=1;}},clearIntervalAutoCartelSwitch(){if(this.cartelSwitchInterval){clearInterval(this.cartelSwitchInterval);this.cartelSwitchInterval=false;}},hide(){this.$container_parent.removeClass('audio-player-visible');this.$container.removeClass('visible');try{_$corpus_canvas.trigger('audio-node-closed');}catch(e){void 0;}},deActivateRandom(){this.shuffle_is_active=false;this.showHideNextBtn();},on(event_name,handler){if(typeof this.event_handlers[event_name]=='undefined'){void 0;}
 this.event_handlers[event_name].push(handler);return this;},emmit(event_name,args){void 0;var handler;var args=args||{};for(var i=this.event_handlers[event_name].length-1;i>=0;i--){handler=this.event_handlers[event_name][i];(function(handler,args){setTimeout(function(){handler(args);},0);}(handler,args));}
 this.event_handlers[event_name].push(handler);return this;},emmit(event_name,args){void 0;var handler;var args=args||{};for(var i=this.event_handlers[event_name].length-1;i>=0;i--){handler=this.event_handlers[event_name][i];(function(handler,args){setTimeout(function(){handler(args);},0);}(handler,args));}
 return this;},}
 return this;},}
-function RandomPlayer(playlist){this.active=false;this.playlist=playlist;this.path=drupalSettings.path.baseUrl+drupalSettings.path.pathPrefix+'#random'
+function RandomPlayer(playlist){this.active=false;this.playlist=playlist;this.path=_base_url+drupalSettings.path.pathPrefix+'#random'
 this.$btn=$('<a>').html('Shuffle').attr('href',this.path).attr('alt',drupalSettings.edlp_corpus.random_link_title).addClass('random-player-btn');this.init();};RandomPlayer.prototype={init(){$('<div>').addClass('block random-player').append(this.$btn).prependTo('.region-footer-right');this.$btn.on('click',this.toggleActive.bind(this));_audioPlayer.on('audio-play-next',this.onAudioPlayNext.bind(this)).on('audio-ended',this.onAudioPlayerEnded.bind(this)).on('stop-shuffle',this.stop.bind(this));_$corpus_canvas.on('update-random-playlist',this.updatePlaylist.bind(this));if(window.location.hash=='#random'){this.start();}},updatePlaylist(e){this.playlist=e.playlist;this.shuffle();},shuffle(){var tempPLaylist=[];for(var i=this.playlist.length-1;i>=0;i--){tempPLaylist.push(this.playlist[i]);}
 this.$btn=$('<a>').html('Shuffle').attr('href',this.path).attr('alt',drupalSettings.edlp_corpus.random_link_title).addClass('random-player-btn');this.init();};RandomPlayer.prototype={init(){$('<div>').addClass('block random-player').append(this.$btn).prependTo('.region-footer-right');this.$btn.on('click',this.toggleActive.bind(this));_audioPlayer.on('audio-play-next',this.onAudioPlayNext.bind(this)).on('audio-ended',this.onAudioPlayerEnded.bind(this)).on('stop-shuffle',this.stop.bind(this));_$corpus_canvas.on('update-random-playlist',this.updatePlaylist.bind(this));if(window.location.hash=='#random'){this.start();}},updatePlaylist(e){this.playlist=e.playlist;this.shuffle();},shuffle(){var tempPLaylist=[];for(var i=this.playlist.length-1;i>=0;i--){tempPLaylist.push(this.playlist[i]);}
 this.shuffledPlaylist=[];while(tempPLaylist.length>0){var r=Math.floor(Math.random()*tempPLaylist.length);this.shuffledPlaylist.push(tempPLaylist.splice(r,1)[0]);}},toggleActive(e){e.preventDefault();if(this.active){this.stop();}else{this.start();}
 this.shuffledPlaylist=[];while(tempPLaylist.length>0){var r=Math.floor(Math.random()*tempPLaylist.length);this.shuffledPlaylist.push(tempPLaylist.splice(r,1)[0]);}},toggleActive(e){e.preventDefault();if(this.active){this.stop();}else{this.start();}
 return false;},start(){this.active=_audioPlayer.shuffle_is_active=true;this.$btn.addClass('is-active');this.shuffle();this.next();if(typeof _paq!=='undefined'){_paq.push(['trackEvent','RandomPlayer','start']);}},stop(){this.active=false;this.$btn.removeClass('is-active');history.replaceState(history.state,null,window.location.pathname);_audioPlayer.deActivateRandom();if(typeof _paq!=='undefined'){_paq.push(['trackEvent','RandomPlayer','stop']);}},next(){void 0;if(this.active&&this.shuffledPlaylist.length>0)
 return false;},start(){this.active=_audioPlayer.shuffle_is_active=true;this.$btn.addClass('is-active');this.shuffle();this.next();if(typeof _paq!=='undefined'){_paq.push(['trackEvent','RandomPlayer','start']);}},stop(){this.active=false;this.$btn.removeClass('is-active');history.replaceState(history.state,null,window.location.pathname);_audioPlayer.deActivateRandom();if(typeof _paq!=='undefined'){_paq.push(['trackEvent','RandomPlayer','stop']);}},next(){void 0;if(this.active&&this.shuffledPlaylist.length>0)
@@ -69,7 +71,7 @@ if(false){var $grid=$('.grid',_$row).masonry({itemSelector:'.col',columnWidth:'.
 $this.height(Math.min($this.attr('init-height'),_$row.height()));});};function checkGridBlockVisible(){var $r_h=_$row.height();var $this,pos;$('.grid .col',_$row).each(function(i,e){$this=$(this);pos=$this.position();if(pos.top+$this.height()<=$r_h){$this.removeClass('offfield');}else{$this.addClass('offfield');}});}
 $this.height(Math.min($this.attr('init-height'),_$row.height()));});};function checkGridBlockVisible(){var $r_h=_$row.height();var $this,pos;$('.grid .col',_$row).each(function(i,e){$this=$(this);pos=$this.position();if(pos.top+$this.height()<=$r_h){$this.removeClass('offfield');}else{$this.addClass('offfield');}});}
 function initCollectionNav(){void 0;$('.field--name-field-notice, .index','.taxonomy-term.vocabulary-entrees.home_mobile').addClass('closed');$('.field--name-field-notice>.field__label','.taxonomy-term.vocabulary-entrees.home_mobile').on('click',onClickCollectionNotice);$('.index>.field__label','.taxonomy-term.vocabulary-entrees.home_mobile').on('click',onClickCollectionIndex);};function onClickCollectionNotice(e){toggleEntreeOpening($(this).parent(),'notice');};function onClickCollectionIndex(e){toggleEntreeOpening($(this).parent(),'index');};function toggleEntreeOpening($e,part){$e.toggleClass('closed').parents('.taxonomy-term.vocabulary-entrees.home_mobile').toggleClass(part+'-opened');}
 function initCollectionNav(){void 0;$('.field--name-field-notice, .index','.taxonomy-term.vocabulary-entrees.home_mobile').addClass('closed');$('.field--name-field-notice>.field__label','.taxonomy-term.vocabulary-entrees.home_mobile').on('click',onClickCollectionNotice);$('.index>.field__label','.taxonomy-term.vocabulary-entrees.home_mobile').on('click',onClickCollectionIndex);};function onClickCollectionNotice(e){toggleEntreeOpening($(this).parent(),'notice');};function onClickCollectionIndex(e){toggleEntreeOpening($(this).parent(),'index');};function toggleEntreeOpening($e,part){$e.toggleClass('closed').parents('.taxonomy-term.vocabulary-entrees.home_mobile').toggleClass(part+'-opened');}
 function initSearch(){$('#edit-entries--wrapper legend','#edlp-search-form').on('click',function(){$(this).parent().toggleClass('opened');});};function initEnregistrementTranscript(){void 0;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');});};function backToFrontPage(pop_state){void 0;closeAllModals();$('body').removeClass().addClass('path-frontpage');$('a[data-drupal-link-system-path="<front>"]').addClass('is-active');if(_corpus_ready){_$corpus_canvas.trigger({'type':'close-all-entree'});_$corpus_canvas.trigger({'type':'scramble-collection'});}
 function initSearch(){$('#edit-entries--wrapper legend','#edlp-search-form').on('click',function(){$(this).parent().toggleClass('opened');});};function initEnregistrementTranscript(){void 0;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');});};function backToFrontPage(pop_state){void 0;closeAllModals();$('body').removeClass().addClass('path-frontpage');$('a[data-drupal-link-system-path="<front>"]').addClass('is-active');if(_corpus_ready){_$corpus_canvas.trigger({'type':'close-all-entree'});_$corpus_canvas.trigger({'type':'scramble-collection'});}
-if(typeof pop_state=="undefined"||!pop_state){void 0;history.pushState({home:true},null,drupalSettings.path.baseUrl+drupalSettings.path.currentLanguage);}}
+if(typeof pop_state=="undefined"||!pop_state){void 0;history.pushState({home:true},null,_base_url+drupalSettings.path.currentLanguage);}}
 function closeAllModals(){_$row.html('');_$ajaxLinks.removeClass('is-active');_$body.trigger({'type':'all-modal-closed'});};function checkRowEmpty(){void 0;if(!$('.col',_$row).length){if(!_$body.is('.entity-type-taxonomy_term.bundle-entrees')){if(!_$body.is('.entity-type-node.bundle-page')){if(_$body.is('.bundle-enregistrement.view-mode-article')&&$('a.articles-link').is('.is-active')){void 0;$('a.articles-link').removeClass('is-active').trigger('click');}else{backToFrontPage();}}else{if(_corpus_ready){_$corpus_canvas.trigger({'type':'scramble-collection'});}
 function closeAllModals(){_$row.html('');_$ajaxLinks.removeClass('is-active');_$body.trigger({'type':'all-modal-closed'});};function checkRowEmpty(){void 0;if(!$('.col',_$row).length){if(!_$body.is('.entity-type-taxonomy_term.bundle-entrees')){if(!_$body.is('.entity-type-node.bundle-page')){if(_$body.is('.bundle-enregistrement.view-mode-article')&&$('a.articles-link').is('.is-active')){void 0;$('a.articles-link').removeClass('is-active').trigger('click');}else{backToFrontPage();}}else{if(_corpus_ready){_$corpus_canvas.trigger({'type':'scramble-collection'});}
 $('a[data-drupal-link-system-path="productions"]','#block-mainnavigation').removeClass('is-active').trigger('click');}}else{$('.entree-content a.is-active').removeClass('is-active');}}};init();}
 $('a[data-drupal-link-system-path="productions"]','#block-mainnavigation').removeClass('is-active').trigger('click');}}else{$('.entree-content a.is-active').removeClass('is-active');}}};init();}
 $(document).ready(function($){if(drupalSettings.path.isFront){var edlptheme=new EdlpTheme();}else{$('body').attr('booted','booted');}});})(jQuery,Drupal,drupalSettings);
 $(document).ready(function($){if(drupalSettings.path.isFront){var edlptheme=new EdlpTheme();}else{$('body').attr('booted','booted');}});})(jQuery,Drupal,drupalSettings);

File diff suppressed because it is too large
+ 0 - 0
web/themes/custom/edlptheme/assets/dist/styles/app.min.css


+ 80 - 15
web/themes/custom/edlptheme/assets/scripts/main.js

@@ -1,6 +1,8 @@
 (function($, Drupal, drupalSettings) {
 (function($, Drupal, drupalSettings) {
 
 
   EdlpTheme = function(){
   EdlpTheme = function(){
+    var _origin = window.location.origin;
+    var _base_url = drupalSettings.path.baseUrl;
     var _ajax_settings = drupalSettings.edlp_ajax;
     var _ajax_settings = drupalSettings.edlp_ajax;
     var _$body = $('body');
     var _$body = $('body');
     // var _is_front = drupalSettings.path.isFront;
     // var _is_front = drupalSettings.path.isFront;
@@ -17,6 +19,9 @@
     };
     };
     var _corpus_promise;
     var _corpus_promise;
     var _is_mobile =  edlp_mobile.device_is_mobile;
     var _is_mobile =  edlp_mobile.device_is_mobile;
+    var _is_loggedin = drupalSettings.user.uid === 0 ? false : true;
+    var _$log_form;
+    var _user_tokens;
 
 
     //  ___      _ _
     //  ___      _ _
     // |_ _|_ _ (_) |_
     // |_ _|_ _ (_) |_
@@ -25,9 +30,9 @@
     function init(){
     function init(){
       console.log("EdlpTheme init()");
       console.log("EdlpTheme init()");
 
 
-
-      // if(!drupalSettings.path.isFront)
-      //   return;
+      if (!_is_loggedin) {
+        initLogForm();
+      }
 
 
       if(_is_mobile){
       if(_is_mobile){
         initMobile();
         initMobile();
@@ -40,11 +45,8 @@
       initAjaxLinks();
       initAjaxLinks();
       initHistory();
       initHistory();
 
 
-
       if(!_is_mobile){
       if(!_is_mobile){
-
         checkLayout();
         checkLayout();
-
         initAudioLinksHover();
         initAudioLinksHover();
       }
       }
 
 
@@ -55,13 +57,76 @@
         _$body.attr('booted', 'booted');
         _$body.attr('booted', 'booted');
       }
       }
 
 
+    };
 
 
-      // if(!drupalSettings.path.isFront)
-      //   return;
-      //
-      // initEvents();
+
+    //  _                ___
+    // | |   ___  __ _  | __|__ _ _ _ __
+    // | |__/ _ \/ _` | | _/ _ \ '_| '  \
+    // |____\___/\__, | |_|\___/_| |_|_|_|
+    //           |___/
+    function initLogForm(){
+      console.log('initLogForm');
+      _$log_form = $('#user-login-form:not(ajax-enebled)')
+        .on('submit', onSubmitLogForm)
+        .addClass('ajax-enabled');
+    };
+
+    function onSubmitLogForm(e){
+      e.preventDefault();
+      // console.log('onSubmitLogForm', e);
+      var args = {
+        name : $('input#edit-name[type="text"]', this).val(),
+        pass : $('input#edit-pass[type="password"]', this).val()
+      };
+      // console.log(args);
+      logIn(args).then(getStudioLinkBlock);
+      return false;
     };
     };
 
 
+    function logIn(args){
+      console.log('logIn', args);
+      _$log_form.addClass('ajax-loading');
+      _$body.addClass('ajax-loading');
+
+      return $.ajax({
+        type: 'POST',
+        headers: {'Content-Type': 'application/json'},
+        xhrFields: {
+          withCredentials: true
+        },
+        // accessToken : 'tokenvaluehere',
+        url: _origin+_base_url+"user/login?_format=json",
+        data: JSON.stringify(args),
+        // name: args.mail,
+        // pass: args.pass,
+        success: function(response){
+          // console.log('sucess', response);
+          _user_tokens = response;
+        },
+        error: function (xhr, ajaxOptions, thrownError){
+          console.log(xhr.status);
+          console.log(thrownError);
+        }
+      });
+    };
+
+    function getStudioLinkBlock(){
+      var path = _origin+_base_url+'edlp/ajax/blocks/json/';
+      $.getJSON(path+"studiolinkblock", {})
+        .done(onStudioLinkBlockLoaded)
+        .fail(function(jqxhr, textStatus, error){
+          console.warn('Studio ink block load failed', jqxhr.responseText);
+        });
+    };
+
+    function onStudioLinkBlockLoaded(data){
+      console.log('onStudioLinkBlockLoaded', data);
+      $('#block-studiouserlogin').replaceWith(data.blocks.studiolinkblock.rendered);
+      initAjaxLinks();
+      _$log_form.removeClass('ajax-loading');
+      _$body.removeClass('ajax-loading');
+    }
 
 
     //  __  __     _    _ _
     //  __  __     _    _ _
     // |  \/  |___| |__(_) |___
     // |  \/  |___| |__(_) |___
@@ -271,7 +336,7 @@
       console.log('ajaxLoadContent : state', state);
       console.log('ajaxLoadContent : state', state);
       _$body.addClass('ajax-loading');
       _$body.addClass('ajax-loading');
       _ajax_timing.start = performance.now();
       _ajax_timing.start = performance.now();
-      var path = window.location.origin + Drupal.url(state.ajax_path);
+      var path = _origin + Drupal.url(state.ajax_path);
       $.getJSON(path, {})
       $.getJSON(path, {})
         .done(function(data){
         .done(function(data){
           onAjaxLoaded(data, state);
           onAjaxLoaded(data, state);
@@ -552,7 +617,7 @@
     //      |__/
     //      |__/
     // NOT USED (YET)
     // NOT USED (YET)
     // function refreshAllBlocks(){
     // function refreshAllBlocks(){
-    //   var path = window.location.origin + Drupal.url(_ajax_settings.blocksjson_path);
+    //   var path = _origin + Drupal.url(_ajax_settings.blocksjson_path);
     //   $.getJSON(path, {})
     //   $.getJSON(path, {})
     //     .done(function(data){
     //     .done(function(data){
     //       onAjaxBlockLoaded(data);
     //       onAjaxBlockLoaded(data);
@@ -1228,7 +1293,7 @@
         this.$cartel.addClass('loading');
         this.$cartel.addClass('loading');
         var vm = 'player_cartel';
         var vm = 'player_cartel';
         var ajax_path = _ajax_settings.entityjson_path+'/node/'+nid+'/'+vm;
         var ajax_path = _ajax_settings.entityjson_path+'/node/'+nid+'/'+vm;
-        var path = window.location.origin + Drupal.url(ajax_path);
+        var path = _origin + Drupal.url(ajax_path);
         $.getJSON(path, {})
         $.getJSON(path, {})
           .done(this.onNodeLoaded.bind(this))
           .done(this.onNodeLoaded.bind(this))
           .fail(this.onNodeLoadFail.bind(this));
           .fail(this.onNodeLoadFail.bind(this));
@@ -1366,7 +1431,7 @@
     function RandomPlayer(playlist){
     function RandomPlayer(playlist){
       this.active = false;
       this.active = false;
       this.playlist = playlist;
       this.playlist = playlist;
-      this.path =  drupalSettings.path.baseUrl+drupalSettings.path.pathPrefix+'#random'
+      this.path =  _base_url+drupalSettings.path.pathPrefix+'#random'
       this.$btn = $('<a>')
       this.$btn = $('<a>')
         .html('Shuffle')
         .html('Shuffle')
         .attr('href',this.path)
         .attr('href',this.path)
@@ -1942,7 +2007,7 @@
 
 
       if(typeof pop_state == "undefined" || !pop_state){
       if(typeof pop_state == "undefined" || !pop_state){
         console.log('backToFrontPage push state');
         console.log('backToFrontPage push state');
-        history.pushState({home:true}, null, drupalSettings.path.baseUrl+drupalSettings.path.currentLanguage);
+        history.pushState({home:true}, null, _base_url+drupalSettings.path.currentLanguage);
       }
       }
     }
     }
 
 

+ 11 - 4
web/themes/custom/edlptheme/assets/styles/app.scss

@@ -2405,15 +2405,22 @@ footer{
     }
     }
     &:hover{
     &:hover{
       .block-content{
       .block-content{
-        height:200px;
+        height:300px;
         opacity: 1;
         opacity: 1;
         pointer-events:auto;
         pointer-events:auto;
         transition-delay: 0s;
         transition-delay: 0s;
       }
       }
     }
     }
-    &#block-studiouserlogin:hover{
-      .block-content{
-        height:300px;
+    // &#block-studiouserlogin:hover{
+    //   .block-content{
+    //     height:300px;
+    //   }
+    // }
+    #user-login-form{
+      transition: opacity 1s ease-out;
+      opacity:1;
+      &.ajax-loading{
+        opacity: 0.2;
       }
       }
     }
     }
   }
   }

Some files were not shown because too many files changed in this diff