New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

ode-ngjs-front

Package Overview
Dependencies
Maintainers
0
Versions
427
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ode-ngjs-front - npm Package Compare versions

Comparing version 1.4.6 to 1.4.7

2

dist/version.txt

@@ -1,1 +0,1 @@

ode-ngjs-front 15/07/2024 17:44:04
ode-ngjs-front 07/10/2024 11:36:53

@@ -1,2 +0,2 @@

"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[815],{2805:(e,t,n)=>{n.d(t,{Z:()=>a});const a=' <div class="widget-calendar"> <div class="widget-header"> <div class="subtitle"> <a class="seemore" href="/calendar" i18n-title="agenda-widget.widget.see.all" ng-click="trackEvent($event, { detail:{\'open\':\'app\'} })"> <i18n>agenda-widget.widget.title</i18n> <span class="seemore-text"><i18n>agenda-widget.widget.see.more</i18n></span> </a> </div> <div class="widget-options"> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body" dnd-nodrag> <div class="widget-empty-message" ng-if="ctrl.userEvents === undefined || ctrl.userEvents.length === 0"> <i18n>agenda-widget.widget.empty</i18n> </div> <ul class="day-list" ng-if="ctrl.userEvents !== undefined && ctrl.userEvents.length >= 0"> <li class="day-item" ng-repeat="group in ctrl.dayGroups"> <div class="day-item-title"> {{group}} </div> <ul class="moment-list"> <li class="moment-item" ng-repeat="event in ctrl.userEvents | filter:{displayedGroup: group}"> <span class="icon"><i class="fas fa-calendar-alt"></i></span> <span class="hour" ng-if="!event.allday">[[event.displayedDate]]</span> <span class="link"><a href="/calendar" ng-click="trackEvent($event, { detail:{\'open\':\'event\'} })">[[event.title]]</a></span> </li> </ul> </li> </ul> </div> </div>'},624:function(e,t,n){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var i=a(n(4202)),d=n(9419),s=function(){function e(){this.userEvents=[],this.dayGroups=[],this.MAX_EVENTS_DISPLAYED=5}return e.prototype.dateToMoment=function(e){var t=d.L10n.moment(d.L10n.moment(e).format("YYYY MM DD HH:MM"),"YYYY MM DD HH:MM").format("Z").split(":")[0];return d.L10n.utc(e).add(t,"hours")},e.prototype.toDisplayedGroup=function(e){return this.dateToMoment(e).format("dddd D MMMM YYYY")},e.prototype.toDisplayedDate=function(e){return this.dateToMoment(e).format("HH:mm")},e.prototype.today=function(e){return d.L10n.moment().format(e)},e.prototype.loadEvents=function(){var e=this;return d.http().get("/calendar/calendars").then((function(e){if(i.default.isArray(e)&&e.length>0){var t=e.map((function(e){return"calendarId="+e._id})).join("&");return console.log("filter calendarWidget : "+t),t}return null})).then((function(t){return null===t?[]:d.http().get("/calendar/events/widget?"+t+"&nb="+e.MAX_EVENTS_DISPLAYED)}))},e.prototype.setEvents=function(e){var t=this;if(i.default.isArray(e)){this.dayGroups=[],this.userEvents=[];var n="";e.forEach((function(e){var a=Object.assign({displayedGroup:t.toDisplayedGroup(e.startMoment),displayedDate:t.toDisplayedDate(e.startMoment)},e);t.userEvents.push(a),n!==a.displayedGroup&&(n=a.displayedGroup,t.dayGroups.push(n))}))}},e}(),r=function(){function e(){this.restrict="E",this.template=n(2805).Z,this.scope={},this.bindToController=!0,this.controller=[s],this.controllerAs="ctrl",this.require=["odeAgendaWidget"]}return e.prototype.link=function(e,t,n,a){var i=a?a[0]:null;i&&(i.loadEvents().then((function(t){i.setEvents(t),e.$apply()})),e.trackEvent=function(e,t){var n,a;void 0===t.bubbles&&(t.bubbles=!0);var i=null;(t&&"app"===(null===(n=t.detail)||void 0===n?void 0:n.open)||t&&"event"===(null===(a=t.detail)||void 0===a?void 0:a.open))&&(i=new CustomEvent(d.TrackedActionFromWidget.agenda,t)),i&&e.currentTarget&&e.currentTarget.dispatchEvent(i)})},e}();d.notif().onLangReady().promise.then((function(e){d.conf().Platform.idiom.addKeys(n(1014))})),t.odeModuleName="odeAgendaWidgetModule",i.default.module(t.odeModuleName,[]).directive("odeAgendaWidget",(function(){return new r}))},1014:e=>{e.exports=JSON.parse('{"agenda-widget":"Agenda","agenda-widget.widget.title":"Agenda","agenda-widget.widget.empty":"Aucun événement prévu","agenda-widget.widget.next.events":"Prochains événements","agenda-widget.widget.access.module":"Vers module Agenda","agenda-widget.widget.see.more":"voir plus","agenda-widget.widget.see.all":"Voir tout l\'agenda"}')}}]);
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[815],{2805:(e,t,n)=>{n.d(t,{Z:()=>a});const a=' <div class="widget-calendar"> <div class="widget-header"> <div class="subtitle"> <a class="seemore" href="/calendar" i18n-title="agenda-widget.widget.see.all" ng-click="trackEvent($event, { detail:{\'open\':\'app\'} })"> <i18n>agenda-widget.widget.title</i18n> <span class="seemore-text"><i18n>agenda-widget.widget.see.more</i18n></span> </a> </div> <div class="widget-options"> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body" dnd-nodrag> <div class="widget-empty-message" ng-if="ctrl.userEvents === undefined || ctrl.userEvents.length === 0"> <i18n>agenda-widget.widget.empty</i18n> </div> <ul class="day-list" ng-if="ctrl.userEvents !== undefined && ctrl.userEvents.length >= 0"> <li class="day-item" ng-repeat="group in ctrl.dayGroups"> <div class="day-item-title"> {{group}} </div> <ul class="moment-list"> <li class="moment-item" ng-repeat="event in ctrl.userEvents | filter:{displayedGroup: group}"> <span class="icon"><i class="fas fa-calendar-alt"></i></span> <span class="hour" ng-if="!event.allday">[[event.displayedDate]]</span> <span class="link"><a href="/calendar" ng-click="trackEvent($event, { detail:{\'open\':\'event\'} })">[[event.title]]</a></span> </li> </ul> </li> </ul> </div> </div>'},624:function(e,t,n){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var i=a(n(4202)),d=n(9419),s=function(){function e(){this.userEvents=[],this.dayGroups=[],this.MAX_EVENTS_DISPLAYED=5}return e.prototype.dateToMoment=function(e){var t=d.L10n.moment(d.L10n.moment(e).format("YYYY MM DD HH:MM"),"YYYY MM DD HH:MM").format("Z").split(":")[0];return d.L10n.utc(e).add(t,"hours")},e.prototype.toDisplayedGroup=function(e){return this.dateToMoment(e).format("dddd D MMMM YYYY")},e.prototype.toDisplayedDate=function(e){return this.dateToMoment(e).format("HH:mm")},e.prototype.today=function(e){return d.L10n.moment().format(e)},e.prototype.loadEvents=function(){var e=this;return(0,d.http)().get("/calendar/calendars").then((function(e){if(i.default.isArray(e)&&e.length>0){var t=e.map((function(e){return"calendarId="+e._id})).join("&");return console.log("filter calendarWidget : "+t),t}return null})).then((function(t){return null===t?[]:(0,d.http)().get("/calendar/events/widget?"+t+"&nb="+e.MAX_EVENTS_DISPLAYED)}))},e.prototype.setEvents=function(e){var t=this;if(i.default.isArray(e)){this.dayGroups=[],this.userEvents=[];var n="";e.forEach((function(e){var a=Object.assign({displayedGroup:t.toDisplayedGroup(e.startMoment),displayedDate:t.toDisplayedDate(e.startMoment)},e);t.userEvents.push(a),n!==a.displayedGroup&&(n=a.displayedGroup,t.dayGroups.push(n))}))}},e}(),r=function(){function e(){this.restrict="E",this.template=n(2805).Z,this.scope={},this.bindToController=!0,this.controller=[s],this.controllerAs="ctrl",this.require=["odeAgendaWidget"]}return e.prototype.link=function(e,t,n,a){var i=a?a[0]:null;i&&(i.loadEvents().then((function(t){i.setEvents(t),e.$apply()})),e.trackEvent=function(e,t){var n,a;void 0===t.bubbles&&(t.bubbles=!0);var i=null;(t&&"app"===(null===(n=t.detail)||void 0===n?void 0:n.open)||t&&"event"===(null===(a=t.detail)||void 0===a?void 0:a.open))&&(i=new CustomEvent(d.TrackedActionFromWidget.agenda,t)),i&&e.currentTarget&&e.currentTarget.dispatchEvent(i)})},e}();(0,d.notif)().onLangReady().promise.then((function(e){(0,d.conf)().Platform.idiom.addKeys(n(1014))})),t.odeModuleName="odeAgendaWidgetModule",i.default.module(t.odeModuleName,[]).directive("odeAgendaWidget",(function(){return new r}))},1014:e=>{e.exports=JSON.parse('{"agenda-widget":"Agenda","agenda-widget.widget.title":"Agenda","agenda-widget.widget.empty":"Aucun événement prévu","agenda-widget.widget.next.events":"Prochains événements","agenda-widget.widget.access.module":"Vers module Agenda","agenda-widget.widget.see.more":"voir plus","agenda-widget.widget.see.all":"Voir tout l\'agenda"}')}}]);
//# sourceMappingURL=agenda-widget.widget.js.map

@@ -1,2 +0,2 @@

"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[364],{7562:(t,e,o)=>{o.d(e,{Z:()=>i});const i='<div class="widget-bookmarks"> <div class="widget-header"> <div class="subtitle"><i18n>bookmark-widget.widget.title</i18n></div> <div class="widget-options"> <div class="tools"> <a href="" class="tool tool-option" i18n-title="bookmark-widget.widget.manage.bookmarks" ng-click="ctrl.display.manage = true"> <i class="fas fa-cog"></i> </a> </div> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body"> <div class="widget-empty-message link" ng-click="ctrl.display.manage = true" ng-if="ctrl.bookmarks.length === 0"> <i18n>bookmark-widget.widget.empty</i18n> </div> <ul class="bookmark-list" ng-if="!ctrl.bookmarks.isEmpty()"> <li class="bookmark-item" ng-repeat="bookmark in ctrl.bookmarks | orderBy:\'name\'"> <a class="link" href="[[bookmark.url]]" target="_blank" ng-click="trackEvent($event, {detail:{\'open\':bookmark.url} })"> [[bookmark.name]] </a> </li> </ul> </div> </div> <ode-modal size="lg" visible="ctrl.display.manage" on-close="ctrl.display.manage = false" dnd-nodrag> <ode-modal-title> <i18n>bookmark-widget.widget.manage.title</i18n> </ode-modal-title> <ode-modal-body> <div ng-if="ctrl.bookmarks.length === 0"> <p><i18n>bookmark-widget.widget.manage.empty</i18n></p> </div> <table class="table table-hover" ng-if="ctrl.bookmarks.length !== 0"> <thead> <tr class="bg-secondary text-light"> <th><i18n>bookmark-widget.widget.managetable.name</i18n></th> <th><i18n>bookmark-widget.widget.managetable.url</i18n></th> <th></th> </tr> </thead> <tbody> <tr class="c-pointer" ng-repeat="bookmark in ctrl.bookmarks" ng-class="{ \'table-active\' : ctrl.editedBookmark && bookmark._id === ctrl.editedBookmark._id }"> <td ng-click="ctrl.editBookmark(bookmark)">[[bookmark.name]]</td> <td ng-click="ctrl.editBookmark(bookmark)">[[bookmark.url]]</td> <td ng-click="ctrl.deleteBookmark(bookmark)"> <button type="button" class="btn-close" aria-label="Close"></button> </td> </tr> </tbody> </table> <form id="formCreated" autocomplete="off" class="mt-5" ng-if="ctrl.isCreatingBookmark()"> <h3><i18n>bookmark-widget.widget.createform.title</i18n></h3> <div class="form-group row mt-3"> <label for="inputCreatedName" class="col-sm-2 col-form-label"><i18n>bookmark-widget.widget.createform.name</i18n></label> <div class="col-sm-10"> <input type="text" id="inputCreatedName" class="form-control auto-focused" ng-model="ctrl.createdBookmark.name"/> </div> </div> <div class="form-group row mt-3"> <label for="inputCreatedUrl" class="col-sm-2 col-form-label"><i18n>bookmark-widget.widget.createform.url</i18n></label> <div class="col-sm-10"> <input type="text" id="inputCreatedUrl" class="form-control" ng-model="ctrl.createdBookmark.url"/> </div> </div> </form> <form id="formEdited" autocomplete="off" class="mt-5" ng-if="ctrl.isEditingBookmark()"> <h3><i18n>bookmark-widget.widget.edit.bookmark</i18n></h3> <div class="form-group row mt-3"> <label for="inputEditedName" class="col-sm-2 col-form-label"><i18n>bookmark-widget.widget.editform.name</i18n></label> <div class="col-sm-10"> <input type="text" id="inputEditedName" class="form-control auto-focused" ng-model="ctrl.editedBookmark.name"/> </div> </div> <div class="form-group row mt-3"> <label for="inputEditedUrl" class="col-sm-2 col-form-label"><i18n>bookmark-widget.widget.editform.url</i18n></label> <div class="col-sm-10"> <input type="text" id="inputEditedUrl" class="form-control" ng-model="ctrl.editedBookmark.url"/> </div> </div> </form> </ode-modal-body> <ode-modal-footer> <div ng-if="!ctrl.isCreatingBookmark() && !ctrl.isEditingBookmark()"> <button class="btn btn-primary" ng-click="ctrl.newBookmark()"><i18n>bookmark-widget.widget.new.bookmark</i18n></button> </div> <div ng-if="ctrl.isCreatingBookmark()"> <button form="formCreated" type="reset" class="btn btn-light" ng-click="ctrl.cancelCreate()"> <i18n>bookmark-widget.widget.createform.cancel</i18n> </button> <button form="formCreated" type="submit" class="btn btn-primary" ng-click="ctrl.createBookmark()"> <i18n>bookmark-widget.widget.createform.save</i18n> </button> </div> <div ng-if="ctrl.isEditingBookmark()"> <button form="formEdited" type="reset" class="btn btn-light" ng-click="ctrl.cancelEdit()"> <i18n>bookmark-widget.widget.editform.cancel</i18n> </button> <button form="formEdited" type="submit" class="btn btn-primary" ng-click="ctrl.updateBookmark()"> <i18n>bookmark-widget.widget.editform.save</i18n> </button> </div> </ode-modal-footer> </ode-modal>'},9278:function(t,e,o){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.odeModuleName=void 0;var r=i(o(4202)),a=o(9419),n=o(6731);function d(t){return!t||0===t.trim().length}var l=function(){function t(t){this.name="",this.url="",this.flatCopy(t)}return t.prototype.flatCopy=function(t){return t&&Object.assign(this,t),this},t.prototype.create=function(){var t=this;return d(this.name)?(n.notify.error("bookmark-widget.widget.form.name.is.empty"),Promise.reject()):d(this.url)?(n.notify.error("bookmark-widget.widget.form.url.is.empty"),Promise.reject()):a.http().postJson("/bookmark",this).then((function(e){if(200!==a.http().latestResponse.status)throw"Rejected bookmark";return t.flatCopy(e)})).catch((function(t){throw 400===a.http().latestResponse.status&&n.notify.error(JSON.parse(a.http().latestResponse.statusText).error),t}))},t.prototype.update=function(){var t=this;return d(this.name)?(n.notify.error("bookmark.widget.form.name.is.empty"),Promise.reject()):d(this.url)?(n.notify.error("bookmark.widget.form.url.is.empty"),Promise.reject()):a.http().putJson("/bookmark/"+this._id,this).then((function(){return t})).catch((function(t){throw 400===a.http().latestResponse.status&&n.notify.error(JSON.parse(a.http().latestResponse.statusText).error),t}))},t.prototype.delete=function(){var t=this;return a.http().delete("/bookmark/"+this._id).then((function(){return t}))},t.prototype.toJSON=function(){return{name:this.name,url:this.url}},t}(),s=function(){function t(){this.bookmarks=[],this.display={manage:!1}}return t.prototype.getBookmarks=function(){var t=this;return a.http().get("/bookmark").then((function(e){e&&e.bookmarks?t.bookmarks=e.bookmarks.map((function(t){return new l(t)})):t.bookmarks=[],t.apply&&t.apply()}))},t.prototype.createBookmark=function(){var t=this;this.createdBookmark&&this.createdBookmark.create().then((function(e){t.bookmarks.push(e),t.cancelCreate(),t.apply&&t.apply()}))},t.prototype.updateBookmark=function(){var t=this;if(this.editedBookmark){var e=this.editedBookmark;e.update().then((function(){var o=t.bookmarks.find((function(t){return t._id===e._id}));null==o||o.flatCopy(e),t.cancelEdit(),t.apply&&t.apply()}))}},t.prototype.deleteBookmark=function(t){var e=this;t.delete().then((function(t){var o=e.bookmarks.indexOf(t);e.bookmarks.splice(o,1),e.cancelEdit(),e.apply&&e.apply()}))},t.prototype.newBookmark=function(){this.createdBookmark=new l({url:"http://",name:""}),this.cancelEdit()},t.prototype.isCreatingBookmark=function(){return r.default.isDefined(this.createdBookmark)},t.prototype.isEditingBookmark=function(){return r.default.isDefined(this.editedBookmark)},t.prototype.editBookmark=function(t){this.editedBookmark=new l(t),this.cancelCreate()},t.prototype.cancelCreate=function(){this.createdBookmark=void 0},t.prototype.cancelEdit=function(){this.editedBookmark=void 0},t}(),m=function(){function t(){this.restrict="E",this.template=o(7562).Z,this.controller=[s],this.controllerAs="ctrl",this.require=["odeBookmarkWidget"]}return t.prototype.link=function(t,e,o,i){var r=i?i[0]:null;r&&(r.getBookmarks().then((function(){t.$apply()})),r.apply=function(){t.$apply()},t.trackEvent=function(t,e){var o;void 0===e.bubbles&&(e.bubbles=!0);var i=null;e&&"string"==typeof(null===(o=e.detail)||void 0===o?void 0:o.open)&&(i=new CustomEvent(a.TrackedActionFromWidget.bookmark,e)),i&&t.currentTarget&&t.currentTarget.dispatchEvent(i)})},t}();a.notif().onLangReady().promise.then((function(t){a.conf().Platform.idiom.addKeys(o(2731))})),e.odeModuleName="odeBookmarkWidgetModule",r.default.module(e.odeModuleName,[]).directive("odeBookmarkWidget",(function(){return new m}))},2731:t=>{t.exports=JSON.parse('{"bookmark-widget.widget.title":"Liens utiles","bookmark-widget":"Liens utiles","bookmark-widget.widget.createform.cancel":"Annuler","bookmark-widget.widget.createform.name":"Nom","bookmark-widget.widget.createform.save":"Enregistrer","bookmark-widget.widget.createform.title":"Nouveau lien utile","bookmark-widget.widget.createform.url":"Adresse","bookmark-widget.widget.edit.bookmark":"Mettre à jour le lien utile","bookmark-widget.widget.editform.cancel":"Annuler","bookmark-widget.widget.editform.name":"Nom","bookmark-widget.widget.editform.save":"Enregistrer","bookmark-widget.widget.editform.url":"Adresse","bookmark-widget.widget.empty":"Gardez à portée de main les sites web que vous utilisez souvent.","bookmark-widget.widget.form.name.is.empty":"Le champ \'nom\' est obligatoire","bookmark-widget.widget.form.url.is.empty":"Le champ \'adresse\' est obligatoire","bookmark-widget.widget.manage.empty":"Aucun lien utile","bookmark-widget.widget.manage.bookmarks":"Gérer les liens utiles","bookmark-widget.widget.manage.title":"Gérer les liens utiles","bookmark-widget.widget.managetable.name":"Nom","bookmark-widget.widget.managetable.url":"Adresse","bookmark-widget.widget.new.bookmark":"Nouveau lien utile"}')}}]);
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[364],{7562:(t,e,o)=>{o.d(e,{Z:()=>i});const i='<div class="widget-bookmarks"> <div class="widget-header"> <div class="subtitle"><i18n>bookmark-widget.widget.title</i18n></div> <div class="widget-options"> <div class="tools"> <a href="" class="tool tool-option" i18n-title="bookmark-widget.widget.manage.bookmarks" ng-click="ctrl.display.manage = true"> <i class="fas fa-cog"></i> </a> </div> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body"> <div class="widget-empty-message link" ng-click="ctrl.display.manage = true" ng-if="ctrl.bookmarks.length === 0"> <i18n>bookmark-widget.widget.empty</i18n> </div> <ul class="bookmark-list" ng-if="!ctrl.bookmarks.isEmpty()"> <li class="bookmark-item" ng-repeat="bookmark in ctrl.bookmarks | orderBy:\'name\'"> <a class="link" href="[[bookmark.url]]" target="_blank" ng-click="trackEvent($event, {detail:{\'open\':bookmark.url} })"> [[bookmark.name]] </a> </li> </ul> </div> </div> <ode-modal size="lg" visible="ctrl.display.manage" on-close="ctrl.display.manage = false" dnd-nodrag> <ode-modal-title> <i18n>bookmark-widget.widget.manage.title</i18n> </ode-modal-title> <ode-modal-body> <div ng-if="ctrl.bookmarks.length === 0"> <p><i18n>bookmark-widget.widget.manage.empty</i18n></p> </div> <table class="table table-hover" ng-if="ctrl.bookmarks.length !== 0"> <thead> <tr class="bg-secondary text-light"> <th><i18n>bookmark-widget.widget.managetable.name</i18n></th> <th><i18n>bookmark-widget.widget.managetable.url</i18n></th> <th></th> </tr> </thead> <tbody> <tr class="c-pointer" ng-repeat="bookmark in ctrl.bookmarks" ng-class="{ \'table-active\' : ctrl.editedBookmark && bookmark._id === ctrl.editedBookmark._id }"> <td ng-click="ctrl.editBookmark(bookmark)">[[bookmark.name]]</td> <td ng-click="ctrl.editBookmark(bookmark)">[[bookmark.url]]</td> <td ng-click="ctrl.deleteBookmark(bookmark)"> <button type="button" class="btn-close" aria-label="Close"></button> </td> </tr> </tbody> </table> <form id="formCreated" autocomplete="off" class="mt-5" ng-if="ctrl.isCreatingBookmark()"> <h3><i18n>bookmark-widget.widget.createform.title</i18n></h3> <div class="form-group row mt-3"> <label for="inputCreatedName" class="col-sm-2 col-form-label"><i18n>bookmark-widget.widget.createform.name</i18n></label> <div class="col-sm-10"> <input type="text" id="inputCreatedName" class="form-control auto-focused" ng-model="ctrl.createdBookmark.name"/> </div> </div> <div class="form-group row mt-3"> <label for="inputCreatedUrl" class="col-sm-2 col-form-label"><i18n>bookmark-widget.widget.createform.url</i18n></label> <div class="col-sm-10"> <input type="text" id="inputCreatedUrl" class="form-control" ng-model="ctrl.createdBookmark.url"/> </div> </div> </form> <form id="formEdited" autocomplete="off" class="mt-5" ng-if="ctrl.isEditingBookmark()"> <h3><i18n>bookmark-widget.widget.edit.bookmark</i18n></h3> <div class="form-group row mt-3"> <label for="inputEditedName" class="col-sm-2 col-form-label"><i18n>bookmark-widget.widget.editform.name</i18n></label> <div class="col-sm-10"> <input type="text" id="inputEditedName" class="form-control auto-focused" ng-model="ctrl.editedBookmark.name"/> </div> </div> <div class="form-group row mt-3"> <label for="inputEditedUrl" class="col-sm-2 col-form-label"><i18n>bookmark-widget.widget.editform.url</i18n></label> <div class="col-sm-10"> <input type="text" id="inputEditedUrl" class="form-control" ng-model="ctrl.editedBookmark.url"/> </div> </div> </form> </ode-modal-body> <ode-modal-footer> <div ng-if="!ctrl.isCreatingBookmark() && !ctrl.isEditingBookmark()"> <button class="btn btn-primary" ng-click="ctrl.newBookmark()"><i18n>bookmark-widget.widget.new.bookmark</i18n></button> </div> <div ng-if="ctrl.isCreatingBookmark()"> <button form="formCreated" type="reset" class="btn btn-light" ng-click="ctrl.cancelCreate()"> <i18n>bookmark-widget.widget.createform.cancel</i18n> </button> <button form="formCreated" type="submit" class="btn btn-primary" ng-click="ctrl.createBookmark()"> <i18n>bookmark-widget.widget.createform.save</i18n> </button> </div> <div ng-if="ctrl.isEditingBookmark()"> <button form="formEdited" type="reset" class="btn btn-light" ng-click="ctrl.cancelEdit()"> <i18n>bookmark-widget.widget.editform.cancel</i18n> </button> <button form="formEdited" type="submit" class="btn btn-primary" ng-click="ctrl.updateBookmark()"> <i18n>bookmark-widget.widget.editform.save</i18n> </button> </div> </ode-modal-footer> </ode-modal>'},9278:function(t,e,o){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.odeModuleName=void 0;var r=i(o(4202)),a=o(9419),n=o(6731);function d(t){return!t||0===t.trim().length}var l=function(){function t(t){this.name="",this.url="",this.flatCopy(t)}return t.prototype.flatCopy=function(t){return t&&Object.assign(this,t),this},t.prototype.create=function(){var t=this;return d(this.name)?(n.notify.error("bookmark-widget.widget.form.name.is.empty"),Promise.reject()):d(this.url)?(n.notify.error("bookmark-widget.widget.form.url.is.empty"),Promise.reject()):(0,a.http)().postJson("/bookmark",this).then((function(e){if(200!==(0,a.http)().latestResponse.status)throw"Rejected bookmark";return t.flatCopy(e)})).catch((function(t){throw 400===(0,a.http)().latestResponse.status&&n.notify.error(JSON.parse((0,a.http)().latestResponse.statusText).error),t}))},t.prototype.update=function(){var t=this;return d(this.name)?(n.notify.error("bookmark.widget.form.name.is.empty"),Promise.reject()):d(this.url)?(n.notify.error("bookmark.widget.form.url.is.empty"),Promise.reject()):(0,a.http)().putJson("/bookmark/".concat(this._id),this).then((function(){return t})).catch((function(t){throw 400===(0,a.http)().latestResponse.status&&n.notify.error(JSON.parse((0,a.http)().latestResponse.statusText).error),t}))},t.prototype.delete=function(){var t=this;return(0,a.http)().delete("/bookmark/".concat(this._id)).then((function(){return t}))},t.prototype.toJSON=function(){return{name:this.name,url:this.url}},t}(),s=function(){function t(){this.bookmarks=[],this.display={manage:!1}}return t.prototype.getBookmarks=function(){var t=this;return(0,a.http)().get("/bookmark").then((function(e){e&&e.bookmarks?t.bookmarks=e.bookmarks.map((function(t){return new l(t)})):t.bookmarks=[],t.apply&&t.apply()}))},t.prototype.createBookmark=function(){var t=this;this.createdBookmark&&this.createdBookmark.create().then((function(e){t.bookmarks.push(e),t.cancelCreate(),t.apply&&t.apply()}))},t.prototype.updateBookmark=function(){var t=this;if(this.editedBookmark){var e=this.editedBookmark;e.update().then((function(){var o=t.bookmarks.find((function(t){return t._id===e._id}));null==o||o.flatCopy(e),t.cancelEdit(),t.apply&&t.apply()}))}},t.prototype.deleteBookmark=function(t){var e=this;t.delete().then((function(t){var o=e.bookmarks.indexOf(t);e.bookmarks.splice(o,1),e.cancelEdit(),e.apply&&e.apply()}))},t.prototype.newBookmark=function(){this.createdBookmark=new l({url:"http://",name:""}),this.cancelEdit()},t.prototype.isCreatingBookmark=function(){return r.default.isDefined(this.createdBookmark)},t.prototype.isEditingBookmark=function(){return r.default.isDefined(this.editedBookmark)},t.prototype.editBookmark=function(t){this.editedBookmark=new l(t),this.cancelCreate()},t.prototype.cancelCreate=function(){this.createdBookmark=void 0},t.prototype.cancelEdit=function(){this.editedBookmark=void 0},t}(),m=function(){function t(){this.restrict="E",this.template=o(7562).Z,this.controller=[s],this.controllerAs="ctrl",this.require=["odeBookmarkWidget"]}return t.prototype.link=function(t,e,o,i){var r=i?i[0]:null;r&&(r.getBookmarks().then((function(){t.$apply()})),r.apply=function(){t.$apply()},t.trackEvent=function(t,e){var o;void 0===e.bubbles&&(e.bubbles=!0);var i=null;e&&"string"==typeof(null===(o=e.detail)||void 0===o?void 0:o.open)&&(i=new CustomEvent(a.TrackedActionFromWidget.bookmark,e)),i&&t.currentTarget&&t.currentTarget.dispatchEvent(i)})},t}();(0,a.notif)().onLangReady().promise.then((function(t){(0,a.conf)().Platform.idiom.addKeys(o(2731))})),e.odeModuleName="odeBookmarkWidgetModule",r.default.module(e.odeModuleName,[]).directive("odeBookmarkWidget",(function(){return new m}))},2731:t=>{t.exports=JSON.parse('{"bookmark-widget.widget.title":"Liens utiles","bookmark-widget":"Liens utiles","bookmark-widget.widget.createform.cancel":"Annuler","bookmark-widget.widget.createform.name":"Nom","bookmark-widget.widget.createform.save":"Enregistrer","bookmark-widget.widget.createform.title":"Nouveau lien utile","bookmark-widget.widget.createform.url":"Adresse","bookmark-widget.widget.edit.bookmark":"Mettre à jour le lien utile","bookmark-widget.widget.editform.cancel":"Annuler","bookmark-widget.widget.editform.name":"Nom","bookmark-widget.widget.editform.save":"Enregistrer","bookmark-widget.widget.editform.url":"Adresse","bookmark-widget.widget.empty":"Gardez à portée de main les sites web que vous utilisez souvent.","bookmark-widget.widget.form.name.is.empty":"Le champ \'nom\' est obligatoire","bookmark-widget.widget.form.url.is.empty":"Le champ \'adresse\' est obligatoire","bookmark-widget.widget.manage.empty":"Aucun lien utile","bookmark-widget.widget.manage.bookmarks":"Gérer les liens utiles","bookmark-widget.widget.manage.title":"Gérer les liens utiles","bookmark-widget.widget.managetable.name":"Nom","bookmark-widget.widget.managetable.url":"Adresse","bookmark-widget.widget.new.bookmark":"Nouveau lien utile"}')}}]);
//# sourceMappingURL=bookmark-widget.widget.js.map

@@ -1,2 +0,2 @@

"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[539],{3852:(e,t,i)=>{i.d(t,{Z:()=>o});const o=' <div class="widget-header"> <div class="subtitle"><i18n>briefme.title</i18n></div> <div class="widget-options"> <div class="tools"> <a href="#" class="tool tool-option" i18n-title="briefme-widget.school.choose.title" ng-if="ctrl.hasManySchools" ng-click="ctrl.parametrage = true"> <i class="fas fa-cog"></i> </a> </div> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body"> <div class="container-advanced-nav" style="display:block"> <div class="list-trigger"> <div ng-repeat="section in ctrl.sections track by $index" ng-if="section.articles.length > 0" style="flex:1"> <div class="trigger" ng-click="ctrl.ouvrirBrief(section)" ng-class="{on: section == ctrl.contenu}"> [[section.nom]] </div> </div> </div> </div> <div> <ul class="list"> <li class="item link" ng-repeat="article in ctrl.contenu.articles track by $index" style="padding:1rem 2rem"> <a href="[[ctrl.genererLien(article)]]" target="_blank" rel="noopener" ng-click="trackEvent($event, {detail:{\'open\':article.url} })"> <div class="title">[[article.titre]]</div> <div class="meta">[[article.publication]]</div> </a> </li> </ul> </div> </div> <ode-modal visible="ctrl.parametrage" on-close="ctrl.parametrage = false" dnd-nodrag> <ode-modal-title> <i18n>briefme-widget.school.choose.title</i18n> </ode-modal-title> <ode-modal-body> <div> <div ng-if="!ctrl.hasManySchools" class="school mb-3">{{ctrl.selectedSchool.name}}</div> <div ng-if="ctrl.hasManySchools" class="dropdown mb-3" style="display:flex;justify-content:space-around"> <i18n>briefme-widget.school.choose.label</i18n> <div class="school-multiple dropdown-toggle" role="button" id="universalisWidgetSchool" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a href="" class="">{{ctrl.selectedSchool.name}}</a> </div> <div class="school-choice dropdown-menu" aria-labelledby="universalisWidgetSchool"> <div tabindex="0" role="button" class="dropdown-item" ng-repeat="school in ctrl.description.schools" ng-click="ctrl.onSchoolSelected($index)" ng-keydown="ctrl.onSchoolSelected($index, $event)"> {{school.name}} </div> </div> </div> </div> </ode-modal-body> <ode-modal-footer> </ode-modal-footer> </ode-modal> '},2445:function(e,t,i){var o=this&&this.__awaiter||function(e,t,i,o){return new(i||(i=Promise))((function(n,r){function l(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(l,s)}c((o=o.apply(e,t||[])).next())}))},n=this&&this.__generator||function(e,t){var i,o,n,r,l={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(r){return function(s){return function(r){if(i)throw new TypeError("Generator is already executing.");for(;l;)try{if(i=1,o&&(n=2&r[0]?o.return:r[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,r[1])).done)return n;switch(o=0,n&&(r=[2&r[0],n.value]),r[0]){case 0:case 1:n=r;break;case 4:return l.label++,{value:r[1],done:!1};case 5:l.label++,o=r[1],r=[0];continue;case 7:r=l.ops.pop(),l.trys.pop();continue;default:if(!(n=l.trys,(n=n.length>0&&n[n.length-1])||6!==r[0]&&2!==r[0])){l=0;continue}if(3===r[0]&&(!n||r[1]>n[0]&&r[1]<n[3])){l.label=r[1];break}if(6===r[0]&&l.label<n[1]){l.label=n[1],n=r;break}if(n&&l.label<n[2]){l.label=n[2],l.ops.push(r);break}n[2]&&l.ops.pop(),l.trys.pop();continue}r=t.call(e,l)}catch(e){r=[6,e],o=0}finally{i=n=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,s])}}},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var l=r(i(4202)),s=i(5262),c=i(9419),a=function(e,t,i){this.titre=e,this.publication=t,this.url=i},d=function(){function e(e,t){this.articles=[],this.nom=e,this.url=t}return e.prototype.charger=function(){return o(this,void 0,void 0,(function(){var e,t,i,o;return n(this,(function(n){switch(n.label){case 0:return[4,c.http().get(this.url,{headers:{Accept:"application/json"}})];case 1:for(e=n.sent(),t=0,i=e.results;t<i.length;t++)o=i[t],this.articles.push(new a(o.title,o.published_at,o.url));return[2]}}))}))},e}(),u=function(){function e(){this.parametrage=!1,this.sections=[new d("Brief.eco","/appregistry/widget/cache/external/briefeco"),new d("Brief.me","/appregistry/widget/cache/external/briefme"),new d("Brief.science","/appregistry/widget/cache/external/briefscience")],this.contenu=this.sections[0]}return Object.defineProperty(e.prototype,"description",{get:function(){return c.session().description},enumerable:!1,configurable:!0}),e.prototype.initialize=function(){var e,t;return o(this,void 0,void 0,(function(){var i,o,r,a=this;return n(this,(function(n){switch(n.label){case 0:return this._userPref=null===(e=s.WidgetFrameworkFactory.instance().list.find((function(e){return e.platformConf.name===s.WIDGET_NAME.BRIEFME})))||void 0===e?void 0:e.userPref,[4,c.notif().onSessionReady().promise];case 1:n.sent(),i=0,(null===(t=this._userPref)||void 0===t?void 0:t.schoolId)&&l.default.isArray(this.description.schools)&&(i=this.description.schools.findIndex((function(e){var t;return e.id===(null===(t=a._userPref)||void 0===t?void 0:t.schoolId)})),i<0&&(i=0)),this.setSelectedSchool(i),o=0,r=this.sections,n.label=2;case 2:return o<r.length?[4,r[o].charger()]:[3,5];case 3:n.sent(),n.label=4;case 4:return o++,[3,2];case 5:return this.ouvrirBrief(this.sections[Math.floor(this.sections.length/2)]),[2]}}))}))},e.prototype.setSelectedSchool=function(e){return 0<=e&&e<this.description.schools.length&&this.selectedSchool!==this.description.schools[e]&&(this.selectedSchool=this.description.schools[e],!0)},e.prototype.onSchoolSelected=function(e,t){var i;return(!t||"keydown"===t.type&&(13===t.which||32===t.which))&&(this._userPref&&this.setSelectedSchool(e)&&(this._userPref.schoolId=null===(i=this.selectedSchool)||void 0===i?void 0:i.id,s.WidgetFrameworkFactory.instance().saveUserPrefs()),!0)},Object.defineProperty(e.prototype,"hasManySchools",{get:function(){return this.description.schools.length>1},enumerable:!1,configurable:!0}),e.prototype.ouvrirBrief=function(e){this.contenu=e},e.prototype.genererLien=function(e){var t,i,o,n,r=e.url,l=c.Base64.encode(null!=(null===(t=this.selectedSchool)||void 0===t?void 0:t.UAI)?null===(i=this.selectedSchool)||void 0===i?void 0:i.UAI:""),s=null!=(null===(o=this.selectedSchool)||void 0===o?void 0:o.exports)?null===(n=this.selectedSchool)||void 0===n?void 0:n.exports:[],a="";if(null!=s){for(var d=0;d<s.length;++d)if(s[d].startsWith("GAR-")){a=s[d].replace("GAR-","");break}""==a&&(a=s[0])}var u=c.Base64.encode(a);return r.replace("ID_ETAB",l).replace("ID_ENT",u)},e}(),h=function(){function e(){this.restrict="E",this.template=i(3852).Z,this.scope={},this.bindToController=!0,this.controller=[u],this.controllerAs="ctrl",this.require=["odeBriefmeWidget"]}return e.prototype.link=function(e,t,i,r){return o(this,void 0,void 0,(function(){var t;return n(this,(function(i){switch(i.label){case 0:return(t=r?r[0]:null)?[4,t.initialize()]:[2];case 1:return i.sent(),e.$apply(),[2]}}))}))},e}();c.notif().onLangReady().promise.then((function(e){c.conf().Platform.idiom.addKeys(i(7611))})),t.odeModuleName="odeBriefmeWidgetModule",l.default.module(t.odeModuleName,[]).directive("odeBriefmeWidget",(function(){return new h}))},7611:e=>{e.exports=JSON.parse('{"briefme.title":"Brief.me","briefme-widget.school.choose.title":"Sélectionnez une école abonnée à brief.me","briefme-widget.school.choose.label":"École sélectionnée:"}')}}]);
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[539],{3852:(e,t,i)=>{i.d(t,{Z:()=>o});const o=' <div class="widget-header"> <div class="subtitle"><i18n>briefme.title</i18n></div> <div class="widget-options"> <div class="tools"> <a href="#" class="tool tool-option" i18n-title="briefme-widget.school.choose.title" ng-if="ctrl.hasManySchools" ng-click="ctrl.parametrage = true"> <i class="fas fa-cog"></i> </a> </div> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body"> <div class="container-advanced-nav" style="display:block"> <div class="list-trigger"> <div ng-repeat="section in ctrl.sections track by $index" ng-if="section.articles.length > 0" style="flex:1"> <div class="trigger" ng-click="ctrl.ouvrirBrief(section)" ng-class="{on: section == ctrl.contenu}"> [[section.nom]] </div> </div> </div> </div> <div> <ul class="list"> <li class="item link" ng-repeat="article in ctrl.contenu.articles track by $index" style="padding:1rem 2rem"> <a href="[[ctrl.genererLien(article)]]" target="_blank" rel="noopener" ng-click="trackEvent($event, {detail:{\'open\':article.url} })"> <div class="title">[[article.titre]]</div> <div class="meta">[[article.publication]]</div> </a> </li> </ul> </div> </div> <ode-modal visible="ctrl.parametrage" on-close="ctrl.parametrage = false" dnd-nodrag> <ode-modal-title> <i18n>briefme-widget.school.choose.title</i18n> </ode-modal-title> <ode-modal-body> <div> <div ng-if="!ctrl.hasManySchools" class="school mb-3">{{ctrl.selectedSchool.name}}</div> <div ng-if="ctrl.hasManySchools" class="dropdown mb-3" style="display:flex;justify-content:space-around"> <i18n>briefme-widget.school.choose.label</i18n> <div class="school-multiple dropdown-toggle" role="button" id="universalisWidgetSchool" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a href="" class="">{{ctrl.selectedSchool.name}}</a> </div> <div class="school-choice dropdown-menu" aria-labelledby="universalisWidgetSchool"> <div tabindex="0" role="button" class="dropdown-item" ng-repeat="school in ctrl.description.schools" ng-click="ctrl.onSchoolSelected($index)" ng-keydown="ctrl.onSchoolSelected($index, $event)"> {{school.name}} </div> </div> </div> </div> </ode-modal-body> <ode-modal-footer> </ode-modal-footer> </ode-modal> '},2445:function(e,t,i){var o=this&&this.__awaiter||function(e,t,i,o){return new(i||(i=Promise))((function(n,r){function l(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(l,s)}c((o=o.apply(e,t||[])).next())}))},n=this&&this.__generator||function(e,t){var i,o,n,r,l={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(r){return function(s){return function(r){if(i)throw new TypeError("Generator is already executing.");for(;l;)try{if(i=1,o&&(n=2&r[0]?o.return:r[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,r[1])).done)return n;switch(o=0,n&&(r=[2&r[0],n.value]),r[0]){case 0:case 1:n=r;break;case 4:return l.label++,{value:r[1],done:!1};case 5:l.label++,o=r[1],r=[0];continue;case 7:r=l.ops.pop(),l.trys.pop();continue;default:if(!(n=l.trys,(n=n.length>0&&n[n.length-1])||6!==r[0]&&2!==r[0])){l=0;continue}if(3===r[0]&&(!n||r[1]>n[0]&&r[1]<n[3])){l.label=r[1];break}if(6===r[0]&&l.label<n[1]){l.label=n[1],n=r;break}if(n&&l.label<n[2]){l.label=n[2],l.ops.push(r);break}n[2]&&l.ops.pop(),l.trys.pop();continue}r=t.call(e,l)}catch(e){r=[6,e],o=0}finally{i=n=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,s])}}},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var l=r(i(4202)),s=i(5262),c=i(9419),a=function(e,t,i){this.titre=e,this.publication=t,this.url=i},d=function(){function e(e,t){this.articles=[],this.nom=e,this.url=t}return e.prototype.charger=function(){return o(this,void 0,void 0,(function(){var e,t,i,o;return n(this,(function(n){switch(n.label){case 0:return[4,(0,c.http)().get(this.url,{headers:{Accept:"application/json"}})];case 1:for(e=n.sent(),t=0,i=e.results;t<i.length;t++)o=i[t],this.articles.push(new a(o.title,o.published_at,o.url));return[2]}}))}))},e}(),u=function(){function e(){this.parametrage=!1,this.sections=[new d("Brief.eco","/appregistry/widget/cache/external/briefeco"),new d("Brief.me","/appregistry/widget/cache/external/briefme"),new d("Brief.science","/appregistry/widget/cache/external/briefscience")],this.contenu=this.sections[0]}return Object.defineProperty(e.prototype,"description",{get:function(){return(0,c.session)().description},enumerable:!1,configurable:!0}),e.prototype.initialize=function(){var e,t;return o(this,void 0,void 0,(function(){var i,o,r,a=this;return n(this,(function(n){switch(n.label){case 0:return this._userPref=null===(e=s.WidgetFrameworkFactory.instance().list.find((function(e){return e.platformConf.name===s.WIDGET_NAME.BRIEFME})))||void 0===e?void 0:e.userPref,[4,(0,c.notif)().onSessionReady().promise];case 1:n.sent(),i=0,(null===(t=this._userPref)||void 0===t?void 0:t.schoolId)&&l.default.isArray(this.description.schools)&&(i=this.description.schools.findIndex((function(e){var t;return e.id===(null===(t=a._userPref)||void 0===t?void 0:t.schoolId)})),i<0&&(i=0)),this.setSelectedSchool(i),o=0,r=this.sections,n.label=2;case 2:return o<r.length?[4,r[o].charger()]:[3,5];case 3:n.sent(),n.label=4;case 4:return o++,[3,2];case 5:return this.ouvrirBrief(this.sections[Math.floor(this.sections.length/2)]),[2]}}))}))},e.prototype.setSelectedSchool=function(e){return 0<=e&&e<this.description.schools.length&&this.selectedSchool!==this.description.schools[e]&&(this.selectedSchool=this.description.schools[e],!0)},e.prototype.onSchoolSelected=function(e,t){var i;return(!t||"keydown"===t.type&&(13===t.which||32===t.which))&&(this._userPref&&this.setSelectedSchool(e)&&(this._userPref.schoolId=null===(i=this.selectedSchool)||void 0===i?void 0:i.id,s.WidgetFrameworkFactory.instance().saveUserPrefs()),!0)},Object.defineProperty(e.prototype,"hasManySchools",{get:function(){return this.description.schools.length>1},enumerable:!1,configurable:!0}),e.prototype.ouvrirBrief=function(e){this.contenu=e},e.prototype.genererLien=function(e){var t,i,o,n,r=e.url,l=c.Base64.encode(null!=(null===(t=this.selectedSchool)||void 0===t?void 0:t.UAI)?null===(i=this.selectedSchool)||void 0===i?void 0:i.UAI:""),s=null!=(null===(o=this.selectedSchool)||void 0===o?void 0:o.exports)?null===(n=this.selectedSchool)||void 0===n?void 0:n.exports:[],a="";if(null!=s){for(var d=0;d<s.length;++d)if(s[d].startsWith("GAR-")){a=s[d].replace("GAR-","");break}""==a&&(a=s[0])}var u=c.Base64.encode(a);return r.replace("ID_ETAB",l).replace("ID_ENT",u)},e}(),h=function(){function e(){this.restrict="E",this.template=i(3852).Z,this.scope={},this.bindToController=!0,this.controller=[u],this.controllerAs="ctrl",this.require=["odeBriefmeWidget"]}return e.prototype.link=function(e,t,i,r){return o(this,void 0,void 0,(function(){var t;return n(this,(function(i){switch(i.label){case 0:return(t=r?r[0]:null)?[4,t.initialize()]:[2];case 1:return i.sent(),e.$apply(),[2]}}))}))},e}();(0,c.notif)().onLangReady().promise.then((function(e){(0,c.conf)().Platform.idiom.addKeys(i(7611))})),t.odeModuleName="odeBriefmeWidgetModule",l.default.module(t.odeModuleName,[]).directive("odeBriefmeWidget",(function(){return new h}))},7611:e=>{e.exports=JSON.parse('{"briefme.title":"Brief.me","briefme-widget.school.choose.title":"Sélectionnez une école abonnée à brief.me","briefme-widget.school.choose.label":"École sélectionnée:"}')}}]);
//# sourceMappingURL=briefme-widget.widget.js.map

@@ -1,2 +0,2 @@

"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[556],{5713:(e,t,n)=>{n.d(t,{Z:()=>o});const o=" "},9492:function(e,t,n){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var u=o(n(4202)),d=n(9419),i=function(){},r=function(){function e(){this.restrict="E",this.template=n(5713).Z,this.controller=[i]}return e.prototype.link=function(e,t,n){},e}();d.notif().onLangReady().promise.then((function(e){e})),t.odeModuleName="odeCalendarWidgetModule",u.default.module(t.odeModuleName,[]).directive("odeCalendarWidget",(function(){return new r}))}}]);
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[556],{5713:(e,t,n)=>{n.d(t,{Z:()=>o});const o=" "},9492:function(e,t,n){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var u=o(n(4202)),d=n(9419),i=function(){},r=function(){function e(){this.restrict="E",this.template=n(5713).Z,this.controller=[i]}return e.prototype.link=function(e,t,n){},e}();(0,d.notif)().onLangReady().promise.then((function(e){e})),t.odeModuleName="odeCalendarWidgetModule",u.default.module(t.odeModuleName,[]).directive("odeCalendarWidget",(function(){return new r}))}}]);
//# sourceMappingURL=calendar-widget.widget.js.map

@@ -1,2 +0,2 @@

"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[438],{5893:(e,t,r)=>{r.d(t,{Z:()=>i});const i=' <div class="widget-dashboard"> <div class="widget-header"> <div class="subtitle"><i18n>carnet-de-bord.widget.title</i18n></div> <div class="widget-options"> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body" dnd-nodrag> <div class="widget-empty-message" ng-if="ctrl.errorMsg"> <span class="info" translate content="[[ctrl.errorMsg.error]]"></span> </div> <div class="dashboard-choice" ng-if="!ctrl.errorMsg && ctrl.description.profiles.indexOf(\'Relative\')>=0 && ctrl.eleves.length>0 && ctrl.structures"> <a href="" class="avatar-link" ng-repeat="eleve in ctrl.eleves" ng-click="ctrl.getEleve($index)" ng-class="{\'active\': eleve===ctrl.currentEleve}"> <img ng-src="[[ctrl.getAvatar($index)]]"/> <span>[[ ctrl.getTag(\'Prenom\', $index) ]]</span> </a> </div> <ul class="dashboard-list" ng-if="!ctrl.errorMsg"> <li class="item link-discret" ng-repeat="contentType in ctrl.contentTypes" ng-click="ctrl.openLightBox(contentType, $event)"> <a href="#" class="item-inner"> <div class="left"> <div class="icon"> <i class="[[contentType.icon]]"></i> </div> </div> <div class="right"> <div class="label" translate content="carnet-de-bord.widget.[[contentType.title]]"></div> <div class="info meta" ng-if="contentType.compact">[[contentType.compact]]</div> <div class="info meta" ng-if="!contentType.compact"><i18n>carnet-de-bord.widget.empty</i18n></div> </div> </a> </li> </ul> </div> <ode-modal visible="ctrl.showLightbox" on-close="ctrl.showLightbox=false" dnd-nodrag> <ode-modal-title> <span translate content="[[ctrl.currentContentType.lightboxTitle]]"></span> <span ng-if="ctrl.me.type !== \'ELEVE\' "> <i18n>carnet-de-bord.widget.of</i18n> [[ctrl.getCurrentTag(\'Prenom\')]] </span> </ode-modal-title> <ode-modal-body> <article> <div ng-repeat="item in ctrl.currentContentType.full"> <p ng-if="!item.subsections && !item.pageUrl"> <span>•</span>[[ item.value ]] </p> <p ng-if="!item.subsections && item.pageUrl"> <a target="_blank" rel="noopener" href="[[ctrl.structureAddress]]/[[ctrl.userStatus()]].html?page=[[ item.pageUrl ]]" ng-click="ctrl.trackEvent($event, {detail:{\'open\':\'any\'} })"> <span>•</span>[[ item.value ]] <i class="new-tab right-magnet" i18n-title="carnet-de-bord.widget.target.tooltip"></i> </a> </p> <h4 ng-if="item.subsections && !item.pageUrl"> [[ item.value ]] </h4> <h4 ng-if="item.subsections && item.pageUrl"> <a target="_blank" rel="noopener" href="[[ctrl.structureAddress]]/[[ctrl.userStatus()]].html?page=[[ item.pageUrl ]]" ng-click="ctrl.trackEvent($event, {detail:{\'open\':\'any\'} })"> [[ item.value ]] <i class="new-tab right-magnet" i18n-title="carnet-de-bord.widget.target.tooltip"></i> </a> </h4> <div ng-if="item.subsections"> <section ng-repeat="subsection in item.subsections"> <b ng-if="!subsection.pageUrl">[[ subsection.header ]]</b> <a ng-if="subsection.pageUrl" target="_blank" rel="noopener" href="[[ctrl.structureAddress]]/[[ctrl.userStatus()]].html?page=[[ subsection.pageUrl ]]" ng-click="ctrl.trackEvent($event, {detail:{\'open\':\'any\'} })"> <b>[[ subsection.header ]] <i class="new-tab right-magnet" i18n-title="carnet-de-bord.widget.target.tooltip"></i> </b> </a> <br> <span> [[ subsection.content ]] </span> </section> </div> </div> </article> </ode-modal-body> <ode-modal-footer> </ode-modal-footer> </ode-modal> </div> '},5613:function(e,t,r){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var n=i(r(4202)),a=r(9419),o=function(){function e(e){this.themeHelperSvc=e,this.me=a.session().user,this.description=a.session().description,this.structures=[],this.eleves=[],this.showLightbox=!1,this.contentTypes=[{title:"lateness",icon:"ic-timer-off",compact:"",full:[],lightboxTitle:"carnet-de-bord.widget.lateness.all"},{title:"absences",icon:"ic-nobody",compact:"",full:[],lightboxTitle:"carnet-de-bord.widget.absences.all"},{title:"grades",icon:"ic-grades",compact:"",full:[],lightboxTitle:"carnet-de-bord.widget.grades.all"},{title:"diary",icon:"ic-homeworks",compact:"",full:[],lightboxTitle:"carnet-de-bord.widget.diary.all"},{title:"skills",icon:"ic-trending-up",compact:"",full:[],lightboxTitle:"carnet-de-bord.widget.skills.all"}],this.structureAddress="",this.structureId=""}return e.prototype.getAvatar=function(e){return e<this.eleves.length?"/userbook/avatar/"+this.getChildId(e)+"?thumbnail=100x100":this.themeHelperSvc.toSkinUrl("/img/illustrations/no-avatar.svg?thumbnail=100x100")},e.prototype.getEleve=function(e){var t=this;e<this.eleves.length&&(this.currentEleve=this.eleves[e],this.contentTypes.forEach((function(e){t.getContent(e,t.currentEleve)})))},e.prototype.getTag=function(e,t){return t<this.eleves.length?$(this.eleves[t]).find(e).text():""},e.prototype.getCurrentTag=function(e){return this.currentEleve?$(this.currentEleve).find(e).text():""},e.prototype.userStatus=function(){return"PERSRELELEVE"===this.me.type?"parent":"ELEVE"===this.me.type?"eleve":""},e.prototype.getChildId=function(e){var t=this.getTag("Prenom",e).toLowerCase(),r=this.getTag("Nom",e).toLowerCase();for(var i in this.me.children){var n=this.me.children[i].firstName.toLowerCase(),a=this.me.children[i].lastName.toLowerCase();if(n===t&&a===r)return i}},e.prototype.openLightBox=function(e,t){this.currentContentType=e,this.showLightbox=!0,t.currentTarget&&this.trackEvent(t,{detail:{properties:"any"}})},e.prototype.trackEvent=function(e,t){var r,i;void 0===t.bubbles&&(t.bubbles=!0);var n=null;!t||"string"!=typeof(null===(r=t.detail)||void 0===r?void 0:r.open)&&"string"!=typeof(null===(i=t.detail)||void 0===i?void 0:i.properties)||(n=new CustomEvent(a.TrackedActionFromWidget.carnetDeBord,t)),n&&e.currentTarget&&e.currentTarget.dispatchEvent(n)},e.prototype.getContent=function(e,t){var r=a.conf().Platform.idiom;if("lateness"===e.title){var i=$(t).find("Retard Justifie"),n=!1,o=[];e.compact=!1,e.full=!1,i&&(i.each((function(t,i){if("false"===$(i).text()){var s=$(i).parent().attr("page");n=$(i).parent().find("Date").text(),n=a.L10n.moment(n),n=r.translate("carnet-de-bord.widget.the")+" "+n.format("DD/MM/YYYY - HH:mm"),o.push({value:n,pageUrl:s}),e.compact=o[0].value}})),e.full=o)}else if("absences"===e.title){var s=[];e.compact=!1,e.full=!1;var d=$(t).find("Absence Justifie");d&&(d.each((function(t,i){if("false"===$(i).text()){var n=$(i).parent().attr("page"),o=void 0;if("false"===$(i).parent().find("EstOuverte").text()){var d=$(i).parent().find("DateDebut").text(),l=$(i).parent().find("DateFin").text();d=a.L10n.moment(d),l=a.L10n.moment(l),d=d.format("DD/MM/YYYY HH:mm"),l=l.format("DD/MM/YYYY HH:mm"),o=r.translate("carnet-de-bord.widget.from")+" "+d+" "+r.translate("carnet-de-bord.widget.to")+" "+l}else o=$(i).parent().find("DateDebut").text(),o=(o=a.L10n.moment(o)).format("DD/MM/YYYY HH:mm"),o=r.translate("carnet-de-bord.widget.the")+" "+o;s.push({value:o,pageUrl:n}),e.compact=s[0].value}})),e.full=s)}else if("grades"===e.title){var l=[];if(e.compact=!1,e.full=!1,$(t).find("PageReleveDeNotes Devoir Note").text())$(t).find("PageReleveDeNotes Devoir").each((function(t,i){var n=$(i).attr("page"),o=$(i).find("Note").text(),s=$(i).find("Bareme").text(),d=$(i).find("Matiere").text(),c=a.L10n.moment($(i).find("Date").text());c=c.format("DD/MM/YYYY");var u=o+"/"+s+" "+r.translate("carnet-de-bord.widget.in")+" "+d+" "+r.translate("carnet-de-bord.widget.the")+" "+c;l.push({value:u,pageUrl:n}),e.compact=l[0].value})),e.full=l}else if("diary"===e.title){var c=[];if(e.compact=!1,e.full=!1,$(t).find("PageCahierDeTextes CahierDeTextes TravailAFaire Descriptif").text()){var u=$(t).find("PageCahierDeTextes CahierDeTextes");$(u).each((function(t,i){if($(i).find("TravailAFaire Descriptif").text()){var n=r.translate("carnet-de-bord.widget.new.homework")+" "+$(i).find("Matiere").text(),o=$(i).find("TravailAFaire"),s=[];$(o).each((function(e,t){var i=$(t).attr("page"),n=($(t).parent().find("Matiere").text(),a.L10n.moment($(t).find("PourLe").text()));n=n.format("DD/MM/YYYY"),n=r.translate("carnet-de-bord.widget.for")+" "+n;var o=$(t).find("Descriptif");o=o.html(o.text()).text(),s.push({header:n,content:o,pageUrl:i})})),c.push({value:n,subsections:s}),e.compact=c[0].value+" "+c[0].subsections[0].header}})),e.full=c}}else if("skills"===e.title){var p=[];if(e.compact=!1,e.full=!1,$(t).find("PageCompetences Competence").text())$(t).find("PageCompetences Competence").parent().each((function(t,i){if("Acquis"===$(i).find("Libelle").text()){var n=$(i).attr("page"),o=$(i).find("Intitule").text(),s=$(i).find("Competence").text()+" ",d=$(i).find("Item").text()+" ",l=$(i).find("Matiere").text(),c=a.L10n.moment($(i).find("Date").text());c=c.format("DD/MM/YYYY");var u=r.translate("carnet-de-bord.widget.skills")+" ",g=r.translate("carnet-de-bord.widget.skills.item")+" ",f=o+" "+r.translate("carnet-de-bord.widget.the")+" "+c;l&&(f=f+" "+r.translate("carnet-de-bord.widget.in")+" "+l);var v=[{header:u,content:s}];$(i).find("Item").text()&&v.push({header:g,content:d}),p.push({value:f,subsections:v,pageUrl:n}),e.compact=p[0].value}})),e.full=p}},e}(),s=function(){function e(){this.restrict="E",this.template=r(5893).Z,this.controller=["odeThemeHelperService",o],this.controllerAs="ctrl",this.require=["odeCarnetDeBord"]}return e.prototype.link=function(e,t,r,i){var o=i?i[0]:null;o&&a.http().get("/sso/pronote").then((function(t){if(200!==a.http().latestResponse.status)throw"carnet-de-bord.widget.pronote.access.error";if(!n.default.isArray(t))throw"carnet-de-bord.widget.nodata";o.structures=t,o.eleves=[];var r=!0;t.forEach((function(e){o.structureAddress=e.address,o.structureId=e.structureId;var t=$.parseXML(e.xmlResponse),i=$(t);o.parentTag=i.find("Parent"),o.eleves=o.eleves.concat($.makeArray(i.find("Eleve"))),r&&o.eleves.length>0&&(o.getEleve(0),r=!1)})),e.$apply()})).catch((function(e){o.errorMsg="string"==typeof e?{error:e}:JSON.parse(a.http().latestResponse.statusText)}))},e}();a.notif().onLangReady().promise.then((function(e){a.conf().Platform.idiom.addKeys(r(1056))})),t.odeModuleName="odeCarnetDeBordModule",n.default.module(t.odeModuleName,[]).directive("odeCarnetDeBord",(function(){return new s}))},1056:e=>{e.exports=JSON.parse('{"carnet-de-bord":"Carnet de bord","carnet-de-bord.widget.title":"Carnet de bord","carnet-de-bord.widget.deny":"Vous n\'avez pas accès à Pronote","carnet-de-bord.widget.empty":"vide","carnet-de-bord.widget.lateness":"Retards non justifiés","carnet-de-bord.widget.absences":"Absences non justifiées","carnet-de-bord.widget.grades":"Notes","carnet-de-bord.widget.diary":"Cahier de textes","carnet-de-bord.widget.skills":"Compétences acquises","carnet-de-bord.widget.lateness.all":"Tous les retards non justifiés","carnet-de-bord.widget.absences.all":"Toutes les absences non justifiées","carnet-de-bord.widget.grades.all":"Toutes les notes","carnet-de-bord.widget.diary.all":"Tous les devoirs","carnet-de-bord.widget.skills.all":"Toutes les compétences acquises","carnet-de-bord.widget.lateness.tooltip":"Voir tous les retards non justifiés","carnet-de-bord.widget.absences.tooltip":"Voir toutes les absences non justifiées","carnet-de-bord.widget.grades.tooltip":"Voir toutes les notes","carnet-de-bord.widget.diary.tooltip":"Voir tous les devoirs","carnet-de-bord.widget.skills.tooltip":"Voir toutes les compétences acquises","carnet-de-bord.widget.target.tooltip":"Voir sur l\'application","carnet-de-bord.widget.skills.item":"Contenu de l\'item","carnet-de-bord.widget.of":"de","carnet-de-bord.widget.in":"en","carnet-de-bord.widget.the":"le","carnet-de-bord.widget.from":"du","carnet-de-bord.widget.to":"au","carnet-de-bord.widget.since":"depuis le","carnet-de-bord.widget.for":"pour le","carnet-de-bord.widget.new.homework":"Travail en","carnet-de-bord.widget.pronote.unregistered.error":"Vous n\'avez pas accès à l\'application Pronote.","carnet-de-bord.widget.pronote.uri.error":"L\'adresse du serveur Pronote n’est pas correctement renseignée dans la console d’administration de l’ENT.","carnet-de-bord.widget.pronote.access.error":"Connexion Pronote impossible. Si le problème persiste, veuillez contacter l\'administrateur de votre établissement.","carnet-de-bord.widget.pronote.connection.error":"Problème de connexion au serveur Pronote","carnet-de-bord.widget.nodata":"Aucune donnée disponible."}')}}]);
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[438],{5893:(e,t,r)=>{r.d(t,{Z:()=>n});const n=' <div class="widget-dashboard"> <div class="widget-header"> <div class="subtitle"><i18n>carnet-de-bord.widget.title</i18n></div> <div class="widget-options"> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body" dnd-nodrag> <div class="widget-empty-message" ng-if="ctrl.errorMsg"> <span class="info" translate content="[[ctrl.errorMsg.error]]"></span> </div> <div class="dashboard-choice" ng-if="!ctrl.errorMsg && ctrl.description.profiles.indexOf(\'Relative\')>=0 && ctrl.eleves.length>0 && ctrl.structures"> <a href="" class="avatar-link" ng-repeat="eleve in ctrl.eleves" ng-click="ctrl.getEleve($index)" ng-class="{\'active\': eleve===ctrl.currentEleve}"> <img ng-src="[[ctrl.getAvatar($index)]]"/> <span>[[ ctrl.getTag(\'Prenom\', $index) ]]</span> </a> </div> <ul class="dashboard-list" ng-if="!ctrl.errorMsg"> <li class="item link-discret" ng-repeat="contentType in ctrl.contentTypes" ng-click="ctrl.openLightBox(contentType, $event)"> <a href="#" class="item-inner"> <div class="left"> <div class="icon"> <i class="[[contentType.icon]]"></i> </div> </div> <div class="right"> <div class="label" translate content="carnet-de-bord.widget.[[contentType.title]]"></div> <div class="info meta" ng-if="contentType.compact">[[contentType.compact]]</div> <div class="info meta" ng-if="!contentType.compact"><i18n>carnet-de-bord.widget.empty</i18n></div> </div> </a> </li> </ul> </div> <ode-modal visible="ctrl.showLightbox" on-close="ctrl.showLightbox=false" dnd-nodrag> <ode-modal-title> <span translate content="[[ctrl.currentContentType.lightboxTitle]]"></span> <span ng-if="ctrl.me.type !== \'ELEVE\' "> <i18n>carnet-de-bord.widget.of</i18n> [[ctrl.getCurrentTag(\'Prenom\')]] </span> </ode-modal-title> <ode-modal-body> <article> <div ng-repeat="item in ctrl.currentContentType.full"> <p ng-if="!item.subsections && !item.pageUrl"> <span>•</span>[[ item.value ]] </p> <p ng-if="!item.subsections && item.pageUrl"> <a target="_blank" rel="noopener" href="[[ctrl.structureAddress]]/[[ctrl.userStatus()]].html?page=[[ item.pageUrl ]]" ng-click="ctrl.trackEvent($event, {detail:{\'open\':\'any\'} })"> <span>•</span>[[ item.value ]] <i class="new-tab right-magnet" i18n-title="carnet-de-bord.widget.target.tooltip"></i> </a> </p> <h4 ng-if="item.subsections && !item.pageUrl"> [[ item.value ]] </h4> <h4 ng-if="item.subsections && item.pageUrl"> <a target="_blank" rel="noopener" href="[[ctrl.structureAddress]]/[[ctrl.userStatus()]].html?page=[[ item.pageUrl ]]" ng-click="ctrl.trackEvent($event, {detail:{\'open\':\'any\'} })"> [[ item.value ]] <i class="new-tab right-magnet" i18n-title="carnet-de-bord.widget.target.tooltip"></i> </a> </h4> <div ng-if="item.subsections"> <section ng-repeat="subsection in item.subsections"> <b ng-if="!subsection.pageUrl">[[ subsection.header ]]</b> <a ng-if="subsection.pageUrl" target="_blank" rel="noopener" href="[[ctrl.structureAddress]]/[[ctrl.userStatus()]].html?page=[[ subsection.pageUrl ]]" ng-click="ctrl.trackEvent($event, {detail:{\'open\':\'any\'} })"> <b>[[ subsection.header ]] <i class="new-tab right-magnet" i18n-title="carnet-de-bord.widget.target.tooltip"></i> </b> </a> <br> <span> [[ subsection.content ]] </span> </section> </div> </div> </article> </ode-modal-body> <ode-modal-footer> </ode-modal-footer> </ode-modal> </div> '},5613:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var i=n(r(4202)),a=r(9419),o=function(){function e(e){this.themeHelperSvc=e,this.me=(0,a.session)().user,this.description=(0,a.session)().description,this.structures=[],this.eleves=[],this.showLightbox=!1,this.contentTypes=[{title:"lateness",icon:"ic-timer-off",compact:"",full:[],lightboxTitle:"carnet-de-bord.widget.lateness.all"},{title:"absences",icon:"ic-nobody",compact:"",full:[],lightboxTitle:"carnet-de-bord.widget.absences.all"},{title:"grades",icon:"ic-grades",compact:"",full:[],lightboxTitle:"carnet-de-bord.widget.grades.all"},{title:"diary",icon:"ic-homeworks",compact:"",full:[],lightboxTitle:"carnet-de-bord.widget.diary.all"},{title:"skills",icon:"ic-trending-up",compact:"",full:[],lightboxTitle:"carnet-de-bord.widget.skills.all"}],this.structureAddress="",this.structureId=""}return e.prototype.getAvatar=function(e){return e<this.eleves.length?"/userbook/avatar/".concat(this.getChildId(e),"?thumbnail=100x100"):this.themeHelperSvc.toSkinUrl("/img/illustrations/no-avatar.svg?thumbnail=100x100")},e.prototype.getEleve=function(e){var t=this;e<this.eleves.length&&(this.currentEleve=this.eleves[e],this.contentTypes.forEach((function(e){t.getContent(e,t.currentEleve)})))},e.prototype.getTag=function(e,t){return t<this.eleves.length?$(this.eleves[t]).find(e).text():""},e.prototype.getCurrentTag=function(e){return this.currentEleve?$(this.currentEleve).find(e).text():""},e.prototype.userStatus=function(){return"PERSRELELEVE"===this.me.type?"parent":"ELEVE"===this.me.type?"eleve":""},e.prototype.getChildId=function(e){var t=this.getTag("Prenom",e).toLowerCase(),r=this.getTag("Nom",e).toLowerCase();for(var n in this.me.children){var i=this.me.children[n].firstName.toLowerCase(),a=this.me.children[n].lastName.toLowerCase();if(i===t&&a===r)return n}},e.prototype.openLightBox=function(e,t){this.currentContentType=e,this.showLightbox=!0,t.currentTarget&&this.trackEvent(t,{detail:{properties:"any"}})},e.prototype.trackEvent=function(e,t){var r,n;void 0===t.bubbles&&(t.bubbles=!0);var i=null;!t||"string"!=typeof(null===(r=t.detail)||void 0===r?void 0:r.open)&&"string"!=typeof(null===(n=t.detail)||void 0===n?void 0:n.properties)||(i=new CustomEvent(a.TrackedActionFromWidget.carnetDeBord,t)),i&&e.currentTarget&&e.currentTarget.dispatchEvent(i)},e.prototype.getContent=function(e,t){var r=(0,a.conf)().Platform.idiom;if("lateness"===e.title){var n=$(t).find("Retard Justifie"),i=!1,o=[];e.compact=!1,e.full=!1,n&&(n.each((function(t,n){if("false"===$(n).text()){var s=$(n).parent().attr("page");i=$(n).parent().find("Date").text(),i=a.L10n.moment(i),i=r.translate("carnet-de-bord.widget.the")+" "+i.format("DD/MM/YYYY - HH:mm"),o.push({value:i,pageUrl:s}),e.compact=o[0].value}})),e.full=o)}else if("absences"===e.title){var s=[];e.compact=!1,e.full=!1;var d=$(t).find("Absence Justifie");d&&(d.each((function(t,n){if("false"===$(n).text()){var i=$(n).parent().attr("page"),o=void 0;if("false"===$(n).parent().find("EstOuverte").text()){var d=$(n).parent().find("DateDebut").text(),l=$(n).parent().find("DateFin").text();d=a.L10n.moment(d),l=a.L10n.moment(l),d=d.format("DD/MM/YYYY HH:mm"),l=l.format("DD/MM/YYYY HH:mm"),o=r.translate("carnet-de-bord.widget.from")+" "+d+" "+r.translate("carnet-de-bord.widget.to")+" "+l}else o=$(n).parent().find("DateDebut").text(),o=(o=a.L10n.moment(o)).format("DD/MM/YYYY HH:mm"),o=r.translate("carnet-de-bord.widget.the")+" "+o;s.push({value:o,pageUrl:i}),e.compact=s[0].value}})),e.full=s)}else if("grades"===e.title){var l=[];if(e.compact=!1,e.full=!1,$(t).find("PageReleveDeNotes Devoir Note").text())$(t).find("PageReleveDeNotes Devoir").each((function(t,n){var i=$(n).attr("page"),o=$(n).find("Note").text(),s=$(n).find("Bareme").text(),d=$(n).find("Matiere").text(),c=a.L10n.moment($(n).find("Date").text());c=c.format("DD/MM/YYYY");var u=o+"/"+s+" "+r.translate("carnet-de-bord.widget.in")+" "+d+" "+r.translate("carnet-de-bord.widget.the")+" "+c;l.push({value:u,pageUrl:i}),e.compact=l[0].value})),e.full=l}else if("diary"===e.title){var c=[];if(e.compact=!1,e.full=!1,$(t).find("PageCahierDeTextes CahierDeTextes TravailAFaire Descriptif").text()){var u=new DOMParser,p=$(t).find("PageCahierDeTextes CahierDeTextes");$(p).each((function(t,n){if($(n).find("TravailAFaire Descriptif").text()){var i=r.translate("carnet-de-bord.widget.new.homework")+" "+$(n).find("Matiere").text(),o=$(n).find("TravailAFaire"),s=[];$(o).each((function(e,t){var n=$(t).attr("page"),i=($(t).parent().find("Matiere").text(),a.L10n.moment($(t).find("PourLe").text()));i=i.format("DD/MM/YYYY"),i=r.translate("carnet-de-bord.widget.for")+" "+i;var o=$(t).find("Descriptif"),d=u.parseFromString(o.text(),"text/html");o=d.documentElement.textContent,s.push({header:i,content:o,pageUrl:n})})),c.push({value:i,subsections:s}),e.compact=c[0].value+" "+c[0].subsections[0].header}})),e.full=c}}else if("skills"===e.title){var g=[];if(e.compact=!1,e.full=!1,$(t).find("PageCompetences Competence").text())$(t).find("PageCompetences Competence").parent().each((function(t,n){if("Acquis"===$(n).find("Libelle").text()){var i=$(n).attr("page"),o=$(n).find("Intitule").text(),s=$(n).find("Competence").text()+" ",d=$(n).find("Item").text()+" ",l=$(n).find("Matiere").text(),c=a.L10n.moment($(n).find("Date").text());c=c.format("DD/MM/YYYY");var u=r.translate("carnet-de-bord.widget.skills")+" ",p=r.translate("carnet-de-bord.widget.skills.item")+" ",f=o+" "+r.translate("carnet-de-bord.widget.the")+" "+c;l&&(f=f+" "+r.translate("carnet-de-bord.widget.in")+" "+l);var m=[{header:u,content:s}];$(n).find("Item").text()&&m.push({header:p,content:d}),g.push({value:f,subsections:m,pageUrl:i}),e.compact=g[0].value}})),e.full=g}},e}(),s=function(){function e(){this.restrict="E",this.template=r(5893).Z,this.controller=["odeThemeHelperService",o],this.controllerAs="ctrl",this.require=["odeCarnetDeBord"]}return e.prototype.link=function(e,t,r,n){var o=n?n[0]:null;o&&(0,a.http)().get("/sso/pronote").then((function(t){if(200!==(0,a.http)().latestResponse.status)throw"carnet-de-bord.widget.pronote.access.error";if(!i.default.isArray(t))throw"carnet-de-bord.widget.nodata";o.structures=t,o.eleves=[];var r=!0;t.forEach((function(e){o.structureAddress=e.address,o.structureId=e.structureId;var t=$.parseXML(e.xmlResponse),n=$(t);o.parentTag=n.find("Parent"),o.eleves=o.eleves.concat($.makeArray(n.find("Eleve"))),r&&o.eleves.length>0&&(o.getEleve(0),r=!1)})),e.$apply()})).catch((function(e){o.errorMsg="string"==typeof e?{error:e}:JSON.parse((0,a.http)().latestResponse.statusText)}))},e}();(0,a.notif)().onLangReady().promise.then((function(e){(0,a.conf)().Platform.idiom.addKeys(r(1056))})),t.odeModuleName="odeCarnetDeBordModule",i.default.module(t.odeModuleName,[]).directive("odeCarnetDeBord",(function(){return new s}))},1056:e=>{e.exports=JSON.parse('{"carnet-de-bord":"Carnet de bord","carnet-de-bord.widget.title":"Carnet de bord","carnet-de-bord.widget.deny":"Vous n\'avez pas accès à Pronote","carnet-de-bord.widget.empty":"vide","carnet-de-bord.widget.lateness":"Retards non justifiés","carnet-de-bord.widget.absences":"Absences non justifiées","carnet-de-bord.widget.grades":"Notes","carnet-de-bord.widget.diary":"Cahier de textes","carnet-de-bord.widget.skills":"Compétences acquises","carnet-de-bord.widget.lateness.all":"Tous les retards non justifiés","carnet-de-bord.widget.absences.all":"Toutes les absences non justifiées","carnet-de-bord.widget.grades.all":"Toutes les notes","carnet-de-bord.widget.diary.all":"Tous les devoirs","carnet-de-bord.widget.skills.all":"Toutes les compétences acquises","carnet-de-bord.widget.lateness.tooltip":"Voir tous les retards non justifiés","carnet-de-bord.widget.absences.tooltip":"Voir toutes les absences non justifiées","carnet-de-bord.widget.grades.tooltip":"Voir toutes les notes","carnet-de-bord.widget.diary.tooltip":"Voir tous les devoirs","carnet-de-bord.widget.skills.tooltip":"Voir toutes les compétences acquises","carnet-de-bord.widget.target.tooltip":"Voir sur l\'application","carnet-de-bord.widget.skills.item":"Contenu de l\'item","carnet-de-bord.widget.of":"de","carnet-de-bord.widget.in":"en","carnet-de-bord.widget.the":"le","carnet-de-bord.widget.from":"du","carnet-de-bord.widget.to":"au","carnet-de-bord.widget.since":"depuis le","carnet-de-bord.widget.for":"pour le","carnet-de-bord.widget.new.homework":"Travail en","carnet-de-bord.widget.pronote.unregistered.error":"Vous n\'avez pas accès à l\'application Pronote.","carnet-de-bord.widget.pronote.uri.error":"L\'adresse du serveur Pronote n’est pas correctement renseignée dans la console d’administration de l’ENT.","carnet-de-bord.widget.pronote.access.error":"Connexion Pronote impossible. Si le problème persiste, veuillez contacter l\'administrateur de votre établissement.","carnet-de-bord.widget.pronote.connection.error":"Problème de connexion au serveur Pronote","carnet-de-bord.widget.nodata":"Aucune donnée disponible."}')}}]);
//# sourceMappingURL=carnet-de-bord.widget.js.map

@@ -1,2 +0,2 @@

"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[484],{194:(t,e,r)=>{r.d(e,{Z:()=>i});const i=' <style>.widget-cursus img{width:100%}::placeholder{font-size:15px}.p-4{padding:2rem!important}.heading-5{font-size:18px}</style> <div class="widget-cursus"> <div class="widget-header p-0"> <img class="subtitle" src="/cursus/public/img/logo.png" draggable="false"/> </div> <div class="widget-body p-4" dnd-nodrag> <div class="loading-panel" ng-if="ctrl.loads"> <h1 translate content="loading"></h1> </div> <form ng-if="!ctrl.loads"> <div ng-if="!ctrl.cardNb || ctrl.error"> <p ng-if="!ctrl.error"><i18n>cursus-widget.widget.inactive.text</i18n></p> <div ng-if="ctrl.error"> <p><i18n>cursus-widget.widget.error.text</i18n></p> <p><i18n>cursus-widget.widget.error.retry</i18n></p> </div> <div class="form-group row"> <label class="visually-hidden" for="cursusInputCardNb" translate content="cursus-widget.widget.cardNb"></label> <div class="col-sm-8"> <input class="form-control form-control-lg" id="cursusInputCardNb" type="text" ng-model="inputCardNb" i18n-placeholder="cursus-widget.widget.cardNb"> </div> <div class="col-sm-4 d-grid"> <button class="btn btn-outline-secondary btn-md" ng-click="ctrl.connect(inputCardNb)" ng-disabled="!inputCardNb" translate content="cursus-widget.widget.validate"></button> </div> </div> </div> <div ng-if="ctrl.cardNb && !ctrl.error"> <div> <h2 class="heading-5"><i18n>cursus-widget.widget.my.wallets</i18n></h2> <table class="twelve centered-text w-100"> <tbody ng-if="ctrl.sales"> <tr ng-repeat="sale in ctrl.sales"> <td>[[sale.wallet.libelle]]</td> <td>[[ctrl.formatSolde(sale.solde)]] €</td> </tr> </tbody> </table> </div> <div class="mt-4"> <h2 class="heading-5"><i18n>cursus-widget.widget.update.cardNb.title</i18n></h2> <i18n>cursus-widget.widget.update.cardNb.text</i18n>. <div class="d-grid mt-3"> <button class="btn btn-outline-secondary btn-lg" ng-click="ctrl.logout()" translate content="cursus-widget.widget.update.cardNb.button"></button> </div> </div> </div> </form> </div> </div>'},1916:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.odeModuleName=void 0;var s=i(r(4202)),n=r(5262),d=r(9419),a=function(){function t(){this.loads=!1,this.error=!1,this.inputCardNb=""}return Object.defineProperty(t.prototype,"version",{get:function(){return d.conf().Platform.deploymentTag},enumerable:!1,configurable:!0}),t.prototype.logout=function(){return delete this.cardNb,delete this.sales,d.conf().User.preferences.update(n.USER_PREFS.CURSUS,{}).save(n.USER_PREFS.CURSUS)},t.prototype.connect=function(t){var e=this;return this.cardNb=t,this.loads=!0,this.getSales().finally((function(){e.loads=!1,e.apply&&e.apply()}))},t.prototype.getCardNb=function(){var t=this;return d.conf().User.preferences.load(n.USER_PREFS.CURSUS).then((function(e){var r=e.cardNb;t.cardNb=r}))},t.prototype.setCardNb=function(t){return d.conf().User.preferences.update(n.USER_PREFS.CURSUS,{cardNb:t}).save(n.USER_PREFS.CURSUS)},t.prototype.getSales=function(){var t=this;return this.cardNb?d.http().get("/cursus/sales",{queryParams:{cardNb:this.cardNb,_:this.version}}).then((function(e){if(200!==d.http().latestResponse.status)throw"Cannot get sales";return t.error=!1,t.cardNb&&t.setCardNb(t.cardNb),t.sales=e.sales,t.sales&&e.wallets&&t.sales.forEach((function(t){t.wallet=e.wallets.find((function(e){return e&&e.code==t.numPM}))})),e})).catch((function(e){t.error=!0})).finally((function(){t.apply&&t.apply()})):Promise.reject()},t.prototype.formatSolde=function(t){return"string"!=typeof t||0===t.length?t:1===t.length?"0,0"+t:2===t.length?"0,"+t:t.substring(0,t.length-2)+","+t.substring(t.length-2)},t}(),o=function(){function t(){this.restrict="E",this.template=r(194).Z,this.controller=[a],this.controllerAs="ctrl",this.require=["odeCursusWidget"]}return t.prototype.link=function(t,e,r,i){var s=i?i[0]:null;s&&(s.apply=function(){t.$apply()},s.loads=!0,s.getCardNb().then((function(){return s.getSales()})).finally((function(){s.loads=!1,t.$apply()})))},t}();d.notif().onLangReady().promise.then((function(t){d.conf().Platform.idiom.addKeys(r(8109))})),e.odeModuleName="odeCursusWidgetModule",s.default.module(e.odeModuleName,[]).directive("odeCursusWidget",(function(){return new o}))},8109:t=>{t.exports=JSON.parse('{"cursus-widget":"#HDF","cursus-widget.widget.title":"Carte #HDF","cursus-widget.widget.inactive.text":"Veuillez entrer le numéro de votre carte Génération #HDF pour afficher les informations de votre compte.","cursus-widget.widget.error.text":"Le numéro de carte ne correspond pas à votre carte Génération #HDF.","cursus-widget.widget.error.retry":"Merci de saisir à nouveau votre numéro de carte :","cursus-widget.widget.cardNb":"Numéro de carte","cursus-widget.widget.wallet":"Porte-Monnaie","cursus-widget.widget.sale":"Solde","cursus-widget.widget.my.wallets":"Mes porte-monnaie","cursus-widget.widget.update.cardNb.title":"Gestion de ma carte","cursus-widget.widget.update.cardNb.text":"Cliquez sur le bouton ci-dessous pour changer le numéro de la carte dont vous souhaitez afficher les informations","cursus-widget.widget.update.cardNb.button":"Actualiser mon n° de carte","cursus-widget.widget.validate":"Valider"}')}}]);
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[484],{194:(t,e,r)=>{r.d(e,{Z:()=>i});const i=' <style>.widget-cursus img{width:100%}::placeholder{font-size:15px}.p-4{padding:2rem!important}.heading-5{font-size:18px}</style> <div class="widget-cursus"> <div class="widget-header p-0"> <img class="subtitle" src="/cursus/public/img/logo.png" draggable="false"/> </div> <div class="widget-body p-4" dnd-nodrag> <div class="loading-panel" ng-if="ctrl.loads"> <h1 translate content="loading"></h1> </div> <form ng-if="!ctrl.loads"> <div ng-if="!ctrl.cardNb || ctrl.error"> <p ng-if="!ctrl.error"><i18n>cursus-widget.widget.inactive.text</i18n></p> <div ng-if="ctrl.error"> <p><i18n>cursus-widget.widget.error.text</i18n></p> <p><i18n>cursus-widget.widget.error.retry</i18n></p> </div> <div class="form-group row"> <label class="visually-hidden" for="cursusInputCardNb" translate content="cursus-widget.widget.cardNb"></label> <div class="col-sm-8"> <input class="form-control form-control-lg" id="cursusInputCardNb" type="text" ng-model="inputCardNb" i18n-placeholder="cursus-widget.widget.cardNb"> </div> <div class="col-sm-4 d-grid"> <button class="btn btn-outline-secondary btn-md" ng-click="ctrl.connect(inputCardNb)" ng-disabled="!inputCardNb" translate content="cursus-widget.widget.validate"></button> </div> </div> </div> <div ng-if="ctrl.cardNb && !ctrl.error"> <div> <h2 class="heading-5"><i18n>cursus-widget.widget.my.wallets</i18n></h2> <table class="twelve centered-text w-100"> <tbody ng-if="ctrl.sales"> <tr ng-repeat="sale in ctrl.sales"> <td>[[sale.wallet.libelle]]</td> <td>[[ctrl.formatSolde(sale.solde)]] €</td> </tr> </tbody> </table> </div> <div class="mt-4"> <h2 class="heading-5"><i18n>cursus-widget.widget.update.cardNb.title</i18n></h2> <i18n>cursus-widget.widget.update.cardNb.text</i18n>. <div class="d-grid mt-3"> <button class="btn btn-outline-secondary btn-lg" ng-click="ctrl.logout()" translate content="cursus-widget.widget.update.cardNb.button"></button> </div> </div> </div> </form> </div> </div>'},1916:function(t,e,r){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.odeModuleName=void 0;var s=i(r(4202)),n=r(5262),d=r(9419),a=function(){function t(){this.loads=!1,this.error=!1,this.inputCardNb=""}return Object.defineProperty(t.prototype,"version",{get:function(){return(0,d.conf)().Platform.deploymentTag},enumerable:!1,configurable:!0}),t.prototype.logout=function(){return delete this.cardNb,delete this.sales,(0,d.conf)().User.preferences.update(n.USER_PREFS.CURSUS,{}).save(n.USER_PREFS.CURSUS)},t.prototype.connect=function(t){var e=this;return this.cardNb=t,this.loads=!0,this.getSales().finally((function(){e.loads=!1,e.apply&&e.apply()}))},t.prototype.getCardNb=function(){var t=this;return(0,d.conf)().User.preferences.load(n.USER_PREFS.CURSUS).then((function(e){var r=e.cardNb;t.cardNb=r}))},t.prototype.setCardNb=function(t){return(0,d.conf)().User.preferences.update(n.USER_PREFS.CURSUS,{cardNb:t}).save(n.USER_PREFS.CURSUS)},t.prototype.getSales=function(){var t=this;return this.cardNb?(0,d.http)().get("/cursus/sales",{queryParams:{cardNb:this.cardNb,_:this.version}}).then((function(e){if(200!==(0,d.http)().latestResponse.status)throw"Cannot get sales";return t.error=!1,t.cardNb&&t.setCardNb(t.cardNb),t.sales=e.sales,t.sales&&e.wallets&&t.sales.forEach((function(t){t.wallet=e.wallets.find((function(e){return e&&e.code==t.numPM}))})),e})).catch((function(e){t.error=!0})).finally((function(){t.apply&&t.apply()})):Promise.reject()},t.prototype.formatSolde=function(t){return"string"!=typeof t||0===t.length?t:1===t.length?"0,0"+t:2===t.length?"0,"+t:t.substring(0,t.length-2)+","+t.substring(t.length-2)},t}(),o=function(){function t(){this.restrict="E",this.template=r(194).Z,this.controller=[a],this.controllerAs="ctrl",this.require=["odeCursusWidget"]}return t.prototype.link=function(t,e,r,i){var s=i?i[0]:null;s&&(s.apply=function(){t.$apply()},s.loads=!0,s.getCardNb().then((function(){return s.getSales()})).finally((function(){s.loads=!1,t.$apply()})))},t}();(0,d.notif)().onLangReady().promise.then((function(t){(0,d.conf)().Platform.idiom.addKeys(r(8109))})),e.odeModuleName="odeCursusWidgetModule",s.default.module(e.odeModuleName,[]).directive("odeCursusWidget",(function(){return new o}))},8109:t=>{t.exports=JSON.parse('{"cursus-widget":"#HDF","cursus-widget.widget.title":"Carte #HDF","cursus-widget.widget.inactive.text":"Veuillez entrer le numéro de votre carte Génération #HDF pour afficher les informations de votre compte.","cursus-widget.widget.error.text":"Le numéro de carte ne correspond pas à votre carte Génération #HDF.","cursus-widget.widget.error.retry":"Merci de saisir à nouveau votre numéro de carte :","cursus-widget.widget.cardNb":"Numéro de carte","cursus-widget.widget.wallet":"Porte-Monnaie","cursus-widget.widget.sale":"Solde","cursus-widget.widget.my.wallets":"Mes porte-monnaie","cursus-widget.widget.update.cardNb.title":"Gestion de ma carte","cursus-widget.widget.update.cardNb.text":"Cliquez sur le bouton ci-dessous pour changer le numéro de la carte dont vous souhaitez afficher les informations","cursus-widget.widget.update.cardNb.button":"Actualiser mon n° de carte","cursus-widget.widget.validate":"Valider"}')}}]);
//# sourceMappingURL=cursus-widget.widget.js.map

@@ -1,2 +0,2 @@

"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[368],{8787:(e,i,t)=>{t.d(i,{Z:()=>o});const o=' <div class="widget-header"> <div class="subtitle"><i18n>dico.title</i18n></div> <div class="widget-options"> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body"> <div class="widget-empty-message link"> <p class="small-text"><i18n>dico.definition<i18n></i18n></i18n></p> <div class="content"> <ode-autocomplete class="dicodelazone__input" options="ctrl.suggestions" ng-model="ctrl.selectedWord" ng-change="ctrl.openDefinition()"> </ode-autocomplete> </div> </div> </div> '},2579:function(e,i,t){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(i,"__esModule",{value:!0}),i.odeModuleName=void 0;var n=o(t(4202)),d=t(9419),s=function(){function e(){this.lexicon={},this.suggestions=[],this.selectedWord=""}return e.prototype.openDefinition=function(){window.open("https://www.dictionnairedelazone.fr/dictionary/lexical/"+this.lexicon[this.selectedWord],"_blank")},e}(),l=function(){function e(){this.restrict="E",this.template=t(8787).Z,this.scope={},this.bindToController=!0,this.controller=[s],this.controllerAs="ctrl",this.require=["odeDicodelazoneWidget"]}return e.prototype.link=function(e,i,t,o){var n=o?o[0]:null;n&&d.http().get("/assets/widgets/dicodelazone-widget/lexicon.json").then((function(i){n.lexicon=i,n.suggestions=Object.keys(i),e.$apply()}))},e}();d.notif().onLangReady().promise.then((function(e){if("en"===e)d.conf().Platform.idiom.addKeys(t(5745));else d.conf().Platform.idiom.addKeys(t(6019))})),i.odeModuleName="odeDicodelazoneWidgetModule",n.default.module(i.odeModuleName,[]).directive("odeDicodelazoneWidget",(function(){return new l}))},5745:e=>{e.exports={}},6019:e=>{e.exports=JSON.parse('{"dico.title":"Dico de la zone","dico.definition":"Le dico de la zone est un site internet qui vous permet de comprendre les mots d\'argot."}')}}]);
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[368],{8787:(e,i,t)=>{t.d(i,{Z:()=>o});const o=' <div class="widget-header"> <div class="subtitle"><i18n>dico.title</i18n></div> <div class="widget-options"> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body"> <div class="widget-empty-message link"> <p class="small-text"><i18n>dico.definition<i18n></i18n></i18n></p> <div class="content"> <ode-autocomplete class="dicodelazone__input" options="ctrl.suggestions" ng-model="ctrl.selectedWord" ng-change="ctrl.openDefinition()"> </ode-autocomplete> </div> </div> </div> '},2579:function(e,i,t){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(i,"__esModule",{value:!0}),i.odeModuleName=void 0;var n=o(t(4202)),d=t(9419),s=function(){function e(){this.lexicon={},this.suggestions=[],this.selectedWord=""}return e.prototype.openDefinition=function(){window.open("https://www.dictionnairedelazone.fr/dictionary/lexical/"+this.lexicon[this.selectedWord],"_blank")},e}(),l=function(){function e(){this.restrict="E",this.template=t(8787).Z,this.scope={},this.bindToController=!0,this.controller=[s],this.controllerAs="ctrl",this.require=["odeDicodelazoneWidget"]}return e.prototype.link=function(e,i,t,o){var n=o?o[0]:null;n&&(0,d.http)().get("/assets/widgets/dicodelazone-widget/lexicon.json").then((function(i){n.lexicon=i,n.suggestions=Object.keys(i),e.$apply()}))},e}();(0,d.notif)().onLangReady().promise.then((function(e){if("en"===e)(0,d.conf)().Platform.idiom.addKeys(t(5745));else(0,d.conf)().Platform.idiom.addKeys(t(6019))})),i.odeModuleName="odeDicodelazoneWidgetModule",n.default.module(i.odeModuleName,[]).directive("odeDicodelazoneWidget",(function(){return new l}))},5745:e=>{e.exports={}},6019:e=>{e.exports=JSON.parse('{"dico.title":"Dico de la zone","dico.definition":"Le dico de la zone est un site internet qui vous permet de comprendre les mots d\'argot."}')}}]);
//# sourceMappingURL=dicodelazone-widget.widget.js.map

@@ -1,2 +0,2 @@

"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[447],{1891:(t,e,n)=>{n.d(e,{Z:()=>i});const i=' <style>.widget-dashboard .dashboard-list .item:nth-child(2n){background:#fafafa}</style> <div class="widget-dashboard"> <div class="widget-header" style="border:0"> <div class="subtitle"> <a class="seemore" href="#" ng-click="ctrl.onButtonClick(ctrl.generateLinkGar(), \'EDUMALIN_OPEN_GAR\')" style="display:flex"> <img src="/assets/widgets/edumalin-widget/edumalin.png" width="40" height="40" alt="edumalin"/> <span style="padding-left:20px"><i18n>edumalin.title</i18n></span> </a> </div> <div class="widget-options"> <div class="widget-handle" title="Déplacer le widget"> <i class="fas fa-grip-vertical" aria-hidden="true"></i> </div> </div> </div> <div class="widget-body" dnd-nodrag> <div ng-if="!ctrl.isDataLoaded" class="widget-empty-message"> <div class="row row-cols-1 align-items-center"> <div class="mb-3"> <div class="widget-empty-message" ng-if="ctrl.userEvents === undefined || ctrl.userEvents.length === 0"> <i18n>edumalin.empty</i18n> </div> </div> </div> </div> <ul class="dashboard-list" ng-if="ctrl.isDataLoaded"> <li class="item link-discret" ng-repeat="widget in ctrl.data" ng-click="ctrl.openLightBox(widget, $event)"> <a href="#" class="item-inner"> <div class="row"> <div class="col-3 mt-16"> <img ng-if="!ctrl.isURL(widget.picture)" src="/assets/widgets/edumalin-widget/edumalin.png" width="40" height="40" alt="edumalin" class="m-auto"/> <img ng-if="ctrl.isURL(widget.picture)" ng-src="{{ctrl.encodeUrlPicture(widget.picture)}}" width="60" height="60" alt="edumalin" class="m-auto"/> </div> <div class="col-9"> <div class="subtitle" translate content="[[widget.title]]"></div> <div class="subtext" translate ng-if="widget.description" content="[[widget.description.length>70 ? widget.description.slice(0, 70) + \' ...\' : widget.description]]"></div> <div class="info meta" ng-style="{\'color\': ctrl.displayIconColor(widget.type.name)}" ng-if="widget.type"> <i class="fas [[ctrl.displayIcon(widget.type.name)]]"></i> [[widget.type.name]] </div> </div> </div> </a> </li> </ul> </div> <ode-modal visible="ctrl.showLightbox" on-close="ctrl.showLightbox=false" size="lg" class="modal-widget"> <ode-modal-title> <h2 translate content="[[ctrl.currentWidget.title]]"></h2> </ode-modal-title> <ode-modal-body> <div class="container"> <div class="row"> <div class="col-md-4 col-sm-12"> <img ng-if="!ctrl.isURL(ctrl.currentWidget.picture)" src="/assets/widgets/edumalin-widget/edumalin.png" width="200" height="200" alt="edumalin" class="m-auto"/> <img ng-if="ctrl.isURL(ctrl.currentWidget.picture)" ng-src="{{ctrl.encodeUrlPicture(ctrl.currentWidget.picture)}}" width="200" height="200" alt="edumalin" class="m-auto"/> </div> <div class="col-md-8 col-sm-12"> <div class="label" translate content="[[ctrl.currentWidget.description]]"></div> <div class="mb-3 mt-12" ng-if="ctrl.isTypeRDV(ctrl.currentWidget.type.name)" ng-style="{\'color\': ctrl.displayIconColor(ctrl.currentWidget.type.name)}"> <a href="[[ctrl.currentWidget.googleMap]]" target="_blank" rel="noopener"> <div class="label"> <i class="fas [[ctrl.displayIcon(ctrl.currentWidget.type.name)]]"></i> <span translate content="[[ctrl.currentWidget.type.name]]"></span> </div> </a> </div> <div class="mb-3 mt-12" ng-if="!ctrl.isTypeRDV(ctrl.currentWidget.type.name)"> <div class="label"> <i class="fas [[ctrl.displayIcon(ctrl.currentWidget.type.name)]]" ng-style="{\'color\': ctrl.displayIconColor(ctrl.currentWidget.type.name)}"></i> <span translate content="[[ctrl.currentWidget.type.name]]" ng-style="{\'color\': ctrl.displayIconColor(ctrl.currentWidget.type.name)}"></span> <span ng-if="ctrl.isTypeWebinaire(ctrl.currentWidget.type.name)"> | <i18n>edumalin.webinaire.date</i18n>: [[ctrl.dateFormat(ctrl.currentWidget.dateTime)]] | <i18n>edumalin.webinaire.duration</i18n>: [[ctrl.currentWidget.duration]] min</span> </div> </div> </div> </div> </div> <div class="d-flex justify-content-end"> <button type="button" class="btn btn-outline-primary ng-binding ng-scope" ng-click="ctrl.onButtonClick(ctrl.generateLinkGar(), \'EDUMALIN_OPEN_GAR\')" style="margin-right:1%" translate content="edumalin.acceder"/> <button ng-if="ctrl.currentWidget.buttonLink" type="button" class="btn btn-primary ng-binding ng-scope" ng-click="ctrl.onButtonClick(ctrl.currentWidget.buttonLink, \'EDUMALIN_OPEN_LINK\')" translate> {{ctrl.currentWidget.buttonTitle}} </button> </div> </ode-modal-body> </ode-modal> </div> '},3691:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))((function(r,a){function l(t){try{c(i.next(t))}catch(t){a(t)}}function s(t){try{c(i.throw(t))}catch(t){a(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(l,s)}c((i=i.apply(t,e||[])).next())}))},r=this&&this.__generator||function(t,e){var n,i,r,a,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;l;)try{if(n=1,i&&(r=2&a[0]?i.return:a[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,a[1])).done)return r;switch(i=0,r&&(a=[2&a[0],r.value]),a[0]){case 0:case 1:r=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,i=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(r=l.trys,(r=r.length>0&&r[r.length-1])||6!==a[0]&&2!==a[0])){l=0;continue}if(3===a[0]&&(!r||a[1]>r[0]&&a[1]<r[3])){l.label=a[1];break}if(6===a[0]&&l.label<r[1]){l.label=r[1],r=a;break}if(r&&l.label<r[2]){l.label=r[2],l.ops.push(a);break}r[2]&&l.ops.pop(),l.trys.pop();continue}a=e.call(t,l)}catch(t){a=[6,t],i=0}finally{n=r=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.odeModuleName=void 0;var l=a(n(4202)),s=n(9419),c=a(n(381)),o=function(){function t(){this.data={},this.error=null,this.showLightbox=!1,this.urlGar="https://idp-auth.gar.education.fr/domaineGar?idENT=ID_ENT&idEtab=ID_ETAB&idRessource=ark:/19496/UVdpWxn8N78r24"}return t.prototype.onButtonClick=function(t,e){e&&e.length>0&&this.trackEvent(e),window.open(t,"_blank")},Object.defineProperty(t.prototype,"isDataLoaded",{get:function(){return this.data.length>0},enumerable:!1,configurable:!0}),t.prototype.dateFormat=function(t){return c.default(t).format("L")},t.prototype.isTypeRDV=function(t){return"RDV"==t},t.prototype.isTypeWebinaire=function(t){return"Webinaire"==t},t.prototype.displayIcon=function(t){switch(t){case"RDV":return"fa-calendar-alt";case"Webinaire":return"fa-video";case"Annonce":return"fa-bullhorn";case"Actualité":return"fa-newspaper";case"Temoignage":return"fa-microphone-lines";case"Podcast":return"fa-headset";case"Replay":return"fa-rotate-left";case"Tutoriel":return"fa-wand-magic-sparkles";default:return"fa-info"}},t.prototype.displayIconColor=function(t){switch(t){case"RDV":return"#2a9cc8";case"Webinaire":return"#20c997";case"Annonce":return"#E13A3A";case"Actualité":return"#FF8D2E";case"Temoignage":return"#2029B6";case"Podcast":return"#823AA1";case"Replay":return"#46BFAF";case"Tutoriel":return"#ecbe30";default:return"#f59700"}},t.prototype.openLightBox=function(t,e){this.currentWidget=t,this.showLightbox=!0,e.currentTarget&&this.trackEvent("EDUMALIN_OPEN_MODAL")},t.prototype.isURL=function(t){return!!(t&&t.length>0&&(t.startsWith("http://")||t.startsWith("https://")))},t.prototype.generateLinkGar=function(){if(s.session().description&&s.session().description.schools&&s.session().description.schools.length>0){var t=s.session().description.schools[0],e=s.Base64.encode(null!=(null==t?void 0:t.UAI)?t.UAI:""),n=null!=t.exports?t.exports:[],i="";if(null!=n){for(var r=0;r<n.length;++r)if(n[r].startsWith("GAR-")){i=n[r].replace("GAR-","");break}""==i&&(i=n[0])}var a=s.Base64.encode(i);return this.urlGar.replace("ID_ETAB",e).replace("ID_ENT",a)}return"https://edumalin.fr/"},t.prototype.trackEvent=function(t){if(t&&t.length>0){var e={"event-type":t,modal:"Timeline"};s.http().post("/infra/event/web/store",e).catch((function(t){console.debug("[TrackingInternal] failed to trackEvent: ",t)}))}},t.prototype.encodeUrlPicture=function(t){return encodeURI(t)},t}(),d=function(){function t(){this.restrict="E",this.template=n(1891).Z,this.scope={},this.bindToController=!0,this.controller=[o],this.controllerAs="ctrl",this.require=["odeEdumalinWidget"]}return t.prototype.link=function(t,e,n,a){return i(this,void 0,void 0,(function(){var e;return r(this,(function(n){switch(n.label){case 0:return(e=a?a[0]:null)?[4,s.http().get("/appregistry/edumalin/widget").then((function(n){n.success?(e.data=n.data,t.$apply()):e.error=n.error}))]:[2];case 1:return n.sent(),[2]}}))}))},t}();s.notif().onLangReady().promise.then((function(t){s.conf().Platform.idiom.addKeys(n(7918))})),e.odeModuleName="odeEdumalinWidgetModule",l.default.module(e.odeModuleName,[]).directive("odeEdumalinWidget",(function(){return new d}))},7918:t=>{t.exports=JSON.parse('{"edumalin.title":"Édumalin","edumalin.acceder":"Accéder à Édumalin","edumalin.empty":"Aucun résultat","edumalin.webinaire.date":"Date","edumalin.webinaire.duration":"Duration"}')}}]);
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[447],{1891:(t,e,n)=>{n.d(e,{Z:()=>i});const i=' <style>.widget-dashboard .dashboard-list .item:nth-child(2n){background:#fafafa}</style> <div class="widget-dashboard"> <div class="widget-header" style="border:0"> <div class="subtitle"> <a class="seemore" href="#" ng-click="ctrl.onButtonClick(ctrl.generateLinkGar(), \'EDUMALIN_OPEN_GAR\')" style="display:flex"> <img src="/assets/widgets/edumalin-widget/edumalin.png" width="40" height="40" alt="edumalin"/> <span style="padding-left:20px"><i18n>edumalin.title</i18n></span> </a> </div> <div class="widget-options"> <div class="widget-handle" title="Déplacer le widget"> <i class="fas fa-grip-vertical" aria-hidden="true"></i> </div> </div> </div> <div class="widget-body" dnd-nodrag> <div ng-if="!ctrl.isDataLoaded" class="widget-empty-message"> <div class="row row-cols-1 align-items-center"> <div class="mb-3"> <div class="widget-empty-message" ng-if="ctrl.userEvents === undefined || ctrl.userEvents.length === 0"> <i18n>edumalin.empty</i18n> </div> </div> </div> </div> <ul class="dashboard-list" ng-if="ctrl.isDataLoaded"> <li class="item link-discret" ng-repeat="widget in ctrl.data" ng-click="ctrl.openLightBox(widget, $event)"> <a href="#" class="item-inner"> <div class="row"> <div class="col-3 mt-16"> <img ng-if="!ctrl.isURL(widget.picture)" src="/assets/widgets/edumalin-widget/edumalin.png" width="40" height="40" alt="edumalin" class="m-auto"/> <img ng-if="ctrl.isURL(widget.picture)" ng-src="{{ctrl.encodeUrlPicture(widget.picture)}}" width="60" height="60" alt="edumalin" class="m-auto"/> </div> <div class="col-9"> <div class="subtitle" translate content="[[widget.title]]"></div> <div class="subtext" translate ng-if="widget.description" content="[[widget.description.length>70 ? widget.description.slice(0, 70) + \' ...\' : widget.description]]"></div> <div class="info meta" ng-style="{\'color\': ctrl.displayIconColor(widget.type.name)}" ng-if="widget.type"> <i class="fas [[ctrl.displayIcon(widget.type.name)]]"></i> [[widget.type.name]] </div> </div> </div> </a> </li> </ul> </div> <ode-modal visible="ctrl.showLightbox" on-close="ctrl.showLightbox=false" size="lg" class="modal-widget"> <ode-modal-title> <h2 translate content="[[ctrl.currentWidget.title]]"></h2> </ode-modal-title> <ode-modal-body> <div class="container"> <div class="row"> <div class="col-md-4 col-sm-12"> <img ng-if="!ctrl.isURL(ctrl.currentWidget.picture)" src="/assets/widgets/edumalin-widget/edumalin.png" width="200" height="200" alt="edumalin" class="m-auto"/> <img ng-if="ctrl.isURL(ctrl.currentWidget.picture)" ng-src="{{ctrl.encodeUrlPicture(ctrl.currentWidget.picture)}}" width="200" height="200" alt="edumalin" class="m-auto"/> </div> <div class="col-md-8 col-sm-12"> <div class="label" translate content="[[ctrl.currentWidget.description]]"></div> <div class="mb-3 mt-12" ng-if="ctrl.isTypeRDV(ctrl.currentWidget.type.name)" ng-style="{\'color\': ctrl.displayIconColor(ctrl.currentWidget.type.name)}"> <a href="[[ctrl.currentWidget.googleMap]]" target="_blank" rel="noopener"> <div class="label"> <i class="fas [[ctrl.displayIcon(ctrl.currentWidget.type.name)]]"></i> <span translate content="[[ctrl.currentWidget.type.name]]"></span> </div> </a> </div> <div class="mb-3 mt-12" ng-if="!ctrl.isTypeRDV(ctrl.currentWidget.type.name)"> <div class="label"> <i class="fas [[ctrl.displayIcon(ctrl.currentWidget.type.name)]]" ng-style="{\'color\': ctrl.displayIconColor(ctrl.currentWidget.type.name)}"></i> <span translate content="[[ctrl.currentWidget.type.name]]" ng-style="{\'color\': ctrl.displayIconColor(ctrl.currentWidget.type.name)}"></span> <span ng-if="ctrl.isTypeWebinaire(ctrl.currentWidget.type.name)"> | <i18n>edumalin.webinaire.date</i18n>: [[ctrl.dateFormat(ctrl.currentWidget.dateTime)]] | <i18n>edumalin.webinaire.duration</i18n>: [[ctrl.currentWidget.duration]] min</span> </div> </div> </div> </div> </div> <div class="d-flex justify-content-end"> <button type="button" class="btn btn-outline-primary ng-binding ng-scope" ng-click="ctrl.onButtonClick(ctrl.generateLinkGar(), \'EDUMALIN_OPEN_GAR\')" style="margin-right:1%" translate content="edumalin.acceder"/> <button ng-if="ctrl.currentWidget.buttonLink" type="button" class="btn btn-primary ng-binding ng-scope" ng-click="ctrl.onButtonClick(ctrl.currentWidget.buttonLink, \'EDUMALIN_OPEN_LINK\')" translate> {{ctrl.currentWidget.buttonTitle}} </button> </div> </ode-modal-body> </ode-modal> </div> '},3691:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))((function(r,a){function l(t){try{c(i.next(t))}catch(t){a(t)}}function s(t){try{c(i.throw(t))}catch(t){a(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(l,s)}c((i=i.apply(t,e||[])).next())}))},r=this&&this.__generator||function(t,e){var n,i,r,a,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;l;)try{if(n=1,i&&(r=2&a[0]?i.return:a[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,a[1])).done)return r;switch(i=0,r&&(a=[2&a[0],r.value]),a[0]){case 0:case 1:r=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,i=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(r=l.trys,(r=r.length>0&&r[r.length-1])||6!==a[0]&&2!==a[0])){l=0;continue}if(3===a[0]&&(!r||a[1]>r[0]&&a[1]<r[3])){l.label=a[1];break}if(6===a[0]&&l.label<r[1]){l.label=r[1],r=a;break}if(r&&l.label<r[2]){l.label=r[2],l.ops.push(a);break}r[2]&&l.ops.pop(),l.trys.pop();continue}a=e.call(t,l)}catch(t){a=[6,t],i=0}finally{n=r=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.odeModuleName=void 0;var l=a(n(4202)),s=n(9419),c=a(n(381)),o=function(){function t(){this.data={},this.error=null,this.showLightbox=!1,this.urlGar="https://idp-auth.gar.education.fr/domaineGar?idENT=ID_ENT&idEtab=ID_ETAB&idRessource=ark:/19496/UVdpWxn8N78r24"}return t.prototype.onButtonClick=function(t,e){e&&e.length>0&&this.trackEvent(e),window.open(t,"_blank")},Object.defineProperty(t.prototype,"isDataLoaded",{get:function(){return this.data.length>0},enumerable:!1,configurable:!0}),t.prototype.dateFormat=function(t){return(0,c.default)(t).format("L")},t.prototype.isTypeRDV=function(t){return"RDV"==t},t.prototype.isTypeWebinaire=function(t){return"Webinaire"==t},t.prototype.displayIcon=function(t){switch(t){case"RDV":return"fa-calendar-alt";case"Webinaire":return"fa-video";case"Annonce":return"fa-bullhorn";case"Actualité":return"fa-newspaper";case"Temoignage":return"fa-microphone-lines";case"Podcast":return"fa-headset";case"Replay":return"fa-rotate-left";case"Tutoriel":return"fa-wand-magic-sparkles";default:return"fa-info"}},t.prototype.displayIconColor=function(t){switch(t){case"RDV":return"#2a9cc8";case"Webinaire":return"#20c997";case"Annonce":return"#E13A3A";case"Actualité":return"#FF8D2E";case"Temoignage":return"#2029B6";case"Podcast":return"#823AA1";case"Replay":return"#46BFAF";case"Tutoriel":return"#ecbe30";default:return"#f59700"}},t.prototype.openLightBox=function(t,e){this.currentWidget=t,this.showLightbox=!0,e.currentTarget&&this.trackEvent("EDUMALIN_OPEN_MODAL")},t.prototype.isURL=function(t){return!!(t&&t.length>0&&(t.startsWith("http://")||t.startsWith("https://")))},t.prototype.generateLinkGar=function(){if((0,s.session)().description&&(0,s.session)().description.schools&&(0,s.session)().description.schools.length>0){var t=(0,s.session)().description.schools[0],e=s.Base64.encode(null!=(null==t?void 0:t.UAI)?t.UAI:""),n=null!=t.exports?t.exports:[],i="";if(null!=n){for(var r=0;r<n.length;++r)if(n[r].startsWith("GAR-")){i=n[r].replace("GAR-","");break}""==i&&(i=n[0])}var a=s.Base64.encode(i);return this.urlGar.replace("ID_ETAB",e).replace("ID_ENT",a)}return"https://edumalin.fr/"},t.prototype.trackEvent=function(t){if(t&&t.length>0){var e={"event-type":t,modal:"Timeline"};(0,s.http)().post("/infra/event/web/store",e).catch((function(t){console.debug("[TrackingInternal] failed to trackEvent: ",t)}))}},t.prototype.encodeUrlPicture=function(t){return encodeURI(t)},t}(),d=function(){function t(){this.restrict="E",this.template=n(1891).Z,this.scope={},this.bindToController=!0,this.controller=[o],this.controllerAs="ctrl",this.require=["odeEdumalinWidget"]}return t.prototype.link=function(t,e,n,a){return i(this,void 0,void 0,(function(){var e;return r(this,(function(n){switch(n.label){case 0:return(e=a?a[0]:null)?[4,(0,s.http)().get("/appregistry/edumalin/widget").then((function(n){n.success?(e.data=n.data,t.$apply()):e.error=n.error}))]:[2];case 1:return n.sent(),[2]}}))}))},t}();(0,s.notif)().onLangReady().promise.then((function(t){(0,s.conf)().Platform.idiom.addKeys(n(7918))})),e.odeModuleName="odeEdumalinWidgetModule",l.default.module(e.odeModuleName,[]).directive("odeEdumalinWidget",(function(){return new d}))},7918:t=>{t.exports=JSON.parse('{"edumalin.title":"Édumalin","edumalin.acceder":"Accéder à Édumalin","edumalin.empty":"Aucun résultat","edumalin.webinaire.date":"Date","edumalin.webinaire.duration":"Duration"}')}}]);
//# sourceMappingURL=edumalin-widget.widget.js.map

@@ -1,2 +0,2 @@

"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[376],{1918:(t,i,e)=>{e.d(i,{Z:()=>n});const n=' <div class="widget-news"> <div class="widget-header"> <div class="subtitle"> <a class="seemore" href="/actualites" i18n-title="last-infos-widget.widget.see.all" dnd-nodrag ng-click="trackEvent($event, { detail:{\'open\':\'app\'} })"> <i18n>last-infos-widget.widget.title</i18n> <span class="seemore-text"><i18n>last-infos-widget.widget.see.more</i18n></span> </a> </div> <div class="widget-options"> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body" dnd-nodrag> <div class="widget-empty-message" ng-if="ctrl.infos === undefined || ctrl.infos.length === 0"> <i18n>last-infos-widget.widget.empty</i18n> </div> <a class="news-row" ng-repeat="info in ctrl.infos track by info._id" ng-href="/actualites#/view/thread/[[info.thread_id]]/info/[[info._id]]" ng-click="trackEvent($event, {detail:{\'open\':\'info\'} })"> <div class="news-row-image"> <img ng-if="!info.thread_icon" skin-src="/img/illustrations/news.svg" alt="[[info.thread_title]]" width="40" height="40"/> <img ng-if="info.thread_icon" ng-src="[[info.thread_icon]]?thumbnail=120x120" alt="[[info.thread_title]]" width="40" height="40"/> </div> <div class="news-row-text"> <span class="link d-block">[[info.title]]</span> <span class="meta">[[info.relativeDate]] - [[info.username]]</span> </div> </a> </div> </div> '},5479:function(t,i,e){var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(i,"__esModule",{value:!0}),i.odeModuleName=void 0;var s=n(e(4202)),o=e(9419),a=e(5262),d=function(){function t(){this.widget=new a.LastInfosWidget,this.lang=o.conf().Platform.idiom,this.infos=[],this.resultSizeValues=[1,2,3,4,5,6,7,8,9,10],this.resultSize=4,this.display={edition:!1}}return t.prototype.load=function(){var t=this;return this.widget.loadInfos(this.resultSize).then((function(i){t.infos=i.map((function(i){return i.relativeDate=o.L10n.moment(i.date).fromNow(),i.tooltip=t.lang.translate("last-infos-widget.widget.thread")+" : "+i.thread_title+" | "+t.lang.translate("last-infos-widget.widget.author")+" : "+i.username,i}))}))},t.prototype.openConfig=function(){this.display.edition=!0},t.prototype.closeConfig=function(){this.display.edition=!1},t.prototype.saveConfig=function(){return this.widget.setMaxResults(this.resultSize)},t}(),l=function(){function t(){this.restrict="E",this.template=e(1918).Z,this.controller=[d],this.controllerAs="ctrl",this.require=["odeLastInfosWidget"]}return t.prototype.link=function(t,i,e,n){var s=n?n[0]:null;s&&(t.trackEvent=function(t,i){var e,n;void 0===i.bubbles&&(i.bubbles=!0);var s=null;(i&&"app"===(null===(e=i.detail)||void 0===e?void 0:e.open)||i&&"info"===(null===(n=i.detail)||void 0===n?void 0:n.open))&&(s=new CustomEvent(o.TrackedActionFromWidget.lastInfos,i)),s&&t.currentTarget&&t.currentTarget.dispatchEvent(s)},s.widget.getMaxResults().then((function(i){s.resultSize=i,s.load().then((function(){t.$apply()}))})))},t}();o.notif().onLangReady().promise.then((function(t){o.conf().Platform.idiom.addKeys(e(723))})),i.odeModuleName="odeLastInfosWidgetModule",s.default.module(i.odeModuleName,[]).directive("odeLastInfosWidget",(function(){return new l}))},723:t=>{t.exports=JSON.parse('{"last-infos-widget.widget.title":"Actualités","last-infos-widget.widget.author":"Auteur","last-infos-widget.widget.bad.request.invalid.size":"Nombre d\'actualités invalide : veuillez choisir un nombre compris entre 1 et 20.","last-infos-widget.widget.bad.request.size.must.be.an.integer":"Nombre d\'actualités invalide : veuillez utiliser un nombre.","last-infos-widget.widget.config":"Configurer","last-infos-widget.widget.config.cancel":"Annuler","last-infos-widget.widget.config.nbr":"Nombre d\'actualités à afficher","last-infos-widget.widget.config.save":"Enregistrer","last-infos-widget.widget.config.title":"Configuration","last-infos-widget.widget.empty":"Aucune actualité","last-infos-widget.widget.thread":"Fil","last-infos-widget.widget.see.all":"Voir toutes les actualités","last-infos-widget.widget.see.more":"voir plus","last-infos-widget.widget.options":"Options du widget"}')}}]);
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[376],{1918:(t,i,e)=>{e.d(i,{Z:()=>n});const n=' <div class="widget-news"> <div class="widget-header"> <div class="subtitle"> <a class="seemore" href="/actualites" i18n-title="last-infos-widget.widget.see.all" dnd-nodrag ng-click="trackEvent($event, { detail:{\'open\':\'app\'} })"> <i18n>last-infos-widget.widget.title</i18n> <span class="seemore-text"><i18n>last-infos-widget.widget.see.more</i18n></span> </a> </div> <div class="widget-options"> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body" dnd-nodrag> <div class="widget-empty-message" ng-if="ctrl.infos === undefined || ctrl.infos.length === 0"> <i18n>last-infos-widget.widget.empty</i18n> </div> <a class="news-row" ng-repeat="info in ctrl.infos track by info._id" ng-href="/actualites#/view/thread/[[info.thread_id]]/info/[[info._id]]" ng-click="trackEvent($event, {detail:{\'open\':\'info\'} })"> <div class="news-row-image"> <img ng-if="!info.thread_icon" skin-src="/img/illustrations/news.svg" alt="[[info.thread_title]]" width="40" height="40"/> <img ng-if="info.thread_icon" ng-src="[[info.thread_icon]]?thumbnail=120x120" alt="[[info.thread_title]]" width="40" height="40"/> </div> <div class="news-row-text"> <span class="link d-block">[[info.title]]</span> <span class="meta">[[info.relativeDate]] - [[info.username]]</span> </div> </a> </div> </div> '},5479:function(t,i,e){var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(i,"__esModule",{value:!0}),i.odeModuleName=void 0;var s=n(e(4202)),o=e(9419),a=e(5262),d=function(){function t(){this.widget=new a.LastInfosWidget,this.lang=(0,o.conf)().Platform.idiom,this.infos=[],this.resultSizeValues=[1,2,3,4,5,6,7,8,9,10],this.resultSize=4,this.display={edition:!1}}return t.prototype.load=function(){var t=this;return this.widget.loadInfos(this.resultSize).then((function(i){t.infos=i.map((function(i){return i.relativeDate=o.L10n.moment(i.date).fromNow(),i.tooltip=t.lang.translate("last-infos-widget.widget.thread")+" : "+i.thread_title+" | "+t.lang.translate("last-infos-widget.widget.author")+" : "+i.username,i}))}))},t.prototype.openConfig=function(){this.display.edition=!0},t.prototype.closeConfig=function(){this.display.edition=!1},t.prototype.saveConfig=function(){return this.widget.setMaxResults(this.resultSize)},t}(),l=function(){function t(){this.restrict="E",this.template=e(1918).Z,this.controller=[d],this.controllerAs="ctrl",this.require=["odeLastInfosWidget"]}return t.prototype.link=function(t,i,e,n){var s=n?n[0]:null;s&&(t.trackEvent=function(t,i){var e,n;void 0===i.bubbles&&(i.bubbles=!0);var s=null;(i&&"app"===(null===(e=i.detail)||void 0===e?void 0:e.open)||i&&"info"===(null===(n=i.detail)||void 0===n?void 0:n.open))&&(s=new CustomEvent(o.TrackedActionFromWidget.lastInfos,i)),s&&t.currentTarget&&t.currentTarget.dispatchEvent(s)},s.widget.getMaxResults().then((function(i){s.resultSize=i,s.load().then((function(){t.$apply()}))})))},t}();(0,o.notif)().onLangReady().promise.then((function(t){(0,o.conf)().Platform.idiom.addKeys(e(723))})),i.odeModuleName="odeLastInfosWidgetModule",s.default.module(i.odeModuleName,[]).directive("odeLastInfosWidget",(function(){return new l}))},723:t=>{t.exports=JSON.parse('{"last-infos-widget.widget.title":"Actualités","last-infos-widget.widget.author":"Auteur","last-infos-widget.widget.bad.request.invalid.size":"Nombre d\'actualités invalide : veuillez choisir un nombre compris entre 1 et 20.","last-infos-widget.widget.bad.request.size.must.be.an.integer":"Nombre d\'actualités invalide : veuillez utiliser un nombre.","last-infos-widget.widget.config":"Configurer","last-infos-widget.widget.config.cancel":"Annuler","last-infos-widget.widget.config.nbr":"Nombre d\'actualités à afficher","last-infos-widget.widget.config.save":"Enregistrer","last-infos-widget.widget.config.title":"Configuration","last-infos-widget.widget.empty":"Aucune actualité","last-infos-widget.widget.thread":"Fil","last-infos-widget.widget.see.all":"Voir toutes les actualités","last-infos-widget.widget.see.more":"voir plus","last-infos-widget.widget.options":"Options du widget"}')}}]);
//# sourceMappingURL=last-infos-widget.widget.js.map

@@ -1,2 +0,2 @@

"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[536],{5541:(t,e,o)=>{o.d(e,{Z:()=>i});const i='<div class="widget-maxicours"> <div class="widget-header"> <div class="subtitle"><i18n>maxicours-widget.widget.title</i18n></div> <div class="widget-options"> <div class="widget-handle"><i class="fas fa-grip-vertical"></i></div> </div> </div> <div class="widget-body m-3" ng-if="!ctrl.showWidget()" dnd-nodrag> <p> <a data-maxicours-href href="[[ctrl.controllerData.connectorEndpoint]]" target="_blank" rel="noopener" i18n-title="maxicours-widget"> <i class="ic-maxicours"></i> </a> </p> </div> <div class="widget-body p-4" ng-if="ctrl.showWidget()" dnd-nodrag> <i class="ic-maxicours" ng-if="ctrl.controllerData.id < 0"></i> <p ng-if="ctrl.controllerData.id >= 0"> <a data-maxicours-href href="[[ctrl.controllerData.connectorEndpoint]]" target="_blank" rel="noopener" i18n-title="maxicours-widget" ng-if="ctrl.controllerData.id >= 0"> <i class="ic-maxicours"></i> </a> </p> <div ng-if="ctrl.loads"> <div class="widget-empty-message" translate content="loading"></div> </div> <div class="widget-empty-message" ng-if="!ctrl.loads && (!ctrl.controllerData.id || ctrl.controllerData.id < 0)"> <i18n>maxicours-widget.widget.inactive.user</i18n> <form class="mt-3" data-maxicours-action method="get"> <button class="btn btn-primary" ng-click="ctrl.initAuthProcess()" formtarget="_blank" rel="noopener" translate content="maxicours-widget.widget.connect"></button> </form> </div> <div ng-if="!ctrl.loads && ctrl.controllerData.id >= 0"> <div> <i18n>maxicours-widget.widget.my.points</i18n> : <span>[[ ctrl.controllerData.userInfo.activityScore ]]</span> </div> <div> <div ng-if="ctrl.controllerData.userInfo.hasSessionOfTheDay" class="mt-4"> <h4><a ng-href="[[ctrl.controllerData.userInfo.sessionOfTheDayUrl]]" target="_blank" rel="noopener"><i18n>maxicours-widget.widget.daily.session</i18n></a></h4> <ul ng-if="ctrl.controllerData.userInfo.hasSessionOfTheDay === \'true\'"> <li class="activity row border-top py-3 mx-1 align-items-center" ng-repeat="activity in ctrl.controllerData.userInfo.sessionOfTheDayActivities"> <div class="col-auto"> <img class="picto" ng-src="[[activity.picto]]"> </div> <div class="col-auto"> <strong>[[activity.title]]</strong> <p class="mb-0">[[activity.label]]</p> </div> </li> </ul> </div> <div ng-if="ctrl.controllerData.userInfo.newPersonnalCourses.length > 0"> <h4><i18n>maxicours-widget.widget.my.courses<i18n></i18n></i18n></h4> <ul> <li ng-repeat="course in ctrl.controllerData.userInfo.newPersonnalCourses"> <b> <a ng-href="[[course.url]]" target="_blank" rel="noopener">[[course.label]] ([[course.date]])</a> </b> </li> <li ng-repeat="course in ctrl.controllerData.userInfo.currentPersonnalCourses"> <a ng-href="[[course.url]]" target="_blank" rel="noopener">[[course.label]] ([[course.date]])</a> </li> </ul> </div> </div> </div> </div> </div>'},3132:function(t,e,o){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.odeModuleName=void 0;var r=i(o(4202)),n=o(9419),a=i(o(3336)),s=function(){function t(){this.controllerData={},this.loads=!1}return Object.defineProperty(t.prototype,"version",{get:function(){return n.conf().Platform.deploymentTag},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"me",{get:function(){return n.session().user},enumerable:!1,configurable:!0}),t.prototype.showWidget=function(){return"ELEVE"===this.me.type},t.prototype.loading=function(t){this.loads=t,this.apply&&this.apply()},t.prototype.authProcess=function(t){var e=this;this.getUserStatus().then((function(){return e.getUserInfo(t)}))},t.prototype.initAuthProcess=function(){var t=this,e=5;this.loading(!0);var o=function(){t.controllerData.id<0&&e-- >0?(t.authProcess(),setTimeout(o,2e3)):t.loading(!1)};setTimeout(o,2e3)},t.prototype.getConf=function(){var t=this;return n.http().get("/maxicours/conf",{queryParams:{_:this.version}}).then((function(e){if(200!==n.http().latestResponse.status)throw"Cannot get maxicours widget configuration.";Object.assign(t.controllerData,e),t.controllerData.connectorEndpoint&&(a.default("[data-maxicours-action]").attr("action",t.controllerData.connectorEndpoint),a.default("[data-maxicours-href]").attr("href",t.controllerData.connectorEndpoint))})).catch((function(){console.log("HTTP error on /maxicours/conf. aide-aux-devoirs widget will not load.")}))},t.prototype.getUserStatus=function(){var t=this;return n.http().get("/maxicours/getUserStatus",{queryParams:{_:this.version}}).then((function(e){if(200!==n.http().latestResponse.status)throw"Cannot get maxicours user status.";var o=a.default.parseXML(e),i=a.default(o);t.controllerData.id=i.find("mxcId").text(),t.apply&&t.apply()})).catch((function(){console.log("HTTP error on /maxicours/getUserStatus. aide-aux-devoirs widget will not load.")}))},t.prototype.getUserInfo=function(t){var e=this;if(void 0===this.controllerData.id||"string"==typeof this.controllerData.id&&0===this.controllerData.id.trim().length||this.controllerData.id<0)return"function"==typeof t&&t(),Promise.resolve();n.http().get("/maxicours/getUserInfo/"+this.controllerData.id).then((function(t){if(200!==n.http().latestResponse.status)throw"Cannot get maxicours user info.";try{var o=a.default.parseXML(t),i=a.default(o),r=function(t,e,o){return(o?t.find(o).find(e):t.find(e)).text()},s=function(t){return a.default(t).children().toArray().map((function(t){for(var e={},o=a.default(t).children(),i=0;i<o.length;i++)e[o[i].nodeName]=o[i].textContent;return e}))};e.controllerData.userInfo={hasAnActiveAccount:r(i,"hasAnActiveAccount"),activityScore:r(i,"activityScore"),hasSessionOfTheDay:r(i,"hasSessionOfTheDay"),sessionOfTheDayUrl:r(i,"sessionOfTheDayUrl"),sessionOfTheDayActivities:s(i.find("sessionOfTheDayActivities")),hasPersonnalCourses:r(i,"hasPersonnalCourses"),newPersonnalCourses:s(i.find("newPersonnalCourses")),currentPersonnalCourses:s(i.find("currentPersonnalCourses"))},e.apply&&e.apply()}catch(t){console.log("Cannot parse maxicours user info.")}})).finally((function(){"function"==typeof t&&t()}))},t}(),c=function(){function t(){this.restrict="E",this.template=o(5541).Z,this.controller=[s],this.controllerAs="ctrl",this.require=["odeMaxicoursWidget"]}return t.prototype.link=function(t,e,o,i){var r=i?i[0]:null;r&&(r.apply=function(){t.$apply()},r.getConf().then((function(){return r.authProcess((function(){r.loading(!1),r.apply&&r.apply()}))})))},t}();n.notif().onLangReady().promise.then((function(t){n.conf().Platform.idiom.addKeys(o(841))})),e.odeModuleName="odeMaxicoursWidgetModule",r.default.module(e.odeModuleName,[]).directive("odeMaxicoursWidget",(function(){return new c}))},841:t=>{t.exports=JSON.parse('{"maxicours-widget":"Aide aux devoirs","maxicours-widget.widget.title":"Aide aux devoirs","maxicours-widget.widget.inactive.user":"Vous n\'êtes pas authentifié sur le service.","maxicours-widget.widget.connect":"Activer mon compte","maxicours-widget.widget.refresh":"Rafraîchir les informations","maxicours-widget.widget.my.points":"Mes points","maxicours-widget.widget.points":"pts","maxicours-widget.widget.daily.session":"Ma séance du jour","maxicours-widget.widget.my.courses":"Mes parcours à réaliser"}')}}]);
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[536],{5541:(t,e,o)=>{o.d(e,{Z:()=>i});const i='<div class="widget-maxicours"> <div class="widget-header"> <div class="subtitle"><i18n>maxicours-widget.widget.title</i18n></div> <div class="widget-options"> <div class="widget-handle"><i class="fas fa-grip-vertical"></i></div> </div> </div> <div class="widget-body m-3" ng-if="!ctrl.showWidget()" dnd-nodrag> <p> <a data-maxicours-href href="[[ctrl.controllerData.connectorEndpoint]]" target="_blank" rel="noopener" i18n-title="maxicours-widget"> <i class="ic-maxicours"></i> </a> </p> </div> <div class="widget-body p-4" ng-if="ctrl.showWidget()" dnd-nodrag> <i class="ic-maxicours" ng-if="ctrl.controllerData.id < 0"></i> <p ng-if="ctrl.controllerData.id >= 0"> <a data-maxicours-href href="[[ctrl.controllerData.connectorEndpoint]]" target="_blank" rel="noopener" i18n-title="maxicours-widget" ng-if="ctrl.controllerData.id >= 0"> <i class="ic-maxicours"></i> </a> </p> <div ng-if="ctrl.loads"> <div class="widget-empty-message" translate content="loading"></div> </div> <div class="widget-empty-message" ng-if="!ctrl.loads && (!ctrl.controllerData.id || ctrl.controllerData.id < 0)"> <i18n>maxicours-widget.widget.inactive.user</i18n> <form class="mt-3" data-maxicours-action method="get"> <button class="btn btn-primary" ng-click="ctrl.initAuthProcess()" formtarget="_blank" rel="noopener" translate content="maxicours-widget.widget.connect"></button> </form> </div> <div ng-if="!ctrl.loads && ctrl.controllerData.id >= 0"> <div> <i18n>maxicours-widget.widget.my.points</i18n> : <span>[[ ctrl.controllerData.userInfo.activityScore ]]</span> </div> <div> <div ng-if="ctrl.controllerData.userInfo.hasSessionOfTheDay" class="mt-4"> <h4><a ng-href="[[ctrl.controllerData.userInfo.sessionOfTheDayUrl]]" target="_blank" rel="noopener"><i18n>maxicours-widget.widget.daily.session</i18n></a></h4> <ul ng-if="ctrl.controllerData.userInfo.hasSessionOfTheDay === \'true\'"> <li class="activity row border-top py-3 mx-1 align-items-center" ng-repeat="activity in ctrl.controllerData.userInfo.sessionOfTheDayActivities"> <div class="col-auto"> <img class="picto" ng-src="[[activity.picto]]"> </div> <div class="col-auto"> <strong>[[activity.title]]</strong> <p class="mb-0">[[activity.label]]</p> </div> </li> </ul> </div> <div ng-if="ctrl.controllerData.userInfo.newPersonnalCourses.length > 0"> <h4><i18n>maxicours-widget.widget.my.courses<i18n></i18n></i18n></h4> <ul> <li ng-repeat="course in ctrl.controllerData.userInfo.newPersonnalCourses"> <b> <a ng-href="[[course.url]]" target="_blank" rel="noopener">[[course.label]] ([[course.date]])</a> </b> </li> <li ng-repeat="course in ctrl.controllerData.userInfo.currentPersonnalCourses"> <a ng-href="[[course.url]]" target="_blank" rel="noopener">[[course.label]] ([[course.date]])</a> </li> </ul> </div> </div> </div> </div> </div>'},3132:function(t,e,o){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.odeModuleName=void 0;var r=i(o(4202)),n=o(9419),a=i(o(3336)),s=function(){function t(){this.controllerData={},this.loads=!1}return Object.defineProperty(t.prototype,"version",{get:function(){return(0,n.conf)().Platform.deploymentTag},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"me",{get:function(){return(0,n.session)().user},enumerable:!1,configurable:!0}),t.prototype.showWidget=function(){return"ELEVE"===this.me.type},t.prototype.loading=function(t){this.loads=t,this.apply&&this.apply()},t.prototype.authProcess=function(t){var e=this;this.getUserStatus().then((function(){return e.getUserInfo(t)}))},t.prototype.initAuthProcess=function(){var t=this,e=5;this.loading(!0);var o=function(){t.controllerData.id<0&&e-- >0?(t.authProcess(),setTimeout(o,2e3)):t.loading(!1)};setTimeout(o,2e3)},t.prototype.getConf=function(){var t=this;return(0,n.http)().get("/maxicours/conf",{queryParams:{_:this.version}}).then((function(e){if(200!==(0,n.http)().latestResponse.status)throw"Cannot get maxicours widget configuration.";Object.assign(t.controllerData,e),t.controllerData.connectorEndpoint&&((0,a.default)("[data-maxicours-action]").attr("action",t.controllerData.connectorEndpoint),(0,a.default)("[data-maxicours-href]").attr("href",t.controllerData.connectorEndpoint))})).catch((function(){console.log("HTTP error on /maxicours/conf. aide-aux-devoirs widget will not load.")}))},t.prototype.getUserStatus=function(){var t=this;return(0,n.http)().get("/maxicours/getUserStatus",{queryParams:{_:this.version}}).then((function(e){if(200!==(0,n.http)().latestResponse.status)throw"Cannot get maxicours user status.";var o=a.default.parseXML(e),i=(0,a.default)(o);t.controllerData.id=i.find("mxcId").text(),t.apply&&t.apply()})).catch((function(){console.log("HTTP error on /maxicours/getUserStatus. aide-aux-devoirs widget will not load.")}))},t.prototype.getUserInfo=function(t){var e=this;if(void 0===this.controllerData.id||"string"==typeof this.controllerData.id&&0===this.controllerData.id.trim().length||this.controllerData.id<0)return"function"==typeof t&&t(),Promise.resolve();(0,n.http)().get("/maxicours/getUserInfo/"+this.controllerData.id).then((function(t){if(200!==(0,n.http)().latestResponse.status)throw"Cannot get maxicours user info.";try{var o=a.default.parseXML(t),i=(0,a.default)(o),r=function(t,e,o){return(o?t.find(o).find(e):t.find(e)).text()},s=function(t){return(0,a.default)(t).children().toArray().map((function(t){for(var e={},o=(0,a.default)(t).children(),i=0;i<o.length;i++)e[o[i].nodeName]=o[i].textContent;return e}))};e.controllerData.userInfo={hasAnActiveAccount:r(i,"hasAnActiveAccount"),activityScore:r(i,"activityScore"),hasSessionOfTheDay:r(i,"hasSessionOfTheDay"),sessionOfTheDayUrl:r(i,"sessionOfTheDayUrl"),sessionOfTheDayActivities:s(i.find("sessionOfTheDayActivities")),hasPersonnalCourses:r(i,"hasPersonnalCourses"),newPersonnalCourses:s(i.find("newPersonnalCourses")),currentPersonnalCourses:s(i.find("currentPersonnalCourses"))},e.apply&&e.apply()}catch(t){console.log("Cannot parse maxicours user info.")}})).finally((function(){"function"==typeof t&&t()}))},t}(),c=function(){function t(){this.restrict="E",this.template=o(5541).Z,this.controller=[s],this.controllerAs="ctrl",this.require=["odeMaxicoursWidget"]}return t.prototype.link=function(t,e,o,i){var r=i?i[0]:null;r&&(r.apply=function(){t.$apply()},r.getConf().then((function(){return r.authProcess((function(){r.loading(!1),r.apply&&r.apply()}))})))},t}();(0,n.notif)().onLangReady().promise.then((function(t){(0,n.conf)().Platform.idiom.addKeys(o(841))})),e.odeModuleName="odeMaxicoursWidgetModule",r.default.module(e.odeModuleName,[]).directive("odeMaxicoursWidget",(function(){return new c}))},841:t=>{t.exports=JSON.parse('{"maxicours-widget":"Aide aux devoirs","maxicours-widget.widget.title":"Aide aux devoirs","maxicours-widget.widget.inactive.user":"Vous n\'êtes pas authentifié sur le service.","maxicours-widget.widget.connect":"Activer mon compte","maxicours-widget.widget.refresh":"Rafraîchir les informations","maxicours-widget.widget.my.points":"Mes points","maxicours-widget.widget.points":"pts","maxicours-widget.widget.daily.session":"Ma séance du jour","maxicours-widget.widget.my.courses":"Mes parcours à réaliser"}')}}]);
//# sourceMappingURL=maxicours-widget.widget.js.map

@@ -1,2 +0,2 @@

"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[820],{1058:(e,t,i)=>{i.d(t,{Z:()=>n});const n='<style>.widget-mediacentre .widget-body{max-height:300px;overflow:auto}.widget-mediacentre .widget-body .empty{display:flex;align-items:center;justify-content:center;padding:8px;font-style:italic}.widget-mediacentre .widget-body .resource-list{display:flex;flex-wrap:wrap}.widget-mediacentre .widget-body .resource-list-item{position:relative;width:25%;height:150px}.widget-mediacentre .widget-body .resource-list-item a{display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background-color .8s cubic-bezier(.25,.46,.45,.94);position:relative;margin:1px;padding:0 8px;color:unset;text-decoration:none;background:#fafafa;height:99%;width:auto}.widget-mediacentre .widget-body .resource-list-item a:hover{background-color:#fff;color:#ff8d2e;cursor:pointer}.widget-mediacentre .widget-body .resource-list-item .picture{height:80%;display:flex;align-items:center;justify-content:center}.widget-mediacentre .widget-body .resource-list-item .picture img{max-height:100%;max-width:100%}.widget-mediacentre .widget-body .resource-list-item .title{height:20%;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-mediacentre #universalis-container .widget-body{padding:10px 0}.widget-mediacentre #universalis-container .widget-empty-message{display:flex;align-items:center;justify-content:space-between;padding:12px}.widget-mediacentre #universalis-container .widget-empty-message:first-child,.widget-mediacentre #universalis-container form{max-height:40px}.widget-mediacentre #universalis-container .widget-empty-message form *,.widget-mediacentre #universalis-container .widget-empty-message:first-child *{max-height:inherit}.widget-mediacentre #universalis-container img{width:auto}.widget-mediacentre #universalis-container form{width:90%}.widget-mediacentre #universalis-container form .input-group input#inputUniversalisQ{height:30px}.widget-mediacentre #universalis-container form .input-group button{padding:0 8px}</style> <div class="widget-mediacentre"> <div class="widget-header"> <div class="subtitle"> <a class="seemore" href="/mediacentre" i18n-title="mediacentre.widget.more" dnd-nodrag ng-click="trackEvent($event, {detail:{\'open\':\'more\'} })"> <i18n>mediacentre.widget.title</i18n> <span class="seemore-text"><i18n>mediacentre.widget.more</i18n></span> </a> </div> <div class="widget-options"> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body" dnd-nodrag> <ul class="resource-list" ng-if="ctrl.resources.length > 0"> <li class="resource-list-item" ng-repeat="resource in ctrl.resources" title="[[resource.title]]"> <a ng-href="[[resource.link]]"> <div class="picture"><img skin-src="[[resource.image]]" alt="[[resource.title]]"/></div> <div class="title">[[resource.title]]</div> </a> </li> </ul> <div class="empty" ng-if="ctrl.resources.length <= 0"> <i18n>mediacentre.widget.empty</i18n> </div> </div> <div class="widget-footer border-top border-ghost" ng-if="ctrl.hasUniversalis"> <div id="universalis-container"> <div class="widget-body"> <div class="widget-empty-message"> <div class="row row-cols-1 align-items-center"> <div class="mb-3"> <a href="http://www.universalis-edu.com" target="_blank" rel="noopener" ng-click="trackEvent($event, {detail:{\'open\':\'universalis\'} })"> <img src="/assets/widgets/mediacentre-widget/universalis.png" width="75" alt="Universalis"> </a> </div> </div> <form method="GET" action="https://www.universalis-edu.com/nomade/precherche/" target="_blank" autocomplete="off"> <div class="row row-cols-1 align-items-center"> <label class="sr-only" for="inputUniversalisQ" translate content="{{ctrl.selectedSchool.UAI == null ? \'mediacentre.widget.universalis.no.uai\' : \'mediacentre.widget.universalis.search\'}}"></label> <div class="input-group mb-2"> <input type="text" id="inputUniversalisQ" class="form-control" name="q" maxlen gth="255" i18n-placeholder="{{ctrl.selectedSchool.UAI == null ? \'mediacentre.widget.universalis.no.uai\' : \'mediacentre.widget.universalis.search\'}}" ng-disabled="ctrl.selectedSchool.UAI == null"/> <input type="hidden" name="r" value="www"/> <input type="hidden" name="uai" value="{{ctrl.selectedSchool.UAI}}"/> <button class="btn btn-outline-secondary" ng-class="{\'disabled\': ctrl.selectedSchool.UAI == null}" aria-labelledby="inputUniversalisQ" ng-click="trackEvent($event, {detail:{\'search\':\'launch\'} })"> <i class="ic-search"></i> </button> </div> </div> </form> </div> </div> </div> </div> </div>'},5116:function(e,t,i){var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var i,n,r,s,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;o;)try{if(i=1,n&&(r=2&s[0]?n.return:s[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,s[1])).done)return r;switch(n=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,n=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(r=o.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){o.label=s[1];break}if(6===s[0]&&o.label<r[1]){o.label=r[1],r=s;break}if(r&&o.label<r[2]){o.label=r[2],o.ops.push(s);break}r[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],n=0}finally{i=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var o=s(i(4202)),a=i(9419),c=i(5262),l=function(){function e(){var e=this;this.resources=[],this.limitResources=4,this.hasUniversalis=!1,this.initResources=function(){return n(e,void 0,void 0,(function(){return r(this,(function(e){switch(e.label){case 0:return[4,this.initResourcesFavorites()];case 1:return e.sent(),[4,this.initSignetFavorites()];case 2:return e.sent(),[4,this.hasUniversalisResource()];case 3:return e.sent(),this.resources.length>this.limitResources&&(this.resources=this.resources.slice(0,this.limitResources)),[2]}}))}))},this.fetchFavorites=function(t){return n(e,void 0,void 0,(function(){var e,i,n;return r(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,a.http().get(t)];case 1:return"ok"===(e=r.sent()).status&&e&&e.data&&e.data.length>0&&(i=e.data,this.resources=this.resources.concat(i)),[3,3];case 2:throw n=r.sent(),console.warn("[widget.mediacentre] Failed to fetch favorites : ",n),n;case 3:return[2]}}))}))},this.initResourcesFavorites=function(){return n(e,void 0,void 0,(function(){var e;return r(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.fetchFavorites("/mediacentre/favorites")];case 1:return t.sent(),[3,3];case 2:throw e=t.sent(),console.warn("[widget.mediacentre] Failed to initResourcesFavorites : ",e),e;case 3:return[2]}}))}))},this.initSignetFavorites=function(){return n(e,void 0,void 0,(function(){var e;return r(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.fetchFavorites("/mediacentre/signets/favorites")];case 1:return t.sent(),[3,3];case 2:throw e=t.sent(),console.warn("[widget.mediacentre] Failed to initSignetFavorites : ",e),e;case 3:return[2]}}))}))},this.hasUniversalisResource=function(){return n(e,void 0,void 0,(function(){var e,t;return r(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,a.http().get("/mediacentre/resource/universalis")];case 1:return e=i.sent(),this.hasUniversalis=!!e,[3,3];case 2:throw t=i.sent(),console.warn("[widget.mediacentre] Failed to check exitence of universalis resource: ",t),t;case 3:return[2]}}))}))}}return Object.defineProperty(e.prototype,"description",{get:function(){return a.session().description},enumerable:!1,configurable:!0}),e.prototype.initializeUniversalis=function(){var e,t;return n(this,void 0,void 0,(function(){var i,n=this;return r(this,(function(r){switch(r.label){case 0:return this.hasUniversalis?(this._userPref=null===(e=c.WidgetFrameworkFactory.instance().list.find((function(e){return e.platformConf.name===c.WIDGET_NAME.MEDIACENTRE})))||void 0===e?void 0:e.userPref,[4,a.notif().onSessionReady().promise]):[2];case 1:return r.sent(),i=0,(null===(t=this._userPref)||void 0===t?void 0:t.schoolId)&&o.default.isArray(this.description.schools)&&(i=this.description.schools.findIndex((function(e){var t;return e.id===(null===(t=n._userPref)||void 0===t?void 0:t.schoolId)})),i<0&&(i=0)),this.setSelectedSchool(i),[2]}}))}))},e.prototype.setSelectedSchool=function(e){return 0<=e&&e<this.description.schools.length&&this.selectedSchool!==this.description.schools[e]&&(this.selectedSchool=this.description.schools[e],!0)},e}(),d=function(){function e(e){this.$compile=e,this.restrict="E",this.template=i(1058).Z,this.scope={},this.bindToController=!0,this.controller=[l],this.controllerAs="ctrl",this.require=["odeMediacentreWidget"]}return e.prototype.link=function(e,t,i,s){return n(this,void 0,void 0,(function(){var t;return r(this,(function(i){switch(i.label){case 0:return(t=s?s[0]:null)?[4,t.initResources()]:[2];case 1:return i.sent(),[4,t.initializeUniversalis()];case 2:return i.sent(),e.$apply(),e.trackEvent=function(e,t){var i;void 0===t.bubbles&&(t.bubbles=!0);var n=null;t&&"more"===(null===(i=t.detail)||void 0===i?void 0:i.open)&&(n=new CustomEvent(a.TrackedActionFromWidget.mediacentre,t)),n&&e.currentTarget&&e.currentTarget.dispatchEvent(n)},[2]}}))}))},e}();function u(e){return new d(e)}u.$inject=["$compile"],a.notif().onLangReady().promise.then((function(e){a.conf().Platform.idiom.addKeys(i(3948))})),t.odeModuleName="odeMediacentreWidgetModule",o.default.module(t.odeModuleName,[]).directive("odeMediacentreWidget",u)},3948:e=>{e.exports=JSON.parse('{"mediacentre-widget":"Mes favoris Médiacentre","mediacentre.widget.title":"Mes favoris Médiacentre","mediacentre.widget.more":"voir plus","mediacentre.widget.empty":"Aucune ressource favorite","mediacentre.widget.universalis.no.uai":"UAI non renseigné","mediacentre.widget.universalis.search":"Rechercher dans Universalis"}')}}]);
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[820],{1058:(e,t,i)=>{i.d(t,{Z:()=>n});const n='<style>.widget-mediacentre .widget-body{max-height:300px;overflow:auto}.widget-mediacentre .widget-body .empty{display:flex;align-items:center;justify-content:center;padding:8px;font-style:italic}.widget-mediacentre .widget-body .resource-list{display:flex;flex-wrap:wrap}.widget-mediacentre .widget-body .resource-list-item{position:relative;width:25%;height:150px}.widget-mediacentre .widget-body .resource-list-item a{display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background-color .8s cubic-bezier(.25,.46,.45,.94);position:relative;margin:1px;padding:0 8px;color:unset;text-decoration:none;background:#fafafa;height:99%;width:auto}.widget-mediacentre .widget-body .resource-list-item a:hover{background-color:#fff;color:#ff8d2e;cursor:pointer}.widget-mediacentre .widget-body .resource-list-item .picture{height:80%;display:flex;align-items:center;justify-content:center}.widget-mediacentre .widget-body .resource-list-item .picture img{max-height:100%;max-width:100%}.widget-mediacentre .widget-body .resource-list-item .title{height:20%;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-mediacentre #universalis-container .widget-body{padding:10px 0}.widget-mediacentre #universalis-container .widget-empty-message{display:flex;align-items:center;justify-content:space-between;padding:12px}.widget-mediacentre #universalis-container .widget-empty-message:first-child,.widget-mediacentre #universalis-container form{max-height:40px}.widget-mediacentre #universalis-container .widget-empty-message form *,.widget-mediacentre #universalis-container .widget-empty-message:first-child *{max-height:inherit}.widget-mediacentre #universalis-container img{width:auto}.widget-mediacentre #universalis-container form{width:90%}.widget-mediacentre #universalis-container form .input-group input#inputUniversalisQ{height:30px}.widget-mediacentre #universalis-container form .input-group button{padding:0 8px}</style> <div class="widget-mediacentre"> <div class="widget-header"> <div class="subtitle"> <a class="seemore" href="/mediacentre" i18n-title="mediacentre.widget.more" dnd-nodrag ng-click="trackEvent($event, {detail:{\'open\':\'more\'} })"> <i18n>mediacentre.widget.title</i18n> <span class="seemore-text"><i18n>mediacentre.widget.more</i18n></span> </a> </div> <div class="widget-options"> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body" dnd-nodrag> <ul class="resource-list" ng-if="ctrl.resources.length > 0"> <li class="resource-list-item" ng-repeat="resource in ctrl.resources" title="[[resource.title]]"> <a ng-href="[[resource.link]]"> <div class="picture"><img skin-src="[[resource.image]]" alt="[[resource.title]]"/></div> <div class="title">[[resource.title]]</div> </a> </li> </ul> <div class="empty" ng-if="ctrl.resources.length <= 0"> <i18n>mediacentre.widget.empty</i18n> </div> </div> <div class="widget-footer border-top border-ghost" ng-if="ctrl.hasUniversalis"> <div id="universalis-container"> <div class="widget-body"> <div class="widget-empty-message"> <div class="row row-cols-1 align-items-center"> <div class="mb-3"> <a href="http://www.universalis-edu.com" target="_blank" rel="noopener" ng-click="trackEvent($event, {detail:{\'open\':\'universalis\'} })"> <img src="/assets/widgets/mediacentre-widget/universalis.png" width="75" alt="Universalis"> </a> </div> </div> <form method="GET" action="https://www.universalis-edu.com/nomade/precherche/" target="_blank" autocomplete="off"> <div class="row row-cols-1 align-items-center"> <label class="sr-only" for="inputUniversalisQ" translate content="{{ctrl.selectedSchool.UAI == null ? \'mediacentre.widget.universalis.no.uai\' : \'mediacentre.widget.universalis.search\'}}"></label> <div class="input-group mb-2"> <input type="text" id="inputUniversalisQ" class="form-control" name="q" maxlen gth="255" i18n-placeholder="{{ctrl.selectedSchool.UAI == null ? \'mediacentre.widget.universalis.no.uai\' : \'mediacentre.widget.universalis.search\'}}" ng-disabled="ctrl.selectedSchool.UAI == null"/> <input type="hidden" name="r" value="www"/> <input type="hidden" name="uai" value="{{ctrl.selectedSchool.UAI}}"/> <button class="btn btn-outline-secondary" ng-class="{\'disabled\': ctrl.selectedSchool.UAI == null}" aria-labelledby="inputUniversalisQ" ng-click="trackEvent($event, {detail:{\'search\':\'launch\'} })"> <i class="ic-search"></i> </button> </div> </div> </form> </div> </div> </div> </div> </div>'},5116:function(e,t,i){var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))((function(r,s){function o(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var i,n,r,s,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;o;)try{if(i=1,n&&(r=2&s[0]?n.return:s[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,s[1])).done)return r;switch(n=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,n=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(r=o.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){o.label=s[1];break}if(6===s[0]&&o.label<r[1]){o.label=r[1],r=s;break}if(r&&o.label<r[2]){o.label=r[2],o.ops.push(s);break}r[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],n=0}finally{i=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var o=s(i(4202)),a=i(9419),c=i(5262),l=function(){function e(){var e=this;this.resources=[],this.limitResources=4,this.hasUniversalis=!1,this.initResources=function(){return n(e,void 0,void 0,(function(){return r(this,(function(e){switch(e.label){case 0:return[4,this.initResourcesFavorites()];case 1:return e.sent(),[4,this.initSignetFavorites()];case 2:return e.sent(),[4,this.hasUniversalisResource()];case 3:return e.sent(),this.resources.length>this.limitResources&&(this.resources=this.resources.slice(0,this.limitResources)),[2]}}))}))},this.fetchFavorites=function(t){return n(e,void 0,void 0,(function(){var e,i,n;return r(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,(0,a.http)().get(t)];case 1:return"ok"===(e=r.sent()).status&&e&&e.data&&e.data.length>0&&(i=e.data,this.resources=this.resources.concat(i)),[3,3];case 2:throw n=r.sent(),console.warn("[widget.mediacentre] Failed to fetch favorites : ",n),n;case 3:return[2]}}))}))},this.initResourcesFavorites=function(){return n(e,void 0,void 0,(function(){var e;return r(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.fetchFavorites("/mediacentre/favorites")];case 1:return t.sent(),[3,3];case 2:throw e=t.sent(),console.warn("[widget.mediacentre] Failed to initResourcesFavorites : ",e),e;case 3:return[2]}}))}))},this.initSignetFavorites=function(){return n(e,void 0,void 0,(function(){var e;return r(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.fetchFavorites("/mediacentre/signets/favorites")];case 1:return t.sent(),[3,3];case 2:throw e=t.sent(),console.warn("[widget.mediacentre] Failed to initSignetFavorites : ",e),e;case 3:return[2]}}))}))},this.hasUniversalisResource=function(){return n(e,void 0,void 0,(function(){var e,t;return r(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,(0,a.http)().get("/mediacentre/resource/universalis")];case 1:return e=i.sent(),this.hasUniversalis=!!e,[3,3];case 2:throw t=i.sent(),console.warn("[widget.mediacentre] Failed to check exitence of universalis resource: ",t),t;case 3:return[2]}}))}))}}return Object.defineProperty(e.prototype,"description",{get:function(){return(0,a.session)().description},enumerable:!1,configurable:!0}),e.prototype.initializeUniversalis=function(){var e,t;return n(this,void 0,void 0,(function(){var i,n=this;return r(this,(function(r){switch(r.label){case 0:return this.hasUniversalis?(this._userPref=null===(e=c.WidgetFrameworkFactory.instance().list.find((function(e){return e.platformConf.name===c.WIDGET_NAME.MEDIACENTRE})))||void 0===e?void 0:e.userPref,[4,(0,a.notif)().onSessionReady().promise]):[2];case 1:return r.sent(),i=0,(null===(t=this._userPref)||void 0===t?void 0:t.schoolId)&&o.default.isArray(this.description.schools)&&(i=this.description.schools.findIndex((function(e){var t;return e.id===(null===(t=n._userPref)||void 0===t?void 0:t.schoolId)})),i<0&&(i=0)),this.setSelectedSchool(i),[2]}}))}))},e.prototype.setSelectedSchool=function(e){return 0<=e&&e<this.description.schools.length&&this.selectedSchool!==this.description.schools[e]&&(this.selectedSchool=this.description.schools[e],!0)},e}(),d=function(){function e(e){this.$compile=e,this.restrict="E",this.template=i(1058).Z,this.scope={},this.bindToController=!0,this.controller=[l],this.controllerAs="ctrl",this.require=["odeMediacentreWidget"]}return e.prototype.link=function(e,t,i,s){return n(this,void 0,void 0,(function(){var t;return r(this,(function(i){switch(i.label){case 0:return(t=s?s[0]:null)?[4,t.initResources()]:[2];case 1:return i.sent(),[4,t.initializeUniversalis()];case 2:return i.sent(),e.$apply(),e.trackEvent=function(e,t){var i;void 0===t.bubbles&&(t.bubbles=!0);var n=null;t&&"more"===(null===(i=t.detail)||void 0===i?void 0:i.open)&&(n=new CustomEvent(a.TrackedActionFromWidget.mediacentre,t)),n&&e.currentTarget&&e.currentTarget.dispatchEvent(n)},[2]}}))}))},e}();function u(e){return new d(e)}u.$inject=["$compile"],(0,a.notif)().onLangReady().promise.then((function(e){(0,a.conf)().Platform.idiom.addKeys(i(3948))})),t.odeModuleName="odeMediacentreWidgetModule",o.default.module(t.odeModuleName,[]).directive("odeMediacentreWidget",u)},3948:e=>{e.exports=JSON.parse('{"mediacentre-widget":"Mes favoris Médiacentre","mediacentre.widget.title":"Mes favoris Médiacentre","mediacentre.widget.more":"voir plus","mediacentre.widget.empty":"Aucune ressource favorite","mediacentre.widget.universalis.no.uai":"UAI non renseigné","mediacentre.widget.universalis.search":"Rechercher dans Universalis"}')}}]);
//# sourceMappingURL=mediacentre-widget.widget.js.map

@@ -1,2 +0,2 @@

"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[649],{5052:(e,t,i)=>{i.d(t,{Z:()=>n});const n='<div class="widget-applications"> <div class="widget-header"> <div class="subtitle"><i18n>my-apps.widget.title</i18n></div> <div class="widget-options"> <div class="widget-handle"><i class="fas fa-grip-vertical"></i></div> </div> </div> <div class="widget-body" dnd-nodrag> <div class="widget-empty-message link" ng-if="ctrl.apps.length===0"> <a href="/welcome" ng-click="trackEvent($event, {detail:{\'open\':\'more\'} })"> <i18n>my-apps.widget.more</i18n> </a> </div> <ul class="icon-grid" ng-if="ctrl.apps.length>0"> <li class="icon-grid-item" ng-repeat="app in ctrl.apps"> <a connector-lightbox-trigger="app" ng-href="[[app.address]]" ng-click="trackEvent($event, {detail:{\'open\':\'app\', \'app\':app} })" aria-label="[[app.displayName]]" target="[[app.target]]" rel="noopener" i18n-title="[[app.displayName]]" ng-switch="app.icon.indexOf(\'/\')"> <i ng-class="ctrl.getIconClass(app)" ng-switch-when="-1"></i> <img skin-src="[[app.icon]]" ng-switch-default alt="[[app.displayName]]"/> </a> </li> </ul> </div> <div class="widget-footer border-top border-ghost" ng-if="ctrl.apps.length!==0"> <div class="widget-footer-action"> <a class="link" href="/welcome" ng-click="trackEvent($event, {detail:{\'open\':\'more\'} })"> <i18n>my-apps.widget.options</i18n> </a> </div> </div> </div>'},1204:function(e,t,i){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var o=n(i(4202)),a=i(9419),p=function(){function e(e){this.themeSvc=e,this.apps=[]}return e.prototype.redirect=function(e){window.location.href=e},e.prototype.getIconClass=function(e){var t=this.themeSvc.getIconCode(e);return"ic-app-"+t+" color-app-"+t},e}(),s=function(){function e(){this.restrict="E",this.template=i(5052).Z,this.controller=["odeThemeHelperService",p],this.controllerAs="ctrl",this.require=["odeMyApps"]}return e.prototype.link=function(e,t,i,n){var o=n?n[0]:null;o&&(a.notif().onSessionReady().promise.then((function(){o.apps=a.conf().User.bookmarkedApps,e.$apply()})),e.trackEvent=function(e,t){var i,n;void 0===t.bubbles&&(t.bubbles=!0);var o=null;(t&&"app"===(null===(i=t.detail)||void 0===i?void 0:i.open)||t&&"more"===(null===(n=t.detail)||void 0===n?void 0:n.open))&&(o=new CustomEvent(a.TrackedActionFromWidget.myApps,t)),o&&e.currentTarget&&e.currentTarget.dispatchEvent(o)})},e}();a.notif().onLangReady().promise.then((function(e){a.conf().Platform.idiom.addKeys(i(4865))})),t.odeModuleName="odeMyAppsModule",o.default.module(t.odeModuleName,[]).directive("odeMyApps",(function(){return new s}))},4865:e=>{e.exports=JSON.parse('{"my-apps.widget.title":"Mes applis","my-apps.widget.options":"Plus","my-apps.widget.more":"Sélectionner vos applications favorites"}')}}]);
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[649],{5052:(e,t,i)=>{i.d(t,{Z:()=>n});const n='<div class="widget-applications"> <div class="widget-header"> <div class="subtitle"><i18n>my-apps.widget.title</i18n></div> <div class="widget-options"> <div class="widget-handle"><i class="fas fa-grip-vertical"></i></div> </div> </div> <div class="widget-body" dnd-nodrag> <div class="widget-empty-message link" ng-if="ctrl.apps.length===0"> <a href="/welcome" ng-click="trackEvent($event, {detail:{\'open\':\'more\'} })"> <i18n>my-apps.widget.more</i18n> </a> </div> <ul class="icon-grid" ng-if="ctrl.apps.length>0"> <li class="icon-grid-item" ng-repeat="app in ctrl.apps"> <a connector-lightbox-trigger="app" ng-href="[[app.address]]" ng-click="trackEvent($event, {detail:{\'open\':\'app\', \'app\':app} })" aria-label="[[app.displayName]]" target="[[app.target]]" rel="noopener" i18n-title="[[app.displayName]]" ng-switch="app.icon.indexOf(\'/\')"> <i ng-class="ctrl.getIconClass(app)" ng-switch-when="-1"></i> <img skin-src="[[app.icon]]" ng-switch-default alt="[[app.displayName]]"/> </a> </li> </ul> </div> <div class="widget-footer border-top border-ghost" ng-if="ctrl.apps.length!==0"> <div class="widget-footer-action"> <a class="link" href="/welcome" ng-click="trackEvent($event, {detail:{\'open\':\'more\'} })"> <i18n>my-apps.widget.options</i18n> </a> </div> </div> </div>'},1204:function(e,t,i){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var o=n(i(4202)),a=i(9419),p=function(){function e(e){this.themeSvc=e,this.apps=[]}return e.prototype.redirect=function(e){window.location.href=e},e.prototype.getIconClass=function(e){var t=this.themeSvc.getIconCode(e);return"ic-app-".concat(t," color-app-").concat(t)},e}(),s=function(){function e(){this.restrict="E",this.template=i(5052).Z,this.controller=["odeThemeHelperService",p],this.controllerAs="ctrl",this.require=["odeMyApps"]}return e.prototype.link=function(e,t,i,n){var o=n?n[0]:null;o&&((0,a.notif)().onSessionReady().promise.then((function(){o.apps=(0,a.conf)().User.bookmarkedApps,e.$apply()})),e.trackEvent=function(e,t){var i,n;void 0===t.bubbles&&(t.bubbles=!0);var o=null;(t&&"app"===(null===(i=t.detail)||void 0===i?void 0:i.open)||t&&"more"===(null===(n=t.detail)||void 0===n?void 0:n.open))&&(o=new CustomEvent(a.TrackedActionFromWidget.myApps,t)),o&&e.currentTarget&&e.currentTarget.dispatchEvent(o)})},e}();(0,a.notif)().onLangReady().promise.then((function(e){(0,a.conf)().Platform.idiom.addKeys(i(4865))})),t.odeModuleName="odeMyAppsModule",o.default.module(t.odeModuleName,[]).directive("odeMyApps",(function(){return new s}))},4865:e=>{e.exports=JSON.parse('{"my-apps.widget.title":"Mes applis","my-apps.widget.options":"Plus","my-apps.widget.more":"Sélectionner vos applications favorites"}')}}]);
//# sourceMappingURL=my-apps.widget.js.map

@@ -1,2 +0,2 @@

"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[165],{8265:(t,e,n)=>{n.d(e,{Z:()=>a});const a=' <style>.widget-qwant .widget-header{border:0}.widget-qwant .widget-body img{margin:auto}</style> <div class="widget-qwant"> <div class="widget-header"> <div class="widget-options"> <div class="widget-handle"><i class="fas fa-grip-vertical"></i></div> </div> </div> <div class="widget-body" dnd-nodrag> <div class="widget-empty-message"> <div class="row row-cols-1 align-items-center"> <div class="mb-12"> <a href="https://www.qwant.com" target="_blank" rel="noopener" ng-click="trackEvent($event, {detail:{\'open\':\'qwant\'} })"> <img src="/assets/widgets/qwant/logo-qwant.svg" width="77" height="75" alt="Qwant"> </a> </div> </div> <form method="GET" target="_blank" action="https://www.qwant.com" autocomplete="off"> <div class="row row-cols-1 align-items-center"> <label class="sr-only" for="inputQwantQ" translate content="search"></label> <div class="input-group mb-2"> <input type="text" id="inputQwantQ" class="form-control" name="q" maxlength="255" i18n-placeholder="search"/> <input type="hidden" name="l" value="fr"/> <button class="btn btn-outline-secondary" aria-labelledby="inputQwantQ" ng-click="trackEvent($event, {detail:{\'search\':\'launch\'} })"> <i class="ic-search"></i> </button> </div> </div> </form> </div> </div> </div>'},3399:function(t,e,n){var a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.odeModuleName=void 0;var i=a(n(4202)),o=n(9419),d=function(){function t(){this.restrict="E",this.template=n(8265).Z}return t.prototype.link=function(t){t.trackEvent=function(t,e){var n,a;void 0===e.bubbles&&(e.bubbles=!0);var i=null;!e||"qwant"!==(null===(n=e.detail)||void 0===n?void 0:n.open)&&"string"!=typeof(null===(a=e.detail)||void 0===a?void 0:a.search)||(i=new CustomEvent(o.TrackedActionFromWidget.qwant,e)),i&&t.currentTarget&&t.currentTarget.dispatchEvent(i)}},t}();o.notif().onLangReady().promise.then((function(t){o.conf().Platform.idiom.addKeys(n(2467))})),e.odeModuleName="odeQwantModule",i.default.module(e.odeModuleName,[]).directive("odeQwant",(function(){return new d}))},2467:t=>{t.exports=JSON.parse('{"qwant-widget.widget.title":"Qwant","qwant-junior":"QwantJunior","qwant":"Qwant"}')}}]);
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[165],{8265:(t,e,n)=>{n.d(e,{Z:()=>a});const a=' <style>.widget-qwant .widget-header{border:0}.widget-qwant .widget-body img{margin:auto}</style> <div class="widget-qwant"> <div class="widget-header"> <div class="widget-options"> <div class="widget-handle"><i class="fas fa-grip-vertical"></i></div> </div> </div> <div class="widget-body" dnd-nodrag> <div class="widget-empty-message"> <div class="row row-cols-1 align-items-center"> <div class="mb-12"> <a href="https://www.qwant.com" target="_blank" rel="noopener" ng-click="trackEvent($event, {detail:{\'open\':\'qwant\'} })"> <img src="/assets/widgets/qwant/logo-qwant.svg" width="77" height="75" alt="Qwant"> </a> </div> </div> <form method="GET" target="_blank" action="https://www.qwant.com" autocomplete="off"> <div class="row row-cols-1 align-items-center"> <label class="sr-only" for="inputQwantQ" translate content="search"></label> <div class="input-group mb-2"> <input type="text" id="inputQwantQ" class="form-control" name="q" maxlength="255" i18n-placeholder="search"/> <input type="hidden" name="l" value="fr"/> <button class="btn btn-outline-secondary" aria-labelledby="inputQwantQ" ng-click="trackEvent($event, {detail:{\'search\':\'launch\'} })"> <i class="ic-search"></i> </button> </div> </div> </form> </div> </div> </div>'},3399:function(t,e,n){var a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.odeModuleName=void 0;var i=a(n(4202)),o=n(9419),d=function(){function t(){this.restrict="E",this.template=n(8265).Z}return t.prototype.link=function(t){t.trackEvent=function(t,e){var n,a;void 0===e.bubbles&&(e.bubbles=!0);var i=null;!e||"qwant"!==(null===(n=e.detail)||void 0===n?void 0:n.open)&&"string"!=typeof(null===(a=e.detail)||void 0===a?void 0:a.search)||(i=new CustomEvent(o.TrackedActionFromWidget.qwant,e)),i&&t.currentTarget&&t.currentTarget.dispatchEvent(i)}},t}();(0,o.notif)().onLangReady().promise.then((function(t){(0,o.conf)().Platform.idiom.addKeys(n(2467))})),e.odeModuleName="odeQwantModule",i.default.module(e.odeModuleName,[]).directive("odeQwant",(function(){return new d}))},2467:t=>{t.exports=JSON.parse('{"qwant-widget.widget.title":"Qwant","qwant-junior":"QwantJunior","qwant":"Qwant"}')}}]);
//# sourceMappingURL=qwant-widget.widget.js.map

@@ -1,2 +0,2 @@

"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[932],{7072:(e,d,i)=>{i.d(d,{Z:()=>t});const t=' <div class="widget-record"> <div class="widget-header"> <div class="subtitle"><i18n>record-me.widget.title</i18n></div> <div class="widget-options"> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body flex-wrap justify-content-center" ode-recorder dnd-nodrag></div> </div> '},1317:function(e,d,i){var t=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(d,"__esModule",{value:!0}),d.odeModuleName=void 0;var o=t(i(4202)),r=i(9419),s=function(){this.restrict="E",this.template=i(7072).Z};r.notif().onLangReady().promise.then((function(e){r.conf().Platform.idiom.addKeys(i(6299))})),d.odeModuleName="odeRecordMeModule",o.default.module(d.odeModuleName,[]).directive("odeRecordMe",(function(){return new s}))},6299:e=>{e.exports=JSON.parse('{"record-me.widget.title":"Le studio"}')}}]);
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[932],{7072:(e,d,i)=>{i.d(d,{Z:()=>t});const t=' <div class="widget-record"> <div class="widget-header"> <div class="subtitle"><i18n>record-me.widget.title</i18n></div> <div class="widget-options"> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body flex-wrap justify-content-center" ode-recorder dnd-nodrag></div> </div> '},1317:function(e,d,i){var t=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(d,"__esModule",{value:!0}),d.odeModuleName=void 0;var o=t(i(4202)),r=i(9419),s=function(){this.restrict="E",this.template=i(7072).Z};(0,r.notif)().onLangReady().promise.then((function(e){(0,r.conf)().Platform.idiom.addKeys(i(6299))})),d.odeModuleName="odeRecordMeModule",o.default.module(d.odeModuleName,[]).directive("odeRecordMe",(function(){return new s}))},6299:e=>{e.exports=JSON.parse('{"record-me.widget.title":"Le studio"}')}}]);
//# sourceMappingURL=record-me.widget.js.map

@@ -1,2 +0,2 @@

"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[390],{4643:(e,t,i)=>{i.d(t,{Z:()=>n});const n=' <div class="widget-rss"> <div class="widget-header"> <div class="subtitle"><i18n>rss-widget.widget.title</i18n></div> <div class="widget-options"> <div class="tools"> <a href="#" class="tool tool-option" i18n-title="rss-widget.widget.channel.config" ng-if="ctrl.canAddFeed" ng-click="ctrl.display.edition = true"> <i class="fas fa-cog"></i> </a> </div> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body" dnd-nodrag> <div class="widget-empty-message link" ng-click="ctrl.display.edition = true" ng-if="ctrl.channel===undefined || ctrl.channel.feeds.length === 0"> <i18n>rss-widget.widget.empty.info</i18n> </div> <div class="widget-empty-message link" ng-if="ctrl.channel && ctrl.channel.feeds.length > 0 && ctrl.feeds.length === 0"> <i18n>rss-widget.widget.channel.feed.no.result</i18n> </div> <div class="rss-feed" ng-if="ctrl.feeds !== undefined" ng-repeat="feed in ctrl.feeds track by $index"> <div class="feed-title" ng-click="ctrl.showOrHideFeed($index)">[[feed.title]]</div> <ul class="list" ng-show="ctrl.display.selectedFeed === [[$index]]"> <li class="item link" ng-repeat="item in feed.Items track by $index"> <a href="[[item.link]]" target="_blank" rel="noopener" ng-click="trackEvent($event, {detail:{\'open\':item.link} })"> <div class="title">[[item.title]]</div> <div class="meta">[[ctrl.formatDate(item.pubDate)]]</div> <div class="meta" ng-bind-html="item.description"></div> </a> </li> </ul> </div> </div> </div> <ode-modal visible="ctrl.display.edition" on-close="ctrl.display.edition = false" dnd-nodrag> <ode-modal-title> <i18n ng-if="!ctrl.display.feedEdition">rss-widget.widget.channel.feed.list</i18n> <i18n ng-if="ctrl.display.feedEdition">rss-widget.widget.channel.feed.edit</i18n> </ode-modal-title> <ode-modal-body> <div ng-if="!ctrl.display.feedEdition"> <p ng-if="ctrl.channel.feeds.length === 0"><i18n>rss-widget.widget.channel.undefined</i18n></p> <table class="table table-hover" ng-if="ctrl.channel.feeds.length > 0"> <thead> <tr class="bg-secondary text-light"> <th><i18n>rss-widget.widget.channel.feed.title</i18n></th> <th><i18n>rss-widget.widget.channel.feed.show</i18n></th> <th></th> </tr> </thead> <tbody> <tr class="c-pointer" ng-repeat="feed in ctrl.channel.feeds track by $index" ng-class="{ \'table-active\' : ctrl.display.feedEdition && $index === ctrl.selectedFeedIndex }"> <td ng-click="ctrl.openFeedEdition($index)">[[ctrl.channel.feeds[$index].title]]</td> <td ng-click="ctrl.openFeedEdition($index)">[[ctrl.channel.feeds[$index].show]]</td> <td ng-click="ctrl.removeFeed($index)"> <button type="button" class="btn-close" aria-label="Close"></button> </td> </tr> </tbody> </table> </div> <form autocomplete="off" id="formFeedEdition" ng-if="ctrl.display.feedEdition"> <div class="form-group row"> <label for="inputFeedTitle" class="col-sm-4 col-form-label"><i18n>rss-widget.widget.channel.feed.title</i18n></label> <div class="col-sm-8"> <input type="text" i18n-placeholder="rss-widget.widget.channel.feed.title.placeholder" id="inputFeedTitle" class="form-control" ng-model="ctrl.selectedFeed.title"/> </div> </div> <div class="form-group row mt-3"> <label for="inputFeedUrl" class="col-sm-4 col-form-label"><i18n>rss-widget.widget.channel.feed.url</i18n></label> <div class="col-sm-8"> <input type="text" i18n-placeholder="rss-widget.widget.channel.feed.url.placeholder" id="inputFeedUrl" class="form-control" ng-model="ctrl.selectedFeed.link"/> </div> </div> <div class="form-group row mt-3"> <label for="inputFeedShow" class="col-sm-4 col-form-label"><i18n>rss-widget.widget.channel.feed.show</i18n></label> <div class="col-sm-8"> <select id="inputFeedShow" class="form-control" ng-options="n for n in ctrl.showValues" ng-model="ctrl.selectedFeed.show"></select> </div> </div> </form> </ode-modal-body> <ode-modal-footer> <div ng-if="!ctrl.display.feedEdition && ctrl.canAddFeed"> <button class="btn btn-primary" ng-click="ctrl.openFeedEdition()" translate content="rss-widget.widget.channel.feed.add"></button> </div> <div ng-if="ctrl.display.feedEdition"> <button form="formFeedEdition" type="reset" class="btn btn-light" ng-click="ctrl.closeFeedEdition()"> <i18n>rss-widget.widget.channel.feed.cancel</i18n> </button> <button form="formFeedEdition" type="submit" class="btn btn-primary" ng-click="ctrl.saveFeed()"> <i18n>rss-widget.widget.channel.feed.save</i18n> </button> </div> </ode-modal-footer> </ode-modal>'},7377:function(e,t,i){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var d=n(i(4202)),l=i(9419),s=function(){function e(){this.channel=void 0,this.feeds=[],this.totalFeeds=10,this.defaultShow=3,this.showValues=[1,2,3,4,5,6,7,8,9,10],this.display={edition:!1,feedEdition:!1,selectedFeed:0}}return e.prototype.initFeeds=function(){var e=this;return void 0===this.channel?l.http().get("/rss/channels").then((function(t){return t&&t.length>0?e.channel=t[0]:e.channel={feeds:[]},e.loadFeeds(0)})).catch((function(t){console.warn("[widget.rss] failed to initFeeds: ",t),e.channel={feeds:[]}})):this.loadFeeds(0)},e.prototype.loadFeeds=function(e){var t=this;return this.feeds=[],Promise.all(this.channel.feeds.map((function(i){var n=i.title;return null!==i.link&&""!==i.link?l.http().get("/rss/feed/items?url="+encodeURIComponent(i.link)+"&force="+e).then((function(e){"object"!=typeof e||e.title||(e.title=n),200===e.status&&t.feeds.length<t.totalFeeds&&(void 0!==e.Items&&null!=i.show&&e.Items.length>i.show&&(e.Items=e.Items.slice(0,i.show)),t.feeds.push(e))})).catch((function(e){console.warn("[widget.rss] failed to loadFeeds: ",e)})):Promise.resolve()}))).then((function(e){}))},Object.defineProperty(e.prototype,"canAddFeed",{get:function(){var e=$(window).width();return this.channel&&this.channel.feeds.length<this.totalFeeds&&("number"!=typeof e||e>=992)},enumerable:!1,configurable:!0}),e.prototype.openFeedEdition=function(e){"number"==typeof e&&e>=0&&e<this.totalFeeds?(this.selectedFeed=d.default.copy(this.channel.feeds[e]),this.selectedFeedIndex=e):(this.selectedFeed={title:"",link:"",show:3},this.selectedFeedIndex=-1),this.display.feedEdition=!0},e.prototype.closeFeedEdition=function(){this.display.feedEdition=!1,this.selectedFeed=void 0,this.selectedFeedIndex=void 0},e.prototype.removeFeed=function(e){"number"==typeof e&&e>=0&&e<this.totalFeeds&&(this.channel.feeds.splice(e,1),this.saveChannel())},e.prototype.validFeed=function(e){return e&&e.title&&""!==e.title.trim()&&e.link&&""!==e.link.trim()},e.prototype.saveFeed=function(){"number"==typeof this.selectedFeedIndex&&this.validFeed(this.selectedFeed)&&this.selectedFeed&&(this.selectedFeedIndex>=0&&this.selectedFeedIndex<this.totalFeeds?this.channel.feeds[this.selectedFeedIndex]=this.selectedFeed:this.channel.feeds.push(this.selectedFeed),this.saveChannel()),this.closeFeedEdition()},e.prototype.saveChannel=function(){this.channel._id?this.editChannel():this.createChannel()},e.prototype.createChannel=function(){var e=this;this.channel?l.http().postJson("/rss/channel",this.channel).then((function(t){e.channel._id=t._id,e.loadFeeds(0)})):console.log("createChannel : channel is undefined")},e.prototype.editChannel=function(){var e=this;this.channel&&this.channel._id?l.http().putJson("/rss/channel/"+this.channel._id,{feeds:this.channel.feeds}).then((function(t){e.loadFeeds(0)})):console.log("editChannel : channel is undefined")},e.prototype.showOrHideFeed=function(e){this.display.selectedFeed===e?this.display.selectedFeed=void 0:this.display.selectedFeed=e},e.prototype.formatDate=function(e){return("number"==typeof e?l.L10n.unix(e):l.L10n.moment(e,void 0,"en")).locale("fr").format("dddd DD MMMM YYYY HH:mm")},e}(),o=function(){function e(){this.restrict="E",this.template=i(4643).Z,this.controller=[s],this.controllerAs="ctrl",this.require=["odeRssWidget"]}return e.prototype.link=function(e,t,i,n){var d=n?n[0]:null;d&&(d.initFeeds().then((function(){e.$apply()})),e.trackEvent=function(e,t){var i;void 0===t.bubbles&&(t.bubbles=!0);var n=null;t&&"string"==typeof(null===(i=t.detail)||void 0===i?void 0:i.open)&&(n=new CustomEvent(l.TrackedActionFromWidget.rss,t)),n&&e.currentTarget&&e.currentTarget.dispatchEvent(n)})},e}();l.notif().onLangReady().promise.then((function(e){l.conf().Platform.idiom.addKeys(i(2546))})),t.odeModuleName="odeRssWidgetModule",d.default.module(t.odeModuleName,[]).directive("odeRssWidget",(function(){return new o}))},2546:e=>{e.exports=JSON.parse('{"rss-widget.widget.title":"RSS","rss-widget.widget.channel.config":"Configurer","rss-widget.widget.channel.feed.add":"Ajouter un flux","rss-widget.widget.channel.feed.cancel":"Retour","rss-widget.widget.channel.feed.edit":"Edition d\'un flux","rss-widget.widget.channel.feed.list":"Liste des flux","rss-widget.widget.channel.feed.no.result":"Aucun résultat","rss-widget.widget.channel.feed.read.more":"Voir plus","rss-widget.widget.channel.feed.remove":"Supprimer le flux","rss-widget.widget.channel.feed.save":"Enregistrer","rss-widget.widget.channel.feed.show":"Nombre d\'articles à afficher","rss-widget.widget.channel.feed.title":"Titre","rss-widget.widget.channel.feed.update":"Actualiser","rss-widget.widget.channel.feed.url":"Adresse du flux","rss-widget.widget.channel.refresh":"Rafraîchir","rss-widget.widget.channel.undefined":"Aucun flux configuré","rss-widget.widget.channel.feed.title.placeholder":"Saisissez le titre du nouveau flux RSS","rss-widget.widget.channel.feed.url.placeholder":"Saisissez l\'Url du nouveau flux RSS","rss-widget.widget.empty.info":"Ajoutez un flux RSS pour voir vos derniers articles"}')}}]);
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[390],{4643:(e,t,i)=>{i.d(t,{Z:()=>n});const n=' <div class="widget-rss"> <div class="widget-header"> <div class="subtitle"><i18n>rss-widget.widget.title</i18n></div> <div class="widget-options"> <div class="tools"> <a href="#" class="tool tool-option" i18n-title="rss-widget.widget.channel.config" ng-if="ctrl.canAddFeed" ng-click="ctrl.display.edition = true"> <i class="fas fa-cog"></i> </a> </div> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body" dnd-nodrag> <div class="widget-empty-message link" ng-click="ctrl.display.edition = true" ng-if="ctrl.channel===undefined || ctrl.channel.feeds.length === 0"> <i18n>rss-widget.widget.empty.info</i18n> </div> <div class="widget-empty-message link" ng-if="ctrl.channel && ctrl.channel.feeds.length > 0 && ctrl.feeds.length === 0"> <i18n>rss-widget.widget.channel.feed.no.result</i18n> </div> <div class="rss-feed" ng-if="ctrl.feeds !== undefined" ng-repeat="feed in ctrl.feeds track by $index"> <div class="feed-title" ng-click="ctrl.showOrHideFeed($index)">[[feed.title]]</div> <ul class="list" ng-show="ctrl.display.selectedFeed === [[$index]]"> <li class="item link" ng-repeat="item in feed.Items track by $index"> <a href="[[item.link]]" target="_blank" rel="noopener" ng-click="trackEvent($event, {detail:{\'open\':item.link} })"> <div class="title">[[item.title]]</div> <div class="meta">[[ctrl.formatDate(item.pubDate)]]</div> <div class="meta" ng-bind-html="item.description"></div> </a> </li> </ul> </div> </div> </div> <ode-modal visible="ctrl.display.edition" on-close="ctrl.display.edition = false" dnd-nodrag> <ode-modal-title> <i18n ng-if="!ctrl.display.feedEdition">rss-widget.widget.channel.feed.list</i18n> <i18n ng-if="ctrl.display.feedEdition">rss-widget.widget.channel.feed.edit</i18n> </ode-modal-title> <ode-modal-body> <div ng-if="!ctrl.display.feedEdition"> <p ng-if="ctrl.channel.feeds.length === 0"><i18n>rss-widget.widget.channel.undefined</i18n></p> <table class="table table-hover" ng-if="ctrl.channel.feeds.length > 0"> <thead> <tr class="bg-secondary text-light"> <th><i18n>rss-widget.widget.channel.feed.title</i18n></th> <th><i18n>rss-widget.widget.channel.feed.show</i18n></th> <th></th> </tr> </thead> <tbody> <tr class="c-pointer" ng-repeat="feed in ctrl.channel.feeds track by $index" ng-class="{ \'table-active\' : ctrl.display.feedEdition && $index === ctrl.selectedFeedIndex }"> <td ng-click="ctrl.openFeedEdition($index)">[[ctrl.channel.feeds[$index].title]]</td> <td ng-click="ctrl.openFeedEdition($index)">[[ctrl.channel.feeds[$index].show]]</td> <td ng-click="ctrl.removeFeed($index)"> <button type="button" class="btn-close" aria-label="Close"></button> </td> </tr> </tbody> </table> </div> <form autocomplete="off" id="formFeedEdition" ng-if="ctrl.display.feedEdition"> <div class="form-group row"> <label for="inputFeedTitle" class="col-sm-4 col-form-label"><i18n>rss-widget.widget.channel.feed.title</i18n></label> <div class="col-sm-8"> <input type="text" i18n-placeholder="rss-widget.widget.channel.feed.title.placeholder" id="inputFeedTitle" class="form-control" ng-model="ctrl.selectedFeed.title"/> </div> </div> <div class="form-group row mt-3"> <label for="inputFeedUrl" class="col-sm-4 col-form-label"><i18n>rss-widget.widget.channel.feed.url</i18n></label> <div class="col-sm-8"> <input type="text" i18n-placeholder="rss-widget.widget.channel.feed.url.placeholder" id="inputFeedUrl" class="form-control" ng-model="ctrl.selectedFeed.link"/> </div> </div> <div class="form-group row mt-3"> <label for="inputFeedShow" class="col-sm-4 col-form-label"><i18n>rss-widget.widget.channel.feed.show</i18n></label> <div class="col-sm-8"> <select id="inputFeedShow" class="form-control" ng-options="n for n in ctrl.showValues" ng-model="ctrl.selectedFeed.show"></select> </div> </div> </form> </ode-modal-body> <ode-modal-footer> <div ng-if="!ctrl.display.feedEdition && ctrl.canAddFeed"> <button class="btn btn-primary" ng-click="ctrl.openFeedEdition()" translate content="rss-widget.widget.channel.feed.add"></button> </div> <div ng-if="ctrl.display.feedEdition"> <button form="formFeedEdition" type="reset" class="btn btn-light" ng-click="ctrl.closeFeedEdition()"> <i18n>rss-widget.widget.channel.feed.cancel</i18n> </button> <button form="formFeedEdition" type="submit" class="btn btn-primary" ng-click="ctrl.saveFeed()"> <i18n>rss-widget.widget.channel.feed.save</i18n> </button> </div> </ode-modal-footer> </ode-modal>'},7377:function(e,t,i){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var d=n(i(4202)),l=i(9419),s=function(){function e(){this.channel=void 0,this.feeds=[],this.totalFeeds=10,this.defaultShow=3,this.showValues=[1,2,3,4,5,6,7,8,9,10],this.display={edition:!1,feedEdition:!1,selectedFeed:0}}return e.prototype.initFeeds=function(){var e=this;return void 0===this.channel?(0,l.http)().get("/rss/channels").then((function(t){return t&&t.length>0?e.channel=t[0]:e.channel={feeds:[]},e.loadFeeds(0)})).catch((function(t){console.warn("[widget.rss] failed to initFeeds: ",t),e.channel={feeds:[]}})):this.loadFeeds(0)},e.prototype.loadFeeds=function(e){var t=this;return this.feeds=[],Promise.all(this.channel.feeds.map((function(i){var n=i.title;return null!==i.link&&""!==i.link?(0,l.http)().get("/rss/feed/items?url="+encodeURIComponent(i.link)+"&force="+e).then((function(e){"object"!=typeof e||e.title||(e.title=n),200===e.status&&t.feeds.length<t.totalFeeds&&(void 0!==e.Items&&null!=i.show&&e.Items.length>i.show&&(e.Items=e.Items.slice(0,i.show)),t.feeds.push(e))})).catch((function(e){console.warn("[widget.rss] failed to loadFeeds: ",e)})):Promise.resolve()}))).then((function(e){}))},Object.defineProperty(e.prototype,"canAddFeed",{get:function(){var e=$(window).width();return this.channel&&this.channel.feeds.length<this.totalFeeds&&("number"!=typeof e||e>=992)},enumerable:!1,configurable:!0}),e.prototype.openFeedEdition=function(e){"number"==typeof e&&e>=0&&e<this.totalFeeds?(this.selectedFeed=d.default.copy(this.channel.feeds[e]),this.selectedFeedIndex=e):(this.selectedFeed={title:"",link:"",show:3},this.selectedFeedIndex=-1),this.display.feedEdition=!0},e.prototype.closeFeedEdition=function(){this.display.feedEdition=!1,this.selectedFeed=void 0,this.selectedFeedIndex=void 0},e.prototype.removeFeed=function(e){"number"==typeof e&&e>=0&&e<this.totalFeeds&&(this.channel.feeds.splice(e,1),this.saveChannel())},e.prototype.validFeed=function(e){return e&&e.title&&""!==e.title.trim()&&e.link&&""!==e.link.trim()},e.prototype.saveFeed=function(){"number"==typeof this.selectedFeedIndex&&this.validFeed(this.selectedFeed)&&this.selectedFeed&&(this.selectedFeedIndex>=0&&this.selectedFeedIndex<this.totalFeeds?this.channel.feeds[this.selectedFeedIndex]=this.selectedFeed:this.channel.feeds.push(this.selectedFeed),this.saveChannel()),this.closeFeedEdition()},e.prototype.saveChannel=function(){this.channel._id?this.editChannel():this.createChannel()},e.prototype.createChannel=function(){var e=this;this.channel?(0,l.http)().postJson("/rss/channel",this.channel).then((function(t){e.channel._id=t._id,e.loadFeeds(0)})):console.log("createChannel : channel is undefined")},e.prototype.editChannel=function(){var e=this;this.channel&&this.channel._id?(0,l.http)().putJson("/rss/channel/"+this.channel._id,{feeds:this.channel.feeds}).then((function(t){e.loadFeeds(0)})):console.log("editChannel : channel is undefined")},e.prototype.showOrHideFeed=function(e){this.display.selectedFeed===e?this.display.selectedFeed=void 0:this.display.selectedFeed=e},e.prototype.formatDate=function(e){return("number"==typeof e?l.L10n.unix(e):l.L10n.moment(e,void 0,"en")).locale("fr").format("dddd DD MMMM YYYY HH:mm")},e}(),o=function(){function e(){this.restrict="E",this.template=i(4643).Z,this.controller=[s],this.controllerAs="ctrl",this.require=["odeRssWidget"]}return e.prototype.link=function(e,t,i,n){var d=n?n[0]:null;d&&(d.initFeeds().then((function(){e.$apply()})),e.trackEvent=function(e,t){var i;void 0===t.bubbles&&(t.bubbles=!0);var n=null;t&&"string"==typeof(null===(i=t.detail)||void 0===i?void 0:i.open)&&(n=new CustomEvent(l.TrackedActionFromWidget.rss,t)),n&&e.currentTarget&&e.currentTarget.dispatchEvent(n)})},e}();(0,l.notif)().onLangReady().promise.then((function(e){(0,l.conf)().Platform.idiom.addKeys(i(2546))})),t.odeModuleName="odeRssWidgetModule",d.default.module(t.odeModuleName,[]).directive("odeRssWidget",(function(){return new o}))},2546:e=>{e.exports=JSON.parse('{"rss-widget.widget.title":"RSS","rss-widget.widget.channel.config":"Configurer","rss-widget.widget.channel.feed.add":"Ajouter un flux","rss-widget.widget.channel.feed.cancel":"Retour","rss-widget.widget.channel.feed.edit":"Edition d\'un flux","rss-widget.widget.channel.feed.list":"Liste des flux","rss-widget.widget.channel.feed.no.result":"Aucun résultat","rss-widget.widget.channel.feed.read.more":"Voir plus","rss-widget.widget.channel.feed.remove":"Supprimer le flux","rss-widget.widget.channel.feed.save":"Enregistrer","rss-widget.widget.channel.feed.show":"Nombre d\'articles à afficher","rss-widget.widget.channel.feed.title":"Titre","rss-widget.widget.channel.feed.update":"Actualiser","rss-widget.widget.channel.feed.url":"Adresse du flux","rss-widget.widget.channel.refresh":"Rafraîchir","rss-widget.widget.channel.undefined":"Aucun flux configuré","rss-widget.widget.channel.feed.title.placeholder":"Saisissez le titre du nouveau flux RSS","rss-widget.widget.channel.feed.url.placeholder":"Saisissez l\'Url du nouveau flux RSS","rss-widget.widget.empty.info":"Ajoutez un flux RSS pour voir vos derniers articles"}')}}]);
//# sourceMappingURL=rss-widget.widget.js.map

@@ -1,2 +0,2 @@

"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[306],{4257:(e,t,n)=>{n.d(t,{Z:()=>o});const o='<div class="widget-school"> <div class="widget-body"> <div class="widget-school-header" ng-style="ctrl.getWidgetStyle()"> <div class="d-flex align-items-center"> <div class="me-16"> <a href="/userbook/mon-compte" class="avatar-link" i18n-title="navbar.myaccount" ng-click="trackEvent($event, {detail:{\'open\':\'profile\'} })"> <img data-ng-src="[[ctrl.avatar ? ctrl.avatar+\'?thumbnail=48x48\' : \'\']]" alt="{{ctrl.description.displayName}}"/> </a> </div> <div class="flex-grow-1"> <div class="name">{{ctrl.description.displayName}}</div> <div ng-if="!ctrl.hasManySchools" class="school">{{ctrl.selectedSchool.name}}</div> <div ng-if="ctrl.hasManySchools" class="dropdown"> <div class="school-multiple dropdown-toggle" role="button" id="ddSchoolWidgetSchool" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a href="" class="text-white">{{ctrl.selectedSchool.name}}</a> </div> <div class="school-choice dropdown-menu" aria-labelledby="ddSchoolWidgetSchool"> <div tabindex="0" role="button" class="dropdown-item" ng-repeat="school in ctrl.description.schools" ng-click="ctrl.onSchoolSelected($index)" ng-keydown="ctrl.onSchoolSelected($index, $event)"> {{school.name}} </div> </div> </div> </div> </div> </div> <div class="btn-group"> <a href="/userbook/annuaire#/search" class="btn btn-secondary rounded-pill" ng-if="ctrl.isStudent" ng-click="trackEvent($event, {detail:{\'open\':\'student.class\'} })" translate content="school-widget.widget.my.classroom"></a> <a ng-href="{{ctrl.getUrlTeachersOfMyClass()}}" class="btn btn-outline-secondary rounded-pill" ng-if="ctrl.isStudent" ng-click="trackEvent($event, {detail:{\'open\':\'student.teachers\'} })" translate content="school-widget.widget.my.team"></a> <a ng-href="{{ctrl.getUrlStudentsOfMyClasses()}}" class="btn btn-secondary rounded-pill" ng-if="ctrl.isTeacher" ng-click="trackEvent($event, {detail:{\'open\':\'teacher.students\'} })" translate content="school-widget.widget.my.classrooms"></a> <a ng-href="{{ctrl.getUrlSchoolTeachers()}}" class="btn btn-outline-secondary rounded-pill" ng-if="ctrl.isTeacher" ng-click="trackEvent($event, {detail:{\'open\':\'teacher.teachers\'} })" translate content="school-widget.widget.school.team"></a> <a ng-href="{{ctrl.getUrlTeachersOfMyChildren()}}" class="btn btn-secondary rounded-pill" ng-if="ctrl.isRelative" ng-click="trackEvent($event, {detail:{\'open\':\'relative.teachers\'} })" translate content="school-widget.widget.school.team"></a> <a ng-href="{{ctrl.getUrlSchoolPersonnels()}}" class="btn btn-outline-secondary rounded-pill" ng-if="ctrl.isRelative" ng-click="trackEvent($event, {detail:{\'open\':\'relative.direction\'} })" translate content="school-widget.widget.school.managers"></a> <a ng-href="{{ctrl.getUrlSchoolPersonnelsAndTeachers()}}" class="btn btn-secondary rounded-pill" ng-if="ctrl.isPersonnel" ng-click="trackEvent($event, {detail:{\'open\':\'personnel.personnels\'} })" translate content="school-widget.widget.school.personnelAndTeachers"></a> <a ng-href="{{ctrl.getUrlStudents()}}" class="btn btn-outline-secondary rounded-pill" ng-if="ctrl.isPersonnel" ng-click="trackEvent($event, {detail:{\'open\':\'personnel.students\'} })" translate content="school-widget.widget.students"></a> </div> </div> </div> '},5623:function(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,s){function l(e){try{c(o.next(e))}catch(e){s(e)}}function i(e){try{c(o.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(l,i)}c((o=o.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var n,o,r,s,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function i(s){return function(i){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;l;)try{if(n=1,o&&(r=2&s[0]?o.return:s[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;switch(o=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return l.label++,{value:s[1],done:!1};case 5:l.label++,o=s[1],s=[0];continue;case 7:s=l.ops.pop(),l.trys.pop();continue;default:if(!(r=l.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){l=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){l.label=s[1];break}if(6===s[0]&&l.label<r[1]){l.label=r[1],r=s;break}if(r&&l.label<r[2]){l.label=r[2],l.ops.push(s);break}r[2]&&l.ops.pop(),l.trys.pop();continue}s=t.call(e,l)}catch(e){s=[6,e],o=0}finally{n=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,i])}}},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var l=s(n(4202)),i=n(5262),c=n(9419),a=function(){function e(e){this.themeHelperSvc=e}return Object.defineProperty(e.prototype,"me",{get:function(){return c.session().user},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"description",{get:function(){return c.session().description},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"avatar",{get:function(){return c.session().avatarUrl},enumerable:!1,configurable:!0}),e.prototype.initialize=function(){var e,t;return o(this,void 0,void 0,(function(){var n,o,s=this;return r(this,(function(r){switch(r.label){case 0:return this._userPref=null===(e=i.WidgetFrameworkFactory.instance().list.find((function(e){return e.platformConf.name===i.WIDGET_NAME.SCHOOL})))||void 0===e?void 0:e.userPref,n=this,[4,this.themeHelperSvc.getBootstrapThemePath()];case 1:return n.themePath=r.sent(),[4,c.notif().onSessionReady().promise];case 2:return r.sent(),o=0,(null===(t=this._userPref)||void 0===t?void 0:t.schoolId)&&l.default.isArray(this.description.schools)&&(o=this.description.schools.findIndex((function(e){var t;return e.id===(null===(t=s._userPref)||void 0===t?void 0:t.schoolId)})),o<0&&(o=0)),this.setSelectedSchool(o),[2]}}))}))},e.prototype.getWidgetStyle=function(){return{"background-image":"url("+this.themePath+"/images/widget-3.png)"}},e.prototype.onSchoolSelected=function(e,t){var n;return(!t||"keydown"===t.type&&(13===t.which||32===t.which))&&(this._userPref&&this.setSelectedSchool(e)&&(this._userPref.schoolId=null===(n=this.selectedSchool)||void 0===n?void 0:n.id,i.WidgetFrameworkFactory.instance().saveUserPrefs()),!0)},e.prototype.setSelectedSchool=function(e){return 0<=e&&e<this.description.schools.length&&this.selectedSchool!==this.description.schools[e]&&(this.selectedSchool=this.description.schools[e],!0)},e.prototype.getDefaultUrl=function(){return"/userbook/annuaire#/search"},e.prototype.getUrlTeachersOfMyClass=function(){var e=this.getDefaultUrl();if(this.me.classes&&this.me.classes.length>0){e+="?filters=groups&profile=Teacher";for(var t=0,n=this.me.classes;t<n.length;t++){e+="&class="+n[t]}}return e},e.prototype.getUrlStudentsOfMyClasses=function(){var e=this.getDefaultUrl()+"?filters=groups&profile=Student";this.selectedSchool&&(e+="&structure="+this.selectedSchool.id);for(var t=0,n=this.me.classes;t<n.length;t++){e+="&class="+n[t]}return e},e.prototype.getUrlSchoolTeachers=function(){return this.selectedSchool?"/userbook/annuaire#/search?filters=groups&structure="+this.selectedSchool.id+"&profile=Teacher":this.getDefaultUrl()},e.prototype.getUrlTeachersOfMyChildren=function(){for(var e=this.getDefaultUrl()+"?filters=groups&profile=Teacher",t=0,n=this.me.classes;t<n.length;t++){e+="&class="+n[t]}return e},e.prototype.getUrlSchoolPersonnels=function(){return this.selectedSchool?"/userbook/annuaire#/search?filters=users&structure="+this.selectedSchool.id+"&profile=Personnel":this.getDefaultUrl()},e.prototype.getUrlSchoolPersonnelsAndTeachers=function(){return this.selectedSchool?"/userbook/annuaire#/search?filters=users&structure="+this.selectedSchool.id+"&profile=Personnel&profile=Teacher":this.getDefaultUrl()},e.prototype.getUrlStudents=function(){var e=this.getDefaultUrl()+"?filters=groups&profile=Student";return this.selectedSchool&&(e+="&structure="+this.selectedSchool.id),e},Object.defineProperty(e.prototype,"hasManySchools",{get:function(){return this.description.schools.length>1},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isStudent",{get:function(){return"ELEVE"===this.me.type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isTeacher",{get:function(){return"ENSEIGNANT"===this.me.type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isRelative",{get:function(){return"PERSRELELEVE"===this.me.type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isPersonnel",{get:function(){return"PERSEDUCNAT"===this.me.type},enumerable:!1,configurable:!0}),e}(),d=function(){function e(){this.restrict="E",this.template=n(4257).Z,this.controller=["odeThemeHelperService",a],this.controllerAs="ctrl",this.require=["odeSchoolWidget"]}return e.prototype.link=function(e,t,n,s){return o(this,void 0,void 0,(function(){var t;return r(this,(function(n){switch(n.label){case 0:return(t=s?s[0]:null)?[4,t.initialize()]:[2];case 1:return n.sent(),e.$apply(),e.trackEvent=function(e,t){var n;void 0===t.bubbles&&(t.bubbles=!0);var o=null;(null===(n=null==t?void 0:t.detail)||void 0===n?void 0:n.open)&&-1!==["student.class","student.teachers","teacher.students","teacher.teachers","relative.teachers","relative.direction","profile"].indexOf(t.detail.open)&&(o=new CustomEvent(c.TrackedActionFromWidget.school,t)),o&&e.currentTarget&&e.currentTarget.dispatchEvent(o)},[2]}}))}))},e}();c.notif().onLangReady().promise.then((function(e){c.conf().Platform.idiom.addKeys(n(3926))})),t.odeModuleName="odeSchoolWidgetModule",l.default.module(t.odeModuleName,[]).directive("odeSchoolWidget",(function(){return new d}))},3926:e=>{e.exports=JSON.parse('{"school-widget.widget.my.classroom":"Ma classe","school-widget.widget.my.classrooms":"Mes classes","school-widget.widget.my.team":"Mes enseignants","school-widget.widget.school.team":"Équipe enseignante","school-widget.widget.school.managers":"Personnels","school-widget.widget.school.personnelAndTeachers":"Personnels et Enseignants","school-widget.widget.students":"Élèves","school-widget":"Mon réseau"}')}}]);
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[306],{4257:(e,t,n)=>{n.d(t,{Z:()=>o});const o='<div class="widget-school"> <div class="widget-body"> <div class="widget-school-header" ng-style="ctrl.getWidgetStyle()"> <div class="d-flex align-items-center"> <div class="me-16"> <a href="/userbook/mon-compte" class="avatar-link" i18n-title="navbar.myaccount" ng-click="trackEvent($event, {detail:{\'open\':\'profile\'} })"> <img data-ng-src="[[ctrl.avatar ? ctrl.avatar+\'?thumbnail=48x48\' : \'\']]" alt="{{ctrl.description.displayName}}"/> </a> </div> <div class="flex-grow-1"> <div class="name">{{ctrl.description.displayName}}</div> <div ng-if="!ctrl.hasManySchools" class="school">{{ctrl.selectedSchool.name}}</div> <div ng-if="ctrl.hasManySchools" class="dropdown"> <div class="school-multiple dropdown-toggle" role="button" id="ddSchoolWidgetSchool" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a href="" class="text-white">{{ctrl.selectedSchool.name}}</a> </div> <div class="school-choice dropdown-menu" aria-labelledby="ddSchoolWidgetSchool"> <div tabindex="0" role="button" class="dropdown-item" ng-repeat="school in ctrl.description.schools" ng-click="ctrl.onSchoolSelected($index)" ng-keydown="ctrl.onSchoolSelected($index, $event)"> {{school.name}} </div> </div> </div> </div> </div> </div> <div class="btn-group"> <a href="/userbook/annuaire#/search" class="btn btn-secondary rounded-pill" ng-if="ctrl.isStudent" ng-click="trackEvent($event, {detail:{\'open\':\'student.class\'} })" translate content="school-widget.widget.my.classroom"></a> <a ng-href="{{ctrl.getUrlTeachersOfMyClass()}}" class="btn btn-outline-secondary rounded-pill" ng-if="ctrl.isStudent" ng-click="trackEvent($event, {detail:{\'open\':\'student.teachers\'} })" translate content="school-widget.widget.my.team"></a> <a ng-href="{{ctrl.getUrlStudentsOfMyClasses()}}" class="btn btn-secondary rounded-pill" ng-if="ctrl.isTeacher" ng-click="trackEvent($event, {detail:{\'open\':\'teacher.students\'} })" translate content="school-widget.widget.my.classrooms"></a> <a ng-href="{{ctrl.getUrlSchoolTeachers()}}" class="btn btn-outline-secondary rounded-pill" ng-if="ctrl.isTeacher" ng-click="trackEvent($event, {detail:{\'open\':\'teacher.teachers\'} })" translate content="school-widget.widget.school.team"></a> <a ng-href="{{ctrl.getUrlTeachersOfMyChildren()}}" class="btn btn-secondary rounded-pill" ng-if="ctrl.isRelative" ng-click="trackEvent($event, {detail:{\'open\':\'relative.teachers\'} })" translate content="school-widget.widget.school.team"></a> <a ng-href="{{ctrl.getUrlSchoolPersonnels()}}" class="btn btn-outline-secondary rounded-pill" ng-if="ctrl.isRelative" ng-click="trackEvent($event, {detail:{\'open\':\'relative.direction\'} })" translate content="school-widget.widget.school.managers"></a> <a ng-href="{{ctrl.getUrlSchoolPersonnelsAndTeachers()}}" class="btn btn-secondary rounded-pill" ng-if="ctrl.isPersonnel" ng-click="trackEvent($event, {detail:{\'open\':\'personnel.personnels\'} })" translate content="school-widget.widget.school.personnelAndTeachers"></a> <a ng-href="{{ctrl.getUrlStudents()}}" class="btn btn-outline-secondary rounded-pill" ng-if="ctrl.isPersonnel" ng-click="trackEvent($event, {detail:{\'open\':\'personnel.students\'} })" translate content="school-widget.widget.students"></a> </div> </div> </div> '},5623:function(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,s){function l(e){try{c(o.next(e))}catch(e){s(e)}}function i(e){try{c(o.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(l,i)}c((o=o.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var n,o,r,s,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function i(s){return function(i){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;l;)try{if(n=1,o&&(r=2&s[0]?o.return:s[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;switch(o=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return l.label++,{value:s[1],done:!1};case 5:l.label++,o=s[1],s=[0];continue;case 7:s=l.ops.pop(),l.trys.pop();continue;default:if(!(r=l.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){l=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){l.label=s[1];break}if(6===s[0]&&l.label<r[1]){l.label=r[1],r=s;break}if(r&&l.label<r[2]){l.label=r[2],l.ops.push(s);break}r[2]&&l.ops.pop(),l.trys.pop();continue}s=t.call(e,l)}catch(e){s=[6,e],o=0}finally{n=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,i])}}},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var l=s(n(4202)),i=n(5262),c=n(9419),a=function(){function e(e){this.themeHelperSvc=e}return Object.defineProperty(e.prototype,"me",{get:function(){return(0,c.session)().user},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"description",{get:function(){return(0,c.session)().description},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"avatar",{get:function(){return(0,c.session)().avatarUrl},enumerable:!1,configurable:!0}),e.prototype.initialize=function(){var e,t;return o(this,void 0,void 0,(function(){var n,o,s=this;return r(this,(function(r){switch(r.label){case 0:return this._userPref=null===(e=i.WidgetFrameworkFactory.instance().list.find((function(e){return e.platformConf.name===i.WIDGET_NAME.SCHOOL})))||void 0===e?void 0:e.userPref,n=this,[4,this.themeHelperSvc.getBootstrapThemePath()];case 1:return n.themePath=r.sent(),[4,(0,c.notif)().onSessionReady().promise];case 2:return r.sent(),o=0,(null===(t=this._userPref)||void 0===t?void 0:t.schoolId)&&l.default.isArray(this.description.schools)&&(o=this.description.schools.findIndex((function(e){var t;return e.id===(null===(t=s._userPref)||void 0===t?void 0:t.schoolId)})),o<0&&(o=0)),this.setSelectedSchool(o),[2]}}))}))},e.prototype.getWidgetStyle=function(){return{"background-image":"url("+this.themePath+"/images/widget-3.png)"}},e.prototype.onSchoolSelected=function(e,t){var n;return(!t||"keydown"===t.type&&(13===t.which||32===t.which))&&(this._userPref&&this.setSelectedSchool(e)&&(this._userPref.schoolId=null===(n=this.selectedSchool)||void 0===n?void 0:n.id,i.WidgetFrameworkFactory.instance().saveUserPrefs()),!0)},e.prototype.setSelectedSchool=function(e){return 0<=e&&e<this.description.schools.length&&this.selectedSchool!==this.description.schools[e]&&(this.selectedSchool=this.description.schools[e],!0)},e.prototype.getDefaultUrl=function(){return"/userbook/annuaire#/search"},e.prototype.getUrlTeachersOfMyClass=function(){var e=this.getDefaultUrl();if(this.me.classes&&this.me.classes.length>0){e+="?filters=groups&profile=Teacher";for(var t=0,n=this.me.classes;t<n.length;t++){e+="&class="+n[t]}}return e},e.prototype.getUrlStudentsOfMyClasses=function(){var e=this.getDefaultUrl()+"?filters=groups&profile=Student";this.selectedSchool&&(e+="&structure="+this.selectedSchool.id);for(var t=0,n=this.me.classes;t<n.length;t++){e+="&class="+n[t]}return e},e.prototype.getUrlSchoolTeachers=function(){return this.selectedSchool?"/userbook/annuaire#/search?filters=groups&structure="+this.selectedSchool.id+"&profile=Teacher":this.getDefaultUrl()},e.prototype.getUrlTeachersOfMyChildren=function(){for(var e=this.getDefaultUrl()+"?filters=groups&profile=Teacher",t=0,n=this.me.classes;t<n.length;t++){e+="&class="+n[t]}return e},e.prototype.getUrlSchoolPersonnels=function(){return this.selectedSchool?"/userbook/annuaire#/search?filters=users&structure="+this.selectedSchool.id+"&profile=Personnel":this.getDefaultUrl()},e.prototype.getUrlSchoolPersonnelsAndTeachers=function(){return this.selectedSchool?"/userbook/annuaire#/search?filters=users&structure="+this.selectedSchool.id+"&profile=Personnel&profile=Teacher":this.getDefaultUrl()},e.prototype.getUrlStudents=function(){var e=this.getDefaultUrl()+"?filters=groups&profile=Student";return this.selectedSchool&&(e+="&structure="+this.selectedSchool.id),e},Object.defineProperty(e.prototype,"hasManySchools",{get:function(){return this.description.schools.length>1},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isStudent",{get:function(){return"ELEVE"===this.me.type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isTeacher",{get:function(){return"ENSEIGNANT"===this.me.type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isRelative",{get:function(){return"PERSRELELEVE"===this.me.type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isPersonnel",{get:function(){return"PERSEDUCNAT"===this.me.type},enumerable:!1,configurable:!0}),e}(),d=function(){function e(){this.restrict="E",this.template=n(4257).Z,this.controller=["odeThemeHelperService",a],this.controllerAs="ctrl",this.require=["odeSchoolWidget"]}return e.prototype.link=function(e,t,n,s){return o(this,void 0,void 0,(function(){var t;return r(this,(function(n){switch(n.label){case 0:return(t=s?s[0]:null)?[4,t.initialize()]:[2];case 1:return n.sent(),e.$apply(),e.trackEvent=function(e,t){var n;void 0===t.bubbles&&(t.bubbles=!0);var o=null;(null===(n=null==t?void 0:t.detail)||void 0===n?void 0:n.open)&&-1!==["student.class","student.teachers","teacher.students","teacher.teachers","relative.teachers","relative.direction","profile"].indexOf(t.detail.open)&&(o=new CustomEvent(c.TrackedActionFromWidget.school,t)),o&&e.currentTarget&&e.currentTarget.dispatchEvent(o)},[2]}}))}))},e}();(0,c.notif)().onLangReady().promise.then((function(e){(0,c.conf)().Platform.idiom.addKeys(n(3926))})),t.odeModuleName="odeSchoolWidgetModule",l.default.module(t.odeModuleName,[]).directive("odeSchoolWidget",(function(){return new d}))},3926:e=>{e.exports=JSON.parse('{"school-widget.widget.my.classroom":"Ma classe","school-widget.widget.my.classrooms":"Mes classes","school-widget.widget.my.team":"Mes enseignants","school-widget.widget.school.team":"Équipe enseignante","school-widget.widget.school.managers":"Personnels","school-widget.widget.school.personnelAndTeachers":"Personnels et Enseignants","school-widget.widget.students":"Élèves","school-widget":"Mon réseau"}')}}]);
//# sourceMappingURL=school-widget.widget.js.map

@@ -1,2 +0,2 @@

"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[142],{7024:(e,t,i)=>{i.d(t,{Z:()=>n});const n=' <div class="widget-header" style="border:0;margin-bottom:-2em"> <div class="subtitle" style="display:none"><i18n>universalis.title</i18n></div> <div class="widget-options"> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body"> <div class="widget-empty-message"> <div class="row row-cols-1 align-items-center"> <div class="mb-3"> <a href="http://www.universalis-edu.com" target="_blank" rel="noopener" ng-click="trackEvent($event, {detail:{\'open\':\'universalis\'} })"> <img src="/assets/widgets/universalis-widget/universalis.png" width="75" alt="Universalis"> </a> </div> </div> <form method="GET" action="https://www.universalis-edu.com/nomade/precherche/" target="_blank" autocomplete="off"> <div ng-if="!ctrl.hasManySchools" class="school mb-3">{{ctrl.selectedSchool.name}}</div> <div ng-if="ctrl.hasManySchools" class="dropdown mb-3"> <div class="school-multiple dropdown-toggle" role="button" id="universalisWidgetSchool" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a href="" class="">{{ctrl.selectedSchool.name}}</a> </div> <div class="school-choice dropdown-menu" aria-labelledby="universalisWidgetSchool"> <div tabindex="0" role="button" class="dropdown-item" ng-repeat="school in ctrl.description.schools" ng-click="ctrl.onSchoolSelected($index)" ng-keydown="ctrl.onSchoolSelected($index, $event)"> {{school.name}} </div> </div> </div> <div class="row row-cols-1 align-items-center"> <label class="sr-only" for="inputUniversalisQ" translate content="{{ctrl.selectedSchool.UAI == null ? \'universalis.no.uai\' : \'search\'}}"></label> <div class="input-group mb-2"> <input type="text" id="inputUniversalisQ" class="form-control" name="q" maxlength="255" i18n-placeholder="{{ctrl.selectedSchool.UAI == null ? \'universalis.no.uai\' : \'search\'}}" ng-disabled="ctrl.selectedSchool.UAI == null"/> <input type="hidden" name="r" value="www"/> <input type="hidden" name="uai" value="{{ctrl.selectedSchool.UAI}}"/> <button class="btn btn-outline-secondary" ng-class="{\'disabled\': ctrl.selectedSchool.UAI == null}" aria-labelledby="inputUniversalisQ" ng-click="trackEvent($event, {detail:{\'search\':\'launch\'} })"> <i class="ic-search"></i> </button> </div> </div> </form> </div> </div> '},462:function(e,t,i){var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{c(n.next(e))}catch(e){s(e)}}function l(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,l)}c((n=n.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var i,n,o,s,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return s={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function l(s){return function(l){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;r;)try{if(i=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,n=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(!(o=r.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){r=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){r.label=s[1];break}if(6===s[0]&&r.label<o[1]){r.label=o[1],o=s;break}if(o&&r.label<o[2]){r.label=o[2],r.ops.push(s);break}o[2]&&r.ops.pop(),r.trys.pop();continue}s=t.call(e,r)}catch(e){s=[6,e],n=0}finally{i=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var r=s(i(4202)),l=i(5262),c=i(9419),a=function(){function e(){}return Object.defineProperty(e.prototype,"description",{get:function(){return c.session().description},enumerable:!1,configurable:!0}),e.prototype.initialize=function(){var e,t;return n(this,void 0,void 0,(function(){var i,n=this;return o(this,(function(o){switch(o.label){case 0:return this._userPref=null===(e=l.WidgetFrameworkFactory.instance().list.find((function(e){return e.platformConf.name===l.WIDGET_NAME.UNIVERSALIS})))||void 0===e?void 0:e.userPref,[4,c.notif().onSessionReady().promise];case 1:return o.sent(),i=0,(null===(t=this._userPref)||void 0===t?void 0:t.schoolId)&&r.default.isArray(this.description.schools)&&(i=this.description.schools.findIndex((function(e){var t;return e.id===(null===(t=n._userPref)||void 0===t?void 0:t.schoolId)})),i<0&&(i=0)),this.setSelectedSchool(i),[2]}}))}))},e.prototype.setSelectedSchool=function(e){return 0<=e&&e<this.description.schools.length&&this.selectedSchool!==this.description.schools[e]&&(this.selectedSchool=this.description.schools[e],!0)},e.prototype.onSchoolSelected=function(e,t){var i;return(!t||"keydown"===t.type&&(13===t.which||32===t.which))&&(this._userPref&&this.setSelectedSchool(e)&&(this._userPref.schoolId=null===(i=this.selectedSchool)||void 0===i?void 0:i.id,l.WidgetFrameworkFactory.instance().saveUserPrefs()),!0)},Object.defineProperty(e.prototype,"hasManySchools",{get:function(){return this.description.schools.length>1},enumerable:!1,configurable:!0}),e}(),d=function(){function e(){this.restrict="E",this.template=i(7024).Z,this.scope={},this.bindToController=!0,this.controller=[a],this.controllerAs="ctrl",this.require=["odeUniversalisWidget"]}return e.prototype.link=function(e,t,i,s){return n(this,void 0,void 0,(function(){var t;return o(this,(function(i){switch(i.label){case 0:return(t=s?s[0]:null)?[4,t.initialize()]:[2];case 1:return i.sent(),e.$apply(),[2]}}))}))},e}();c.notif().onLangReady().promise.then((function(e){c.conf().Platform.idiom.addKeys(i(9899))})),t.odeModuleName="odeUniversalisWidgetModule",r.default.module(t.odeModuleName,[]).directive("odeUniversalisWidget",(function(){return new d}))},9899:e=>{e.exports=JSON.parse('{"universalis.title":"Universalis","universalis.no.uai":"UAI non renseigné"}')}}]);
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[142],{7024:(e,t,i)=>{i.d(t,{Z:()=>n});const n=' <div class="widget-header" style="border:0;margin-bottom:-2em"> <div class="subtitle" style="display:none"><i18n>universalis.title</i18n></div> <div class="widget-options"> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body"> <div class="widget-empty-message"> <div class="row row-cols-1 align-items-center"> <div class="mb-3"> <a href="http://www.universalis-edu.com" target="_blank" rel="noopener" ng-click="trackEvent($event, {detail:{\'open\':\'universalis\'} })"> <img src="/assets/widgets/universalis-widget/universalis.png" width="75" alt="Universalis"> </a> </div> </div> <form method="GET" action="https://www.universalis-edu.com/nomade/precherche/" target="_blank" autocomplete="off"> <div ng-if="!ctrl.hasManySchools" class="school mb-3">{{ctrl.selectedSchool.name}}</div> <div ng-if="ctrl.hasManySchools" class="dropdown mb-3"> <div class="school-multiple dropdown-toggle" role="button" id="universalisWidgetSchool" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a href="" class="">{{ctrl.selectedSchool.name}}</a> </div> <div class="school-choice dropdown-menu" aria-labelledby="universalisWidgetSchool"> <div tabindex="0" role="button" class="dropdown-item" ng-repeat="school in ctrl.description.schools" ng-click="ctrl.onSchoolSelected($index)" ng-keydown="ctrl.onSchoolSelected($index, $event)"> {{school.name}} </div> </div> </div> <div class="row row-cols-1 align-items-center"> <label class="sr-only" for="inputUniversalisQ" translate content="{{ctrl.selectedSchool.UAI == null ? \'universalis.no.uai\' : \'search\'}}"></label> <div class="input-group mb-2"> <input type="text" id="inputUniversalisQ" class="form-control" name="q" maxlength="255" i18n-placeholder="{{ctrl.selectedSchool.UAI == null ? \'universalis.no.uai\' : \'search\'}}" ng-disabled="ctrl.selectedSchool.UAI == null"/> <input type="hidden" name="r" value="www"/> <input type="hidden" name="uai" value="{{ctrl.selectedSchool.UAI}}"/> <button class="btn btn-outline-secondary" ng-class="{\'disabled\': ctrl.selectedSchool.UAI == null}" aria-labelledby="inputUniversalisQ" ng-click="trackEvent($event, {detail:{\'search\':\'launch\'} })"> <i class="ic-search"></i> </button> </div> </div> </form> </div> </div> '},462:function(e,t,i){var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{c(n.next(e))}catch(e){s(e)}}function l(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,l)}c((n=n.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var i,n,o,s,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return s={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function l(s){return function(l){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;r;)try{if(i=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,n=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(!(o=r.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){r=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){r.label=s[1];break}if(6===s[0]&&r.label<o[1]){r.label=o[1],o=s;break}if(o&&r.label<o[2]){r.label=o[2],r.ops.push(s);break}o[2]&&r.ops.pop(),r.trys.pop();continue}s=t.call(e,r)}catch(e){s=[6,e],n=0}finally{i=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var r=s(i(4202)),l=i(5262),c=i(9419),a=function(){function e(){}return Object.defineProperty(e.prototype,"description",{get:function(){return(0,c.session)().description},enumerable:!1,configurable:!0}),e.prototype.initialize=function(){var e,t;return n(this,void 0,void 0,(function(){var i,n=this;return o(this,(function(o){switch(o.label){case 0:return this._userPref=null===(e=l.WidgetFrameworkFactory.instance().list.find((function(e){return e.platformConf.name===l.WIDGET_NAME.UNIVERSALIS})))||void 0===e?void 0:e.userPref,[4,(0,c.notif)().onSessionReady().promise];case 1:return o.sent(),i=0,(null===(t=this._userPref)||void 0===t?void 0:t.schoolId)&&r.default.isArray(this.description.schools)&&(i=this.description.schools.findIndex((function(e){var t;return e.id===(null===(t=n._userPref)||void 0===t?void 0:t.schoolId)})),i<0&&(i=0)),this.setSelectedSchool(i),[2]}}))}))},e.prototype.setSelectedSchool=function(e){return 0<=e&&e<this.description.schools.length&&this.selectedSchool!==this.description.schools[e]&&(this.selectedSchool=this.description.schools[e],!0)},e.prototype.onSchoolSelected=function(e,t){var i;return(!t||"keydown"===t.type&&(13===t.which||32===t.which))&&(this._userPref&&this.setSelectedSchool(e)&&(this._userPref.schoolId=null===(i=this.selectedSchool)||void 0===i?void 0:i.id,l.WidgetFrameworkFactory.instance().saveUserPrefs()),!0)},Object.defineProperty(e.prototype,"hasManySchools",{get:function(){return this.description.schools.length>1},enumerable:!1,configurable:!0}),e}(),d=function(){function e(){this.restrict="E",this.template=i(7024).Z,this.scope={},this.bindToController=!0,this.controller=[a],this.controllerAs="ctrl",this.require=["odeUniversalisWidget"]}return e.prototype.link=function(e,t,i,s){return n(this,void 0,void 0,(function(){var t;return o(this,(function(i){switch(i.label){case 0:return(t=s?s[0]:null)?[4,t.initialize()]:[2];case 1:return i.sent(),e.$apply(),[2]}}))}))},e}();(0,c.notif)().onLangReady().promise.then((function(e){(0,c.conf)().Platform.idiom.addKeys(i(9899))})),t.odeModuleName="odeUniversalisWidgetModule",r.default.module(t.odeModuleName,[]).directive("odeUniversalisWidget",(function(){return new d}))},9899:e=>{e.exports=JSON.parse('{"universalis.title":"Universalis","universalis.no.uai":"UAI non renseigné"}')}}]);
//# sourceMappingURL=universalis-widget.widget.js.map
{
"name": "ode-ngjs-front",
"version": "1.4.6",
"version": "1.4.7",
"description": "Open Digital Education Frontend Framework",

@@ -38,2 +38,3 @@ "homepage": "https://github.com/opendigitaleducation/ode-ngjs-front#readme",

"@types/jasmine": "3.6.4",
"@types/node": "14.14.28",
"@types/jquery": "3.5.5",

@@ -58,3 +59,3 @@ "@types/ua-parser-js": "0.7.35",

"ts-loader": "8.0.18",
"typescript": "4.2.2",
"typescript": "4.6.4",
"webpack": "5.53.0",

@@ -61,0 +62,0 @@ "webpack-cli": "4.8.0"

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc