entcore 4.8.14-develop-integration.202601091224 → 4.8.14-develop-integration.202601091558
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/ng-app.js +3 -3
- package/bundle/ng-app.js.map +1 -1
- package/dist/ng-app.js +3 -3
- package/dist/ng-app.js.map +1 -1
- package/package.json +1 -1
package/bundle/ng-app.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
window.infrafrontVersion="4.8.14-develop-integration.
|
|
2
|
-
window.springboardBuildDate="2026-01-
|
|
3
|
-
!function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};t.m=e,t.c=n,t.p="",t(0)}([function(module,exports,__webpack_require__){"use strict";function injectIntoSelector(e,t){jquery_1.$(document).ready(function(){var n=angular_1.angular.element(e);n.injector().invoke(["$compile",function(e){var r=n.scope(),i=e(t)(r);n.append(i)}])})}var __awaiter=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(s,a)}u((r=r.apply(e,t||[])).next())})},__generator=this&&this.__generator||function(e,t){function n(e){return function(t){return r([e,t])}}function r(n){if(i)throw new TypeError("Generator is already executing.");for(;u;)try{if(i=1,o&&(s=o[2&n[0]?"return":n[0]?"throw":"next"])&&!(s=s.call(o,n[1])).done)return s;switch(o=0,s&&(n=[0,s.value]),n[0]){case 0:case 1:s=n;break;case 4:return u.label++,{value:n[1],done:!1};case 5:u.label++,o=n[1],n=[0];continue;case 7:n=u.ops.pop(),u.trys.pop();continue;default:if(s=u.trys,!(s=s.length>0&&s[s.length-1])&&(6===n[0]||2===n[0])){u=0;continue}if(3===n[0]&&(!s||n[1]>s[0]&&n[1]<s[3])){u.label=n[1];break}if(6===n[0]&&u.label<s[1]){u.label=s[1],s=n;break}if(s&&u.label<s[2]){u.label=s[2],u.ops.push(n);break}s[2]&&u.ops.pop(),u.trys.pop();continue}n=t.call(e,u)}catch(e){n=[6,e],o=0}finally{i=s=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}var i,o,s,a,u={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return a={next:n(0),throw:n(1),return:n(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a};Object.defineProperty(exports,"__esModule",{value:!0});var jquery_1=__webpack_require__(1),idiom_1=__webpack_require__(3),http_1=__webpack_require__(34),modelDefinitions_1=__webpack_require__(37),lib_1=__webpack_require__(385),ui_1=__webpack_require__(6),behaviours_1=__webpack_require__(386),globals_1=__webpack_require__(38),template_1=__webpack_require__(390),moment_1=__webpack_require__(916),underscore_1=__webpack_require__(4),angular_1=__webpack_require__(909),entcore_1=__webpack_require__(388),ng_start_1=__webpack_require__(943),directives=__webpack_require__(960),me_1=__webpack_require__(937),axios_1=__webpack_require__(7),theme_1=__webpack_require__(1050),ui=ui_1.ui,module=angular_1.angular.module("app",["ngSanitize","ngRoute"],["$interpolateProvider",function(e){e.startSymbol("[["),e.endSymbol("]]")}]).config(["$sceDelegateProvider",function(e){e.resourceUrlWhitelist(["self",window.CDN_DOMAIN+"/**"])}]).factory("route",["$rootScope","$route","$routeParams",function(e,t,n){var r={},i=void 0,o=void 0;return e.$on("$routeChangeSuccess",function(e,s){r[t.current.action]instanceof Array&&(i!==t.current.action||o!==t.current.params&&0!==Object.getOwnPropertyNames(t.current.params).length)&&(i=t.current.action,o=t.current.params,r[t.current.action].forEach(function(e){return e(n)}),setTimeout(function(){ui.scrollToId(window.location.hash.split("#")[1])},100))}),function(e){for(var t in e)r[t]||(r[t]=[]),r[t].push(e[t])}}]).factory("model",["$timeout",function(e){var t=modelDefinitions_1.Collection.prototype.trigger;modelDefinitions_1.Collection.prototype.trigger=function(n){e(function(){t.call(this,n)}.bind(this),10)};var n=modelDefinitions_1.Model.prototype.trigger;return modelDefinitions_1.Model.prototype.trigger=function(t,r){e(function(){n.call(this,t,r)}.bind(this),10)},modelDefinitions_1.model}]).factory("xmlHelper",function(){return{xmlToJson:function(e,t,n,r){var i,o=this;return t||(t={}),n||(n=!0),null==r&&(r=!0),i=n&&e.nodeName.indexOf(":")>-1?e.nodeName.split(":")[1]:e.nodeName,jquery_1.$(e).children().length>0?(t[i]=r?{}:[],underscore_1._.each(jquery_1.$(e).children(),function(e){if(r)return o.xmlToJson(e,t[i],n,r);t[i].push(o.xmlToJson(e,{},n,r))})):t[i]=jquery_1.$(e).text(),t}}}).factory("httpWrapper",function(){return{wrap:function(e,t,n){var r=this;if("function"==typeof t&&("object"!=typeof r[e]&&(r[e]={}),!r[e].loading)){r[e].loading=!0;for(var i=[],o=3;o<arguments.length;o++)i.push(arguments[o]);var s,a=function(){r[e].loading=!1,r.$apply()};s=n?t.apply(n,i):t.apply(r,i),s&&s.xhr?s.xhr.complete(a):a()}}}});theme_1.initThemeDirective(module),theme_1.initThemeLegacyDirective(module),globals_1.routes.routing&&module.config(["$routeProvider",globals_1.routes.routing]);for(var directive in directives)ng_start_1.ng.directives.push(directives[directive]);module.directive("container",["$timeout",function(e){return{restrict:"E",scope:!0,template:'<div ng-include="templateContainer"></div>',controller:["$scope","$attrs",function(t,n){t.tpl=template_1.template;var r=n.template;this.template=r;var i=function(){e(function(){t.templateContainer=template_1.template.containers[r],"empty"===t.templateContainer&&(t.templateContainer=void 0)},0)};template_1.template.watch(r,i),t.$on("$destroy",function(){template_1.template.unwatch(r,i)}),r&&(t.templateContainer=template_1.template.containers[r])}]}}]),module.directive("colorSelect",function(){return{restrict:"E",scope:{ngModel:"="},replace:!0,template:'<div class="color-picker" ng-class="{ opened: pickColor }"><button class="colors-opener" type="button"></button><div class="colors-list"><button type="button" ng-repeat="color in colors" class="[[color]]" ng-click="setColor(color)"></button></div></div>',link:function(e,t,n){e.colors=["orange","red","purple","blue","green","black","white","transparent"],e.setColor=function(t){e.ngModel=t},t.find(".colors-opener").on("click",function(t){e.pickColor=!e.pickColor,e.$apply("pickColor"),t.stopPropagation(),jquery_1.$("body, .main").one("click",function(){e.pickColor=!1,e.$apply("pickColor")})})}}}),module.directive("soundSelect",function(){return{restrict:"E",transclude:!0,scope:{ngModel:"=",ngChange:"&",visibility:"@"},template:'<div><audio ng-src="[[ngModel]]" controls ng-if="ngModel" style="cursor: pointer"></audio><button ng-click="display.userSelecting = true"><i18n>audio.pick</i18n></button><lightbox show="display.userSelecting" on-close="userSelecting = false;"><div ng-if="display.userSelecting"><media-library visibility="selectedFile.visibility"ng-change="updateDocument()" ng-model="selectedFile.file" file-format="\'audio\'"></media-library></div></lightbox></div>',link:function(e,t,n){e.display={},e.selectedFile={file:{},visibility:"protected"},e.selectedFile.visibility=e.$parent.$eval(n.visibility),e.selectedFile.visibility||(e.selectedFile.visibility="protected"),e.selectedFile.visibility=e.selectedFile.visibility.toLowerCase(),e.updateDocument=function(){e.display.userSelecting=!1;var t="/workspace/document/";"public"===e.selectedFile.visibility&&(t="/workspace/pub/document/"),e.ngModel=t+e.selectedFile.file._id,e.$apply("ngModel"),e.ngChange()},t.on("click","audio",function(){e.userSelecting=!0,e.$apply("userSelecting")})}}}),module.directive("mediaSelect",function(){return{restrict:"E",transclude:!0,replace:!0,scope:{ngModel:"=",multiple:"=",ngChange:"&",fileFormat:"=",label:"@",class:"@",value:"@",mytooltip:"@"},template:'<div><input type="button" class="pick-file [[class]]" tooltip="[[mytooltip]]" /><lightbox show="userSelecting" on-close="userSelecting = false;"><div ng-if="userSelecting"><media-library ng-change="updateDocument()" ng-model="selectedFile.file" multiple="multiple" file-format="fileFormat" visibility="selectedFile.visibility"></media-library></div></lightbox></div>',compile:function(e,t){return!t.mytooltip&&t.tooltip&&(console.warn("tooltip attribute is deprecated on media-select tag, use mytooltip instead."),e.attr("mytooltip",t.tooltip),e.removeAttr("tooltip"),t.mytooltip=t.tooltip,delete t.tooltip),function(e,t,n){e.selectedFile={file:{},visibility:"protected"},e.selectedFile.visibility=e.$parent.$eval(n.visibility),e.selectedFile.visibility||(e.selectedFile.visibility="protected"),e.selectedFile.visibility=e.selectedFile.visibility.toLowerCase(),e.mytooltip||t.find("input").removeAttr("tooltip"),n.$observe("label",function(e){t.find("[type=button]").attr("value",idiom_1.idiom.translate(e))}),e.$watch("fileFormat",function(t){void 0===t&&(e.fileFormat="img")}),e.updateDocument=function(){e.userSelecting=!1;var t="/workspace/document/";"public"===e.selectedFile.visibility&&(t="/workspace/pub/document/"),e.ngModel=t+e.selectedFile.file._id,e.$apply("ngModel"),e.ngChange()},t.find(".pick-file").on("click",function(){e.userSelecting=!0,e.$apply("userSelecting")})}}}}),module.directive("filesPicker",function(){return{restrict:"E",transclude:!0,replace:!0,template:'<input type="button" ng-transclude />',scope:{ngChange:"&",ngModel:"="},link:function(e,t,n){t.on("click",function(){var t=jquery_1.$("<input />",{type:"file"}).hide().appendTo("body");void 0!==n.multiple&&t.attr("multiple",!0),t.on("change",function(){e.ngModel=t[0].files,e.$apply(),e.$eval(e.ngChange),e.$parent.$apply()}),t.click(),t.trigger("touchstart")})}}}),module.directive("filesInputChange",function(){return{restrict:"A",scope:{filesInputChange:"&",file:"=ngModel"},link:function(e,t){e.$watch("file",function(e,n){e!==n&&(e||(t[0].value=""))}),t.bind("change",function(){e.file=t[0].files,e.$apply(),e.filesInputChange(),e.$apply()})}}}),module.directive("iconsSelect",function(){return{restrict:"E",scope:{options:"=",class:"@",current:"=",change:"&"},link:function(e,t,n){var r;e.separateIcon=n.hasOwnProperty("separateIcon");var i=function(){e.current.id=r.id,e.current.icon=r.icon,e.current.text=r.text};e.$watch("options",function(){e.options&&e.options.length&&(r=underscore_1._.findWhere(e.options,{id:e.current.id}),i(),t.bind("change",function(){r=underscore_1._.findWhere(e.options,{id:t.find(".current").data("selected")}),i(),e.$eval(e.change),e.$apply()}))},!0)},template:'\n\t\t\t<div ng-class="{\'drop-down-block\': !separateIcon}">\n\t\t\t\t<div ng-if="separateIcon" class="current fixed cell twelve" data-selected="[[current.id]]">\n\t\t\t\t\t<i class="[[current.icon]]"></i>\n\t\t\t\t\t<span translate content="[[current.text]]"></span>\n\t\t\t\t</div>\n\t\t\t\t<article ng-if="!separateIcon" class="current cell twelve medium-block-container" data-selected="[[current.id]]">\n\t\t\t\t\t<div class="flex-row drop-down-label no-margin no-border">\n\t\t\t\t\t\t<i class="arrow no-margin right-spacing"></i>\n\t\t\t\t\t\t<i class="[[current.icon]] cell no-2d no-margin right-spacing-twice"></i>\n\t\t\t\t\t\t<i class="[[current.icon === \'default\' ? \'none\' : current.icon]] cell no-1d no-margin right-spacing-twice"></i>\n\t\t\t\t\t\t<h2 class="cell-ellipsis"><a translate content="[[current.text]]"></a></h2>\n\t\t\t\t\t</div>\n\t\t\t\t</article>\n\t\t\t\t<div class="options-list icons-view">\n\t\t\t\t<div class="wrapper">\n\t\t\t\t\t<div class="cell three option" data-value="[[option.id]]" data-ng-repeat="option in options">\n\t\t\t\t\t\t<i class="[[option.icon]] no-2d"></i>\n\t\t\t\t\t\t<i class="[[option.icon === \'default\' ? \'none\' : option.icon]] no-1d"></i>\n\t\t\t\t\t\t<span translate content="[[option.text]]"></span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t'}}),module.directive("preview",function(){return{restrict:"E",template:'<div class="row content-line"><div class="row fixed-block height-four"><div class="four cell fixed image clip text-container"></div><div class="eight cell fixed-block left-four paragraph text-container"></div></div></div>',replace:!0,scope:{content:"="},link:function(e,t,n){e.$watch("content",function(e){var n=jquery_1.$(e);t.find(".image").html(n.find("img").first());var r=underscore_1._.find(n.find("p"),function(e){return jquery_1.$(e).text().length>0});t.find(".paragraph").text(jquery_1.$(r).text())})}}}),module.service("tracker",["$document","$location","$rootScope",function(){var e=function(e,t,n){this.$document=e,this.$location=t,this.$rootScope=n,this.type="none",this.params={},this.isInitialized=!1,this.hasOptedIn=!1};return e.prototype.init=function(){var e=this;http_1.http().get("/analyticsConf").done(function(t){t&&"string"==typeof t.type&&t.type.trim().length>0&&t[t.type.trim()]&&e.initFromType(t.type,t[t.type])}).error(function(e){})},e.prototype.initFromType=function(e,t){if(!this.isInitialized)switch(this.isInitialized=!0,this.type=e,this.params=t,e){case"matomo":try{var n=window._paq=window._paq||[];n.push(["setRequestMethod","POST"]),t.UserId&&n.push(["setUserId",t.UserId]),t.Profile&&n.push(["setCustomDimension",1,t.Profile]),t.School&&n.push(["setCustomDimension",2,t.School]),t.Project&&n.push(["setCustomDimension",3,t.Project]),n.push(["trackPageView"]),n.push(["enableLinkTracking"]),function(){n.push(["setTrackerUrl",t.url+"matomo.php"]),n.push(["setSiteId",t.siteId]);var e=document,r=e.createElement("script"),i=e.getElementsByTagName("script")[0];r.type="text/javascript",r.async=!0,r.src=t.url+"ode.js",i.parentNode.insertBefore(r,i)}();var r=this;if(n.push([function(){r.hasOptedIn=!this.isUserOptedOut(),r.$rootScope.$digest()}]),t.detailApps&&window.entcore.template){if(angular_1.angular.isArray(t.doNotTrack)&&modelDefinitions_1.model&&modelDefinitions_1.model.me&&angular_1.angular.isArray(modelDefinitions_1.model.me.apps))for(var i=0;i<modelDefinitions_1.model.me.apps.length;i++)if(modelDefinitions_1.model.me.apps[i]&&modelDefinitions_1.model.me.apps[i].address&&modelDefinitions_1.model.me.apps[i].name&&-1!==this.$location.absUrl().indexOf(modelDefinitions_1.model.me.apps[i].address)&&-1!==t.doNotTrack.indexOf(modelDefinitions_1.model.me.apps[i].name))return;var o=this,s=window.entcore.template.open;window.entcore.template.open=function(e,t){var n=s.apply(window.entcore.template,arguments);if("main"===e){t=t||"unknown";var r=o.$location.absUrl().split("#")[0]+"/"+t;o.trackPage(o.$document[0].title+" - "+e,r)}return n}}}catch(e){console.error('Invalid tracker object. Should look like {"siteId": 99999, "url":"http://your.matomo.server.com/"}"',e)}}},e.prototype.trackPage=function(e,t){switch(this.type){case"matomo":var n=window._paq=window._paq||[];n.push(["setDocumentTitle",e]),n.push(["setCustomUrl",t]),n.push(["trackPageView"])}},e.prototype.trackEvent=function(e,t,n,r){switch(this.type){case"matomo":var i=window._paq=window._paq||[],o=["trackEvent",e,t];"string"==typeof n&&(n=n.trim(),n.length>0&&o.push(n)),"number"==typeof r&&o.push(r),i.push(o)}},e.prototype.saveOptIn=function(){switch(this.type){case"matomo":(window._paq=window._paq||[]).push(this.hasOptedIn?["forgetUserOptOut"]:["optUserOut"])}},e}()]);var profileTypes=function(){switch(modelDefinitions_1.model.me.type){case"ENSEIGNANT":return"teacher";case"ELEVE":return"student";case"PERSRELELEVE":return"relative";case"PERSEDUCNAT":return"personnel";default:return modelDefinitions_1.model.me.type}};module.directive("portal",["$compile","tracker",function(e,t){function n(){http_1.http().get("/zendeskGuide/config").done(function(e){if(e&&e.key){var t=document.createElement("script");t.id="ze-snippet",t.src="https://static.zdassets.com/ekr/snippet.js?key="+e.key,document.body.appendChild(t).onload=function(){"es"===window.currentLanguage?window.zE(function(){window.zE.setLocale("es-419")}):window.zE(function(){window.zE.setLocale("fr")});var t=window.location.href;Object.keys(e.module).length>0&&r(e.module,t),window.zE("webWidget","updateSettings",{webWidget:{color:{theme:e.color||"#ffc400"},zIndex:8e3,launcher:{mobile:{labelVisible:!0}},contactForm:{suppress:!modelDefinitions_1.model.me.hasWorkflow("net.atos.entng.support.controllers.DisplayController|view")},helpCenter:{messageButton:{"*":"Assistance ENT","es-419":"Asistencia ENT"},originalArticleButton:null===e.articleRedirectButton||void 0===e.articleRedirectButton||e.articleRedirectButton}}}),window.addEventListener("scroll",function(){window.zE("webWidget","updateSettings",{webWidget:{launcher:{mobile:{labelVisible:window.scrollY<=5}}}})}),window.addEventListener("beforeprint",function(){window.zE("webWidget","hide")}),window.addEventListener("afterprint",function(){window.zE("webWidget","show")}),window.zE("webWidget:on","open",function(){Object.keys(e.module).length>0&&window.location.href!==t&&(r(e.module,window.location.href),t=window.location.href),modelDefinitions_1.model.me.hasWorkflow("net.atos.entng.support.controllers.DisplayController|view")&&window.zE("webWidget","updateSettings",{webWidget:{contactForm:{suppress:!1}}})}),window.zE("webWidget:on","userEvent",function(e){var t=e.category,n=e.action,r=e.properties;"Contact Form Shown"===n&&"Zendesk Web Widget"===t&&r&&"contact-form"===r.name&&modelDefinitions_1.model.me.hasWorkflow("net.atos.entng.support.controllers.DisplayController|view")&&(window.zE("webWidget","updateSettings",{webWidget:{contactForm:{suppress:!0}}}),window.zE("webWidget","close"),window.open("/support","_blank"))})}}})}function r(e,t){var n=t.split("/"),r="",i="";if(e.labels&&Object.keys(e.labels).length>0&&n.length>3){for(var o=3;o<n.length;o++)n[o].length>0&&(null==n[o].match(/\d/)||"viescolaire#"===n[3]&&null!==n[o].match(/\%20/))&&(r=0===r.length?n[o]:r+"/"+n[o]);e.labels.hasOwnProperty(r)?i=e.labels[r]:e.default&&String(e.default).length>0&&(i=e.default)}else e.default&&String(e.default).length>0&&(i=e.default);n&&n.includes("formulaire#")&&window.zE("webWidget","updateSettings",{webWidget:{offset:{mobile:{horizontal:"70px",vertical:"0px"}}}}),i.includes("${adml}")&&(i=me_1.Me.session.functions.ADMIN_LOCAL?i.replace("${adml}","adml"):i.replace("/${adml}","")),i.includes("${profile}")&&(i=i.replace("${profile}",profileTypes())),i.includes("${theme}")&&(i=entcore_1.skin.is1D?i.replace("${theme}","1D"):i.replace("${theme}","2D")),i.length>0&&window.zE("webWidget","helpCenter:setSuggestions",{labels:[i]})}return{restrict:"E",transclude:!0,templateUrl:function(e,t){var n=window.springboardBuildDate||(new Date).getTime();return t.templateUrl?t.templateUrl+"?version="+n:entcore_1.skin.portalTemplate+"?version="+n},compile:function(r,i,o){return t.init(),modelDefinitions_1.model.me.hasWorkflow("fr.openent.chatbot.controller.ChatbotController|view")&&behaviours_1.Behaviours.loadBehaviours("chatbot",function(){behaviours_1.Behaviours.applicationsBehaviours.chatbot.chatbot.init()}),modelDefinitions_1.model.me.hasWorkflow("org.entcore.portal.controllers.PortalController|optionalFeatureCantoo")&&http_1.http().get("/optionalFeature/cantoo").done(function(e){var t=document.createElement("script");t.src=e.scriptPath,t.async=!0,document.body.appendChild(t)}),n(),jquery_1.$("html").addClass("portal-container"),r.find("[logout]").attr("href","/auth/logout?callback="+entcore_1.skin.logoutCallback),i.templateUrl||ui.setStyle(entcore_1.skin.theme),http_1.Http.prototype.bind("disconnected",function(){window.location.href="/"}),function(t,n,r,i,o){t.template=template_1.template,t.$$showInfoTipRgpdCookie=!0,t.goToMyAccount=function(){document.location.href="/userbook/mon-compte",axios_1.default.put("/userbook/preference/rgpdCookies",{showInfoTip:!1})},t.closeBanner=function(){t.$$showInfoTipRgpdCookie=!1,axios_1.default.put("/userbook/preference/rgpdCookies",{showInfoTip:!1})},t.$on("$locationChangeStart",function(e,t,n){window.zE&&window.zE("webWidget","close")});n.prepend(e('\n\t\t\t\t\t<div class="ode-theme-v1">\n\t\t\t\t\t\t<infotip\n\t\t\t\t\t\t\tname="showInfoTip" \n\t\t\t\t\t\t\tclass="info" \n\t\t\t\t\t\t\tstyle="position:fixed; bottom:0; right:20px; width: 400px; z-index: 1000"\n\t\t\t\t\t\t\tsave-preference-under="rgpdCookies"\n\t\t\t\t\t\t\tshow-once="false"\n\t\t\t\t\t\t\tng-show="$$showInfoTipRgpdCookie"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t<i18n>rgpd.cookies.banner.text1</i18n>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<div class="right-magnet">\n\t\t\t\t\t\t\t\t<button type="button" ng-click="goToMyAccount()" class="cancel">\n\t\t\t\t\t\t\t\t\t<i18n>rgpd.cookies.banner.button.consult</i18n>\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t<button type="button" ng-click="closeBanner()">\n\t\t\t\t\t\t\t\t\t<i18n>rgpd.cookies.banner.button.close</i18n>\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</infotip>\n\t\t\t\t\t</div>\n\t\t\t\t')(t))}}}}]),module.directive("publicInfotip",["$compile","tracker",function(e,t){return{restrict:"E",transclude:!0,template:'\n\t\t<infotip\n\t\t\tname="showInfoTip"\n\t\t\tclass="info"\n\t\t\tstyle="position:fixed; bottom:0; right:20px; width: 400px; z-index: 1000"\n\t\t\tsave-preference-under="rgpdCookies"\n\t\t\tshow-once="false"\n\t\t\tng-show="$$showPublicInfoTipRgpdCookie">\n\t\t\t<p>\n\t\t\t\t<i18n>rgpd.cookies.banner.text2</i18n>\n\t\t\t</p>\n\t\t\t<div class="right-magnet">\n\t\t\t\t<button type="button" ng-click="closeBanner()">\n\t\t\t\t\t<i18n>rgpd.cookies.banner.button.close</i18n>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</infotip>\n\t\t',link:function(e,t,n){e.template=template_1.template,e.$$showPublicInfoTipRgpdCookie=!1;var r=window.localStorage.getItem("showInfoTip.cookies");modelDefinitions_1.model.me||"false"==r||(e.$$showPublicInfoTipRgpdCookie=!0),e.closeBanner=function(){e.$$showPublicInfoTipRgpdCookie=!1,window.localStorage.setItem("showInfoTip.cookies","false")}}}}]),module.directive("xiti",function(){return{restrict:"E",compile:function(e,t){return function(t){jQuery.getScript("/xiti/public/js/directive.js",function(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(n){switch(n.label){case 0:return e.on("run.script",function(e,t){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:return[4,window.xiti.run(t)];case 1:return e.sent(),[2]}})})}),t.$on("$destroy",function(){e.off()}),[4,window.xiti.run()];case 1:return n.sent(),[2]}})})})}}}}),module.directive("adminPortal",function(){return entcore_1.skin.skin="admin",entcore_1.skin.theme="/public/admin/default/",{restrict:"E",transclude:!0,templateUrl:"/public/admin/portal.html",compile:function(e,t,n){jquery_1.$("html").addClass("portal-container"),jquery_1.$("[logout]").attr("href","/auth/logout?callback="+entcore_1.skin.logoutCallback),http_1.http().get("/userbook/preference/admin").done(function(e){var t=e.preference?JSON.parse(e.preference):null;t&&t.path?ui.setStyle("/public/admin/"+t.path+"/"):ui.setStyle(entcore_1.skin.theme)}).error(function(e){ui.setStyle(entcore_1.skin.theme)})}}}),module.directive("portalStyles",function(){return{restrict:"EA",compile:function(e,t){"false"!=t.portalStyles&&jquery_1.$("html").addClass("portal-container"),jquery_1.$("[logout]").attr("href","/auth/logout?callback="+entcore_1.skin.logoutCallback),ui.setStyle(entcore_1.skin.theme)}}}),module.directive("defaultStyles",function(){return{restrict:"EA",link:function(e,t,n){"false"!=n.defaultStyles&&jquery_1.$("html").addClass("portal-container"),ui.setStyle(entcore_1.skin.theme)}}}),module.directive("skinSrc",function(){return{restrict:"A",scope:"&",link:function(e,t,n){if(jquery_1.$("#theme").attr("href")){var r=entcore_1.skin.basePath;n.$observe("skinSrc",function(){-1===n.skinSrc.indexOf("http://")&&-1===n.skinSrc.indexOf("https://")&&-1===n.skinSrc.indexOf("/workspace/")?t.attr("src",r+n.skinSrc):t.attr("src",n.skinSrc)})}}}}),module.directive("defaultSrc",function(){return{restrict:"A",scope:"&",link:function(e,t,n){t.bind("error",function(){void 0!=n.defaultSrc&&(-1===n.defaultSrc.indexOf("http://")&&-1===n.defaultSrc.indexOf("https://")&&-1===n.defaultSrc.indexOf("/workspace/")?t.attr("src",entcore_1.skin.basePath+n.defaultSrc):t.attr("src",n.defaultSrc),n.defaultSrc=void 0)})}}}),module.directive("localizedClass",function(){return{restrict:"A",link:function(e,t,n){n.$addClass(globals_1.currentLanguage)}}}),module.directive("pullDownMenu",function(){return{restrict:"E",transclude:!0,template:'<div class="pull-down-menu hide" ng-transclude></div>',controller:function(e){}}}),module.directive("pullDownOpener",function(){return{restrict:"E",require:"^pullDownMenu",transclude:!0,template:'<div class="pull-down-opener" ng-transclude></div>',link:function(e,t,n){t.find(".pull-down-opener").on("click",function(){var e=t.parents(".pull-down-menu");e.hasClass("hide")?(setTimeout(function(){jquery_1.$("body").on("click.pulldown",function(){e.addClass("hide"),jquery_1.$("body").unbind("click.pulldown")})},0),e.removeClass("hide")):(jquery_1.$("body").unbind("click.pulldown"),e.addClass("hide"))})}}}),module.directive("pullDownContent",function(){return{restrict:"E",require:"^pullDownMenu",transclude:!0,template:'<div class="wrapper"><div class="arrow"></div><div class="pull-down-content" ng-transclude></div></div>',link:function(e,t,n){}}}),module.directive("topNotification",function(){return{restrict:"E",template:'<div class="notify-top"><div class="notify-top-content" ng-bind-html="content"></div><div class="notify-top-actions"><span ng-click="cancel()">[[doConfirm ? labels().cancel : labels().ok]]</span><span ng-click="ok()" ng-show="doConfirm">[[labels().confirm]]</span> </div></div>',scope:{trigger:"=",confirm:"=",content:"=",labels:"&"},link:function(e,t,n){t.css("display","none"),e.doConfirm=!1,e.cancel=function(){e.trigger=!1},e.ok=function(){e.trigger=!1,e.confirm()},e.labels()||(e.labels=function(){return{confirm:idiom_1.idiom.translate("confirm"),cancel:idiom_1.idiom.translate("cancel"),ok:idiom_1.idiom.translate("ok")}}),e.$watch("trigger",function(e){e?t.slideDown():t.slideUp()}),e.$watch("confirm",function(t){e.doConfirm=!!t})}}}),module.directive("dropDownButton",function(){return{restrict:"E",transclude:"true",controller:["$scope",function(e){}],template:'<div class="drop-down-button hidden"><div ng-transclude></div></div>',link:function(e,t,n){t.on("click",".opener",function(){t.find(".drop-down-button").removeClass("hidden"),jquery_1.$(document).one("mousedown",function(e){setTimeout(function(){t.find(".drop-down-button").addClass("hidden")},200)})})}}}),module.directive("opts",function(){return{restrict:"E",require:"^dropDownButton",transclude:!0,template:'<div class="options"><ul ng-transclude></ul></div>',link:function(e,t,n){t.on("click","li",function(){t.parents(".drop-down-button").addClass("hidden")})}}}),module.directive("loadingIcon",function(){return{restrict:"E",link:function(e,t,n){var r=function(){if(0!==jquery_1.$("#theme").length){var e=entcore_1.skin.basePath+"/img/icons/anim_loading_small.gif";jquery_1.$("<img>").attr("src",e).attr("class",n.class).addClass("loading-icon").appendTo(t)}};"loading"===n.default&&r(),http_1.http().bind("request-started."+n.request,function(e){t.find("img").remove(),r()}),void 0===n.onlyLoadingIcon?http_1.http().bind("request-ended."+n.request,function(e){var n=entcore_1.skin.basePath+"/img/icons/checkbox-checked.png";t.find(".loading-icon").remove(),jquery_1.$("<img>").attr("src",n).appendTo(t)}):http_1.http().bind("request-ended."+n.request,function(e){t.find("img").remove()})}}}),module.directive("loadingPanel",function(){return{restrict:"A",link:function(e,t,n){n.$observe("loadingPanel",function(e){http_1.http().bind("request-started."+n.loadingPanel,function(e){var n=entcore_1.skin.basePath+"/img/illustrations/loading.gif";0===t.children(".loading-panel").length&&t.append('<div class="loading-panel"><h1>'+idiom_1.idiom.translate("loading")+'</h1><img src="'+n+'" /></div>')}),http_1.http().bind("request-ended."+n.loadingPanel,function(e){t.find(".loading-panel").remove()})})}}}),module.directive("behaviour",function(){return{restrict:"E",template:"<div ng-transclude></div>",replace:!1,transclude:!0,scope:{resource:"="},link:function(e,t,n){if(console.error('This directive is deprecated. Please use "authorize" instead.'),!n.name)throw"Behaviour name is required";var r=t.children("div");e.$watch("resource",function(t){e.resource instanceof Array&&void 0!==underscore_1._.find(e.resource,function(e){return!e.myRights||void 0===e.myRights[n.name]})||e.resource instanceof modelDefinitions_1.Model&&(!e.resource.myRights||void 0===e.resource.myRights[n.name])?r.hide():r.show()})}}}),module.directive("authorize",function(){return{restrict:"EA",link:function(e,t,n){if(void 0===n.name&&void 0===n.authorize)throw"Right name is required";var r=t.children("div"),i=function(){var i=e.$eval(n.resource),o=n.name||n.authorize;o&&i instanceof Array&&void 0!==underscore_1._.find(i,function(e){return!e.myRights||void 0===e.myRights[o]})||i instanceof modelDefinitions_1.Model&&(!i.myRights||void 0===i.myRights[o])?(r.remove(),t.hide()):(t.append(r),t.show())};n.$observe("name",i),n.$observe("authorize",i),e.$watch(function(){return e.$eval(n.resource)},i)}}}),module.directive("drawingZone",function(){return function(e,t,n){t.addClass("drawing-zone")}}),module.directive("resizable",function(){return{restrict:"A",link:function(e,t,n){ui.extendElement.resizable(t,{lock:{horizontal:t.attr("horizontal-resize-lock"),vertical:t.attr("vertical-resize-lock")},thickness:n.resizeThickness?parseInt(n.resizeThickness):void 0,preserveRatio:n.preserveRatio&&"false"!==n.preserveRatio})}}}),module.directive("draggable",function(){return{restrict:"A",link:function(e,t,n){"false"!=n.draggable&&void 0===n.native&&ui.extendElement.draggable(t,{mouseUp:function(){t.on("click",function(){e.$parent.$eval(n.ngClick)})},noScroll:void 0!==n.draggablePreventScroll})}}}),module.directive("progressBar",function(){return{restrict:"E",scope:{max:"=",filled:"=",unit:"@"},template:'<div class="progress-bar"><div class="filled" ng-style="{width: filledPercent + \'%\'}">[[filled]] <span translate content="[[unit]]"></span></div>[[max]] <span translate content="[[unit]]"></span></div>',link:function(e,t,n){function r(){e.filledPercent=100*e.filled/e.max,e.filledPercent<10?t.find(".filled").addClass("small"):t.find(".filled").removeClass("small")}e.filledPercent=0,e.$watch("filled",function(e){r()}),e.$watch("max",function(e){r()})}}});var getDatePickerFormat=function(){return"datepicker.format"==idiom_1.idiom.translate("datepicker.format")?"dd/mm/yyyy":idiom_1.idiom.translate("datepicker.format")},getDatePickerMomentFormat=function(){return getDatePickerFormat().toUpperCase()},DatepickerController=function(){function e(e){this.element=e,this._started=!1}return e.prototype.init=function(e){if(this.element.datepicker){var t=this.element.datepicker(e);return this._started=!0,t}throw"[DatepickerController.init] datepicker plugin is not ready"},e.prototype.hide=function(){this._started&&this.element.datepicker("hide")},e.prototype.show=function(){this._started&&this.element.datepicker("show")},e.prototype.setValue=function(e){this._started&&this.element.datepicker("setValue",e)},e.prototype.destroy=function(){this._started&&this.element.datepicker("destroy"),this._started=!1},e}();module.directive("datePicker",["$compile","$timeout",function(e,t){return{scope:{minDate:"=",ngModel:"=",ngChange:"&",datePickerDelegate:"="},transclude:!0,replace:!0,restrict:"E",require:"ngModel",template:'<input ng-transclude type="text" ng-readonly="isreadonly"/>',link:function(e,t,n,r){e.modelCtrl=r;var i=function(){return e.datePickerDelegate},o=function(){i()&&i().onValidationChange&&i().onValidationChange({valid:r.$valid})};e.$watch("modelCtrl.$valid",function(){return o()}),e.$on("$destroy",function(){i()&&i().onDestroy&&i().onDestroy({ngModel:r})}),i()&&i().onInit&&i().onInit({ngModel:r});var s=getDatePickerFormat(),a=getDatePickerMomentFormat();e.isreadonly=!!n.readonly;var u=new DatepickerController(t),c=function(e){return moment_1.moment(e,["DD/MM/YYYY","YYYY-MM-DD","YYYY-MM-DD[T]HH:mm:ss.SSS[Z]","YYYY-MM-DD[T]HH:mm:ss.SSS","YYYY-MM-DD[T]HH:mm:ss"],!0)};r.$formatters.push(function(e){var t=function(e){return"string"==typeof e?c(e):e instanceof Date?moment_1.moment(e):"object"==typeof e&&e.isValid?e:null}(e);return t&&t.isValid&&t.isValid()?(d(t),t.format(a)):""});var l=function(e){return e?moment_1.moment(e,[a,"YYYY-MM-DD"],!0):null};r.$parsers.push(function(e){var t=l(e);return t&&t.isValid&&t.isValid()?(d(t),t.toDate()):r.$modelValue}),r.$validators.validDateMoment=function(e,t){var n=l(t);return!n||!n.isValid||n.isValid()};var d=function(e){if(e&&e.isValid&&e.isValid()){var t=e.format(a);u.setValue(t)}};r.$viewChangeListeners.push(function(){var t=e.minDate;t&&t.setHours(0,0,0,0),t&&r.$modelValue<t?setTimeout(function(){r.$setViewValue(moment_1.moment(t).format(a))}):setTimeout(function(){e.$parent.$eval(e.ngChange),e.$parent.$apply()})});var h=function(){r.$setViewValue(t.val())};e.minDate&&e.$watch("minDate",function(e){h()}),http_1.http().loadScript("/"+globals_1.infraPrefix+"/public/js/bootstrap-datepicker.js").then(function(){var e=moment_1.moment.weekdays().indexOf(moment_1.moment.weekdays(!0)[0]);u.init({format:s,weekStart:e,dates:{months:moment_1.moment.months(),monthsShort:moment_1.moment.monthsShort(),days:moment_1.moment.weekdays(),daysShort:moment_1.moment.weekdaysShort(),daysMin:moment_1.moment.weekdaysMin()}}).on("changeDate",function(){h(),u.hide()}),u.hide()});var f=function(e){(!e.originalEvent||t[0]!==e.originalEvent.target&&0===jquery_1.$(".datepicker").find(e.originalEvent.target).length)&&u.hide()};jquery_1.$("body, lightbox").on("click",f),jquery_1.$("body, lightbox").on("focusin",f),t.on("focus",function(){jquery_1.$(this).parents("form").on("submit",function(){u.hide()}),u.show()}),t.on("$destroy",function(){u.hide()})}}}]),module.directive("datePickerIcon",function(){return{scope:{ngModel:"=",ngChange:"&"},replace:!0,restrict:"E",template:'<div class="date-picker-icon"> <input type="text" class="hiddendatepickerform" style="visibility: hidden; width: 0px; height: 0px; float: inherit"/> <a ng-click="openDatepicker()"><i class="calendar"></i></a> </div>',link:function(e,t,n){http_1.http().loadScript("/"+globals_1.infraPrefix+"/public/js/bootstrap-datepicker.js").then(function(){var n=getDatePickerFormat(),r=getDatePickerMomentFormat(),i=t.find(".hiddendatepickerform");i.value=moment_1.moment(new Date).format(r);var o=moment_1.moment.weekdays().indexOf(moment_1.moment.weekdays(!0)[0]);i.datepicker({format:n,weekStart:o,dates:{months:moment_1.moment.months(),monthsShort:moment_1.moment.monthsShort(),days:moment_1.moment.weekdays(),daysShort:moment_1.moment.weekdaysShort(),daysMin:moment_1.moment.weekdaysMin()}}).on("changeDate",function(t){e.ngModel=t.date,e.$apply("ngModel"),jquery_1.$(this).datepicker("hide"),"function"==typeof e.ngChange&&e.ngChange()}),i.datepicker("hide"),e.openDatepicker=function(){i.datepicker("show")}})}}}),module.directive("filters",function(){return{restrict:"E",template:'<div class="row line filters"><div class="filters-icons"><ul ng-transclude></ul></div></div><div class="row"></div> ',transclude:!0,link:function(e,t,n){}}}),module.directive("alphabetical",["$parse",function(e){return{restrict:"E",controller:["$scope",function(e){e.letters=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","#"],e.matchingElements={},e.matching=function(t){return function(n){return n[e.title][0].toUpperCase()===t||"#"===t&&n[e.title][0].toLowerCase()===n[e.title][0].toUpperCase()}},e.updateElements=function(){e.letters.forEach(function(t){e.matchingElements[t]=underscore_1._.filter(e.collection(e),function(n){return n[e.title][0].toUpperCase()===t||"#"===t&&n[e.title][0].toLowerCase()===n[e.title][0].toUpperCase()})})},e.display||(e.display={}),e.display.pickLetter}],compile:function(t,n){var r=n.list,i=t.html();i=i.replace('<div class="item"','<div ng-repeat="'+r+' |filter: matching(letter)" class="item"'),t.html('<lightbox class="letter-picker" show="display.pickLetter" on-close="display.pickLetter = false;"><div ng-repeat="letter in letters"><h2 ng-click="viewLetter(letter)" class="cell" ng-class="{disabled: matchingElements[letter].length <= 0 }">[[letter]]</h2></div></lightbox><div ng-repeat="letter in letters"><div ng-if="matchingElements[letter].length > 0" class="row"><h1 class="letter-picker" ng-click="display.pickLetter = true;" id="alphabetical-[[letter]]">[[letter]]</h1><hr class="line" /><div class="row">'+i+'</div></div><div ng-if="matchingElements[letter].length > 0" class="row"></div></div>'),t.addClass("alphabetical");var o=r.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),s=o[2];return function(t,n,r){t.title=r.title||"title",n.removeAttr("title"),t.collection=e(s),t.$watchCollection(s,function(e){t.updateElements()}),t.updateElements(),t.viewLetter=function(e){document.getElementById("alphabetical-"+e).scrollIntoView(),t.display.pickLetter=!1}}}}}]),module.directive("completeClick",["$parse",function(e){return{compile:function(t,n){var r=e(n.completeClick);return function(e,t,n){t.on("click",function(t){e.$apply(function(){r(e,{$event:t})})})}}}}]),module.directive("dragstart",["$parse",function(e){return{restrict:"A",link:function(t,n,r){var i=e(r.dragstart),o=e(r.ngModel);if(void 0!==r.dragcondition&&!1===t.$eval(r.dragcondition))return void n.attr("draggable","false");n.attr("draggable","true"),n.attr("native",""),n.on("dragstart",function(e){if(o&&o(t))try{e.originalEvent.dataTransfer.setData("application/json",JSON.stringify(o(t)))}catch(n){e.originalEvent.dataTransfer.setData("Text",JSON.stringify(o(t)))}""!==r.dragstart&&i(t,{$originalEvent:e.originalEvent})}),n.on("$destroy",function(){n.off()})}}}]),module.directive("dragend",["$parse",function(e){return{restrict:"A",link:function(t,n,r){var i=e(r.dragend);n.on("dragend",function(e){""!==r.dragend&&i(t,{$originalEvent:e.originalEvent})}),n.on("$destroy",function(){n.off()})}}}]),module.directive("dragdrop",["$parse",function(e){return{restrict:"A",link:function(t,n,r){var i=e(r.dragdrop),o=e(r.dropcondition);n.on("dragover",function(e){(void 0===r.dropcondition||o(t,{$originalEvent:e.originalEvent}))&&(e.preventDefault(),e.stopPropagation(),t.$eval(r.onDragover),n.addClass("droptarget"))}),n.on("dragleave",function(e){e.preventDefault(),e.stopPropagation(),n.removeClass("droptarget")}),n.on("drop",function(e){e.originalEvent.preventDefault(),n.removeClass("droptarget");var r;try{r=JSON.parse(e.originalEvent.dataTransfer.getData("application/json"))}catch(t){r=JSON.parse(e.originalEvent.dataTransfer.getData("Text"))}i(t,{$originalEvent:e.originalEvent,$item:r})}),t.$on("$destroy",function(){n.off()})}}}]),module.directive("dropFiles",["$parse",function(e){return{link:function(t,n,r){var i=e(r.dropFiles);n.on("dragover",function(e){e.preventDefault(),t.$eval(r.onDrag),n.addClass("droptarget")}),n.on("dragleave",function(e){e.preventDefault(),t.$eval(r.onLeave),n.removeClass("droptarget")}),n.on("drop",function(e){e.preventDefault(),i.assign(t,e.originalEvent.dataTransfer.files),t.$eval(r.onDrop),t.$apply(),n.removeClass("droptarget")})}}}]),module.directive("attachments",["$parse",function(e){return{scope:!0,restrict:"E",templateUrl:"/assets/js/entcore/template/attachments.html",controller:["$scope",function(e){e.linker={resource:{}},e.attachments={me:modelDefinitions_1.model.me,display:{search:{text:"",application:{}},pickFile:!1},addAttachment:function(t){t.provider=e.attachments.display.search.application,e.ngModel(e)instanceof Array?e.ngModel(e).push(t):e.ngModel.assign(e,[t]),e.attachments.display.pickFile=!1},removeAttachment:function(t){e.ngModel.assign(e,underscore_1._.reject(e.ngModel(e),function(e){return e===t}))},attachmentsList:function(){return e.list=e.ngModel(e),e.list}}}],link:function(t,n,r){t.ngModel=e(r.ngModel),t.attachments.onChange=function(){t.$eval(r.onChange)},t.apps=t.$eval(r.apps),t.$watch(function(){return t.attachments.display.pickFile},function(e){e?t.attachments.loadApplicationResources(function(){t.attachments.searchApplication(),t.attachments.display.search.text=" ",t.$apply("attachments")}):t.attachments.display.search.text=""},!0),http_1.http().get("/resources-applications").done(function(e){t.attachments.apps=underscore_1._.filter(modelDefinitions_1.model.me.apps,function(n){return underscore_1._.find(e,function(e){return-1!==n.address.indexOf(e)&&n.icon})&&underscore_1._.find(t.apps,function(e){return-1!==n.address.indexOf(e)})}),t.attachments.display.search.application=t.attachments.apps[0],t.attachments.loadApplicationResources(function(){}),t.$apply("attachments")}),t.attachments.loadApplicationResources=function(e){e||(e=function(){t.attachments.display.searchApplication(),t.$apply("attachments")});var n=t.attachments.display.search.application.address.split("/");t.prefix=n[n.length-1],behaviours_1.Behaviours.loadBehaviours(t.prefix,function(n){n.loadResources(e),t.attachments.addResource=n.create})},t.attachments.searchApplication=function(){var e=t.attachments.display.search.application.address.split("/");t.prefix=e[e.length-1],behaviours_1.Behaviours.loadBehaviours(t.prefix,function(e){t.attachments.resources=underscore_1._.filter(e.resources,function(e){return""!==t.attachments.display.search.text&&(-1!==idiom_1.idiom.removeAccents(e.title.toLowerCase()).indexOf(idiom_1.idiom.removeAccents(t.attachments.display.search.text).toLowerCase())||e._id===t.attachments.display.search.text)})})},t.linker.createResource=function(){var e=t.attachments.display.search.application.address.split("/"),n=e[e.length-1];behaviours_1.Behaviours.loadBehaviours(n,function(e){e.create(t.linker.resource,function(e,n){t.ngModel(t)instanceof Array||t.ngModel.assign(t,[]),t.attachments.display.pickFile=!1;var r=underscore_1._.find(e,function(e){return e._id===n._id});r.provider=t.attachments.display.search.application,t.ngModel(t).push(r),t.$apply()})})}}}}]),module.directive("ngTouchstart",function(){return{restrict:"A",scope:!0,link:function(e,t,n){t.on("touchstart",function(){e.$eval(n.ngTouchstart)}),n.ngTouchend&&jquery_1.$("body").on("touchend",function(){e.$eval(n.ngTouchend)})}}}),module.directive("sidePanel",function(){return{restrict:"E",transclude:!0,template:'<div class="opener"></div><div class="toggle"><div class="content" ng-transclude></div></div>',link:function(e,t,n){t.addClass("hidden"),t.children(".opener").on("click",function(e){t.hasClass("hidden")&&(t.removeClass("hidden"),setTimeout(function(){jquery_1.$("body").on("click.switch-side-panel",function(e){t.children(".toggle").find(e.originalEvent.target).length||(t.addClass("hidden"),jquery_1.$("body").off("click.switch-side-panel"))})},0))})}}}),module.directive("plus",function(){return{restrict:"E",transclude:!0,template:'<div class="opener"><div class="plus"></div><div class="minus"></div></div><section class="toggle-buttons"><div class="toggle" ng-transclude></div></div>',link:function(e,t,n){t.children(".toggle-buttons").addClass("hide"),t.children(".opener").addClass("plus"),t.children(".opener").on("click",function(e){t.children(".toggle-buttons").hasClass("hide")&&(t.children(".toggle-buttons").removeClass("hide"),t.children(".opener").removeClass("plus").addClass("minus"),setTimeout(function(){jquery_1.$("body").on("click.switch-plus-buttons",function(e){t.children(".toggle-buttons").addClass("hide"),t.children(".opener").removeClass("minus").addClass("plus"),jquery_1.$("body").off("click.switch-plus-buttons")})},0))})}}}),module.directive("help",function(){var e;return{restrict:"E",scope:{},template:'<i class="navbar-help ic-help"></i><lightbox show="display.read" on-close="display.read = false"><div></div></lightbox>',link:function(t,n){return __awaiter(this,void 0,void 0,function(){var r,i,o,s,a;return __generator(this,function(u){switch(u.label){case 0:return[4,entcore_1.skin.getHelpPath()];case 1:return r=u.sent(),t.display={},t.helpPath=r+"/application/"+globals_1.appPrefix+"/","."===globals_1.appPrefix&&"/adapter"!==window.location.pathname?t.helpPath=r+"/application/portal/":"/adapter"===window.location.pathname?t.helpPath=r+"/application/"+window.location.search.split("eliot=")[1].split("&")[0]+"/":window.location.pathname.includes("/directory/class-admin")?t.helpPath=r+"/application/parametrage-de-la-classe/":(window.location.pathname.includes("/userbook/mon-compte")||window.location.pathname.includes("/timeline/preferencesView")||window.location.pathname.includes("/timeline/historyView"))&&(t.helpPath=r+"/application/userbook/"),a=function(e){i=jquery_1.$("<div>"+e+"</div>"),i.find("> p").prev().insertAfter(i.find("> p")),i.find("img").each(function(e,n){jquery_1.$(n).attr("src",t.helpPath+"../.."+jquery_1.$(n).attr("src"))}),n.find("div.content > div[ng-transclude]").html(i.html()),n.find("li a").on("click",function(e){n.find(".section").slideUp(),jquery_1.$("div#"+jquery_1.$(e.target).attr("href").split("#")[1]).slideDown()}),n.find("div.paragraph a").on("click",function(e){window.open(jquery_1.$(e.target).closest("a").attr("href"),"_newtab")}),n.find("li a").first().click(),n.find("#TOC").wrap('<div id="burger-menu" class="burger-menu"></div>'),o=n.find("#burger-menu"),o.prepend('<button id="burger-button" class="burger-button"><i class="burger-icon"></i></button>'),s=n.find("#burger-button"),s.click(function(e){o.toggleClass("active")}),n.find("#TOC > ul li a").on("click",function(e){o.removeClass("active")});var r=function(e){0==n.find("#TOC > ul").find(e.target).length&&0==o.find(e.target).length&&o.removeClass("active")};jquery_1.$("body").on("click",r),t.$on("$destroy",function(){jquery_1.$("body").off("click",r)}),t.display.read=!0,t.$apply("display")},n.children("i.navbar-help").on("click",function(){e?a(e):http_1.http().get(t.helpPath).done(function(t){e=t,a(e)}).e404(function(){e="<h2>"+idiom_1.idiom.translate("help.notfound.title")+"</h2><p>"+idiom_1.idiom.translate("help.notfound.text")+"</p>",a(e)})}),[2]}})})}}}),module.directive("stickToTop",function(){return{restrict:"EA",link:function(e,t,n){if(!("noStickMobile"in n&&ui.breakpoints.checkMaxWidth("wideScreen"))){var r=null,i=(jquery_1.$(window).scrollTop(),jquery_1.$(window).scrollTop()),o=function(){t.addClass("scrolling");var e=jquery_1.$(".height-marker").height();null==e&&(e=0);var n=null==i?0:i,r=t.offset().top,s=r+(n+e-r)/20;t.offset({top:s<0?0:s}),requestAnimationFrame(o)},s=!1;jquery_1.$(window).scroll(function(){r||(r=t.offset().top),i=jquery_1.$(window).scrollTop();var e=jquery_1.$(".height-marker").height();null==e&&(e=0),i<=r-e&&(i=r-e),s||o(),s=!0})}}}}),module.directive("floatingNavigation",function(){return{restrict:"E",replace:!0,transclude:!0,scope:{},template:'<nav class="vertical hash-magnet floating" stick-to-top><div class="previous arrow" ng-class="{ visible: step > 0 }"></div><div class="content" ng-transclude></div><div class="next arrow" ng-class="{ visible: step < stepsLength && stepsLength > 0 }"></div></nav>',link:function(e,t,n){var r;e.step=0,setTimeout(function(){r=t.offset(),t.height(jquery_1.$(window).height()-parseInt(t.css("margin-bottom"))-100),e.stepsLength=parseInt(t.find(".content")[0].scrollHeight/t.height())},800),t.find(".arrow.next").on("click",function(){e.step++,e.$apply(),t.find(".content").animate({scrollTop:t.height()*e.step},450)}),t.find(".arrow.previous").on("click",function(){e.step--,e.$apply(),t.find(".content").animate({scrollTop:t.height()*e.step},450)})}}}),module.directive("multiCombo",function(){return{restrict:"E",replace:!1,scope:{title:"@",comboModel:"=",filteredModel:"=",searchOn:"@",orderBy:"@",filterModel:"&",searchPlaceholder:"@",maxSelected:"@",labels:"&",disable:"&",selectionEvent:"&",deselectionEvent:"&"},templateUrl:"/assets/js/entcore/template/multi-combo.html",controller:["$scope","$filter","$timeout",function(e,t,n){e.search={input:"",reset:function(){this.input=""}},e.show=!1,e.toggleVisibility=function(){e.show=!e.show,e.show&&(e.addClickEvent(),e.search.reset(),n(function(){e.setComboPosition()},1))},e.filteredModel&&e.filteredModel instanceof Array||(e.filteredModel=[]),e.isSelected=function(t){return e.filteredModel.indexOf(t)>=0},e.toggleItem=function(t){var n=e.filteredModel.indexOf(t);n>=0?(e.filteredModel.splice(n,1),e.deselectionEvent()instanceof Function&&e.deselectionEvent()()):(!e.maxSelected||e.filteredModel.length<e.maxSelected)&&(e.filteredModel.push(t),e.selectionEvent()instanceof Function&&e.selectionEvent()())},e.selectAll=function(){e.filteredModel.length=0;for(var t=0;t<e.filteredComboModel.length;t++)e.filteredModel.push(e.filteredComboModel[t]);e.selectionEvent()instanceof Function&&e.selectionEvent()()},e.deselectAll=function(){e.filteredModel.length=0,e.deselectionEvent()instanceof Function&&e.deselectionEvent()()},e.fairInclusion=function(e,t){return idiom_1.idiom.removeAccents(e.toLowerCase()).indexOf(idiom_1.idiom.removeAccents(t.toLowerCase()))>=0},e.filteringFun=function(t){var n=!e.filterModel()||e.filterModel()(t);return e.searchOn&&t instanceof Object?n&&e.fairInclusion(t[e.searchOn],e.search.input):n&&e.fairInclusion(t,e.search.input)},e.display=function(e){return e instanceof Object?e.toString():e},e.$watchCollection("comboModel",function(){if(!e.comboModel)return void(e.filteredModel=[]);for(var t=0;t<e.filteredModel.length;t++){var n=e.comboModel.indexOf(e.filteredModel[t]);n<0&&(e.filteredModel.splice(n,1),t--)}})}],link:function(e,t,n){if(!n.comboModel||!n.filteredModel)throw"[<multi-combo> directive] Error: combo-model & filtered-model attributes are required.";if(e.maxSelected=parseInt(e.maxSelected),!isNaN(e.maxSelected)&&e.maxSelected<1)throw"[<multi-combo> directive] Error: max-selected must be an integer greater than 0.";e.addClickEvent=function(){if(e.show){var n=(new Date).getTime();jquery_1.$("body").on("click.multi-combo"+n,function(r){t.find(r.originalEvent.target).length||(e.show=!1,jquery_1.$("body").off("click.multi-combo"+n),e.$apply())})}},e.setComboPosition=function(){t.css("position","relative"),t.find(".multi-combo-root-panel").css("top",t.find(".multi-combo-root-button").outerHeight())},e.setComboPosition()}}}),module.directive("slide",function(){return{restrict:"A",scope:!1,link:function(e,t,n){e.$watch(function(){return e.$eval(n.slide)},function(e){e?t.slideDown():t.slideUp()}),e.$eval(n.slide)||t.hide()}}}),module.directive("sideNav",function(){return{restrict:"AE",link:function(e,t,n){function r(){ui.breakpoints.checkMaxWidth(o)?(t.height(jquery_1.$(window).height()),jquery_1.$(".mobile-nav-opener").hasClass("visible")&&i.find(".application-title").addClass("move-right"),ui.extendElement.touchEvents(i,{exclude:["longclick"],allowDefault:!0}),ui.extendElement.touchEvents(t,{exclude:["longclick"]}),i.on("swipe-right",function(){t.addClass("slide")}),t.on("swipe-left",function(){t.removeClass("slide"),jquery_1.$("body").removeClass("point-out")})):t.height("auto")}var i=jquery_1.$("body");jquery_1.$(".mobile-nav-opener").addClass("visible");var o=ui.breakpoints.tablette;n.targetElement;t.addClass("side-nav"),jquery_1.$("body").addClass("transition"),jquery_1.$(".mobile-nav-opener").on("click",function(){t.hasClass("slide")?(t.removeClass("slide"),jquery_1.$("body").removeClass("point-out")):(t.addClass("slide"),jquery_1.$("body").addClass("point-out"))}),jquery_1.$("body").on("click",function(e){t[0]===e.target||t.find(e.target).length||jquery_1.$(".mobile-nav-opener")[0]===e.target||(t.removeClass("slide"),jquery_1.$("body").removeClass("point-out"))}),n.maxWidth&&(o=parseInt(n.maxWidth)),r(),jquery_1.$(window).on("resize",r),e.$on("$destroy",function(){jquery_1.$(".mobile-nav-opener").removeClass("visible"),i.find(".application-title").removeClass("move-right")})}}}),module.directive("appTitle",["$compile",function(e){return{restrict:"E",link:function(t,n,r){function i(){var n=jquery_1.$("app-title").html(),r=jquery_1.$("header.main .application-title");ui.breakpoints.checkMaxWidth("tablette")?r.length||jquery_1.$("header.main").append(e(n)(t)):r.remove()}n.find("h1").addClass("application-title"),i(),jquery_1.$(window).on("resize",i),t.$on("$destroy",function(){jquery_1.$("body").find("header.main .application-title").remove()})}}}]),module.directive("microbox",["$compile",function(e){return{restrict:"E",compile:function(t,n,r){var i=t.html();return function(t,n,r){function o(r){ui.breakpoints.checkMaxWidth("tablette")?jquery_1.$(".microbox-wrapper").length||(jquery_1.$("body").append('<div class="microbox-wrapper zero"><div class="microbox-content"><i class="close-2x"></i><div class="microbox-material"></div><button class="microbox-close">'+a+"</button></div></div>"),jquery_1.$(".microbox-material").html(e(i)(t)),n.after('<button class="microbox">'+s+"</button>"),jquery_1.$("button.microbox").on("click",function(){jquery_1.$(".microbox-wrapper").hasClass("zero")&&jquery_1.$(".microbox-wrapper").removeClass("zero")}),jquery_1.$("button.microbox-close, .microbox-content i.close-2x").on("click",function(){jquery_1.$(".microbox-wrapper").hasClass("zero")||jquery_1.$(".microbox-wrapper").addClass("zero")}),r&&t.$apply()):(jquery_1.$(".microbox-wrapper").remove(),jquery_1.$("button.microbox").remove())}var s=idiom_1.idiom.translate(r.microtitle),a=idiom_1.idiom.translate(r.close);n.addClass("zero-mobile"),o(),jquery_1.$(window).on("resize",function(){o(!0)}),t.$on("$destroy",function(){jquery_1.$("body").find("button.microbox").remove(),jquery_1.$("body").find(".microbox-content").remove()})}}}}]),module.directive("subtitle",function(){return{restrict:"A",scope:!1,link:function(e,t,n){jquery_1.$("section.main").addClass("subtitle-push"),e.$on("$destroy",function(){jquery_1.$("section.main").removeClass("subtitle-push")})}}}),module.directive("whereami",function(){return{restrict:"A",scope:!1,link:function(e,t,n){t.addClass("whereami");var r=jquery_1.$("nav.side-nav a.selected").html();jquery_1.$("body").on("whereami.update",function(){t.html(jquery_1.$("nav.side-nav a.selected").html())}),t.html(r)}}});var checkToolDelay=function(){var e=!0;return function(t){e&&(e=!1,setTimeout(function(){t.$apply(),e=!0},200))}}();module.directive("checkTool",function(){return{restrict:"E",scope:{ngModel:"=",ngClick:"&",ngChange:"&"},template:'<div class="check-tool"><i class="check-status"></i></div>',link:function(e,t,n){t.on("click",function(){e.ngModel=!e.ngModel,checkToolDelay(e),e.ngModel?t.addClass("selected"):t.removeClass("selected"),e.ngClick&&e.ngClick(),e.ngChange&&e.ngChange(),checkToolDelay(e)}),jquery_1.$("body").on("click",function(n){0!==jquery_1.$(n.target).parents(".check-tool, .toggle, .lightbox").length||jquery_1.$(n.target).is(".lightbox")||"CHECK-TOOL"===n.target.nodeName||0===jquery_1.$("body").find(n.target).length||(e.ngModel=!1,t.removeClass("selected"),checkToolDelay(e),e.ngChange&&(e.ngChange(),checkToolDelay(e)))})}}}),module.directive("subtitle",function(){return{restrict:"A",scope:!1,link:function(e,t,n){jquery_1.$("section.main").addClass("subtitle-push"),e.$on("$destroy",function(){jquery_1.$("section.main").removeClass("subtitle-push")})}}}),module.directive("whereami",function(){return{restrict:"A",scope:!1,link:function(e,t,n){var r=jquery_1.$("nav.side-nav a.selected").text();jquery_1.$("body").on("whereami.update",function(){t.text(jquery_1.$("nav.side-nav a.selected").text())}),t.text(r)}}}),module.controller("Account",["$scope",function(e){e.nbNewMessages=0,e.messagerieLink="/zimbra/zimbra",e.me=modelDefinitions_1.model.me,e.rand=Math.random(),e.skin=entcore_1.skin,e.lang=idiom_1.idiom,e.currentLanguage=globals_1.currentLanguage,e.refreshAvatar=function(){http_1.http().get("/userbook/api/person",{},{requestName:"refreshAvatar"}).done(function(t){e.avatar=t.result[0].photo,e.avatar&&"no-avatar.jpg"!==e.avatar&&"no-avatar.svg"!==e.avatar||(e.avatar=entcore_1.skin.basePath+"/img/illustrations/no-avatar.svg"),e.username=modelDefinitions_1.model.me.firstName,modelDefinitions_1.model.me.profiles=t.result[0].type,e.$apply()})},e.goToMessagerie=function(){console.log(e.messagerieLink),http_1.http().get("/userbook/preference/zimbra").done(function(t){try{t.preference&&(JSON.parse(t.preference).modeExpert&&modelDefinitions_1.model.me.hasWorkflow("fr.openent.zimbra.controllers.ZimbraController|preauth"))?(e.messagerieLink="/zimbra/preauth",window.open(e.messagerieLink)):(e.messagerieLink="/zimbra/zimbra",window.location.href=window.location.origin+e.messagerieLink),console.log(e.messagerieLink)}catch(t){e.messagerieLink="/zimbra/zimbra"}})},e.refreshMails=function(){if(modelDefinitions_1.model.me.hasWorkflow("fr.openent.zimbra.controllers.ZimbraController|view"))http_1.http().get("/zimbra/count/INBOX",{unread:!0}).done(function(t){e.nbNewMessages=t.count,e.$apply("nbNewMessages")});else{if(modelDefinitions_1.model.me.hasWorkflow("org.entcore.auth.controllers.CarbonioPreauthController|preauth"))return;http_1.http().get("/conversation/count/INBOX",{unread:!0}).done(function(t){e.nbNewMessages=t.count,e.$apply("nbNewMessages")})}},e.openApps=function(e){jquery_1.$(window).width()<=700&&e.preventDefault()},http_1.http().get("/directory/userbook/"+modelDefinitions_1.model.me.userId).done(function(t){modelDefinitions_1.model.me.userbook=t,e.$apply("me")}),entcore_1.skin.listThemes(function(t){e.themes=t,e.$apply("themes")}),e.$root.$on("refreshMails",e.refreshMails),e.refreshMails(),e.refreshAvatar(),e.currentURL=window.location.href}]),module.controller("Admin",["$scope",function(e){e.urls=[],http_1.http().get("/admin-urls").done(function(t){e.urls=t,e.$apply("urls")}),e.getHighlight=function(e){return window.location.href.indexOf(e.url)>=0},e.orderUrls=function(t){return e.getHighlight(t)?0:1},e.filterUrls=function(e){return!(e.allowed&&e.allowed instanceof Array)||underscore_1._.find(modelDefinitions_1.model.me.functions,function(t){return underscore_1._.contains(e.allowed,t.code)})},e.scrollUp=ui.scrollToTop}]),module.config(["$locationProvider",function(e){e.hashPrefix("")}]),jquery_1.$(document).ready(function(){setTimeout(function(){globals_1.routes.routing&&module.config(globals_1.routes.routing),lib_1.bootstrap(function(){function start(){idiom_1.idiom.addBundle("/i18n",function(){idiom_1.idiom.addBundle("/"+globals_1.appPrefix+"/i18n",function(){"fr"===globals_1.currentLanguage?(moment_1.moment.locale(globals_1.currentLanguage),moment_1.moment.updateLocale(globals_1.currentLanguage,moment_1.frLocales)):moment_1.moment.locale(globals_1.currentLanguage),angular_1.angular.bootstrap(jquery_1.$("html"),["app"]),modelDefinitions_1.model.trigger("bootstrap"),modelDefinitions_1.model.bootstrapped=!0,modelDefinitions_1.model.sync()})})}entcore_1.RTE.addDirectives(module),window.entcore.ng.init&&window.entcore.ng.init(module),modelDefinitions_1.model.build(),idiom_1.idiom.addDirectives(module),http_1.http().get(entcore_1.skin.basePath+"js/directives.js").done(function(d){eval(d),"function"==typeof entcore_1.skin.addDirectives?entcore_1.skin.addDirectives(module,start):start()}).error(function(){start()})})},10)}),module.controller("SearchPortal",["$scope",function(e){e.launchSearch=function(t){var n=e.mysearch;"link"!=t&&t.stopPropagation(),"link"!=t&&13!=t.keyCode||(n=n&&""!==n?n:" ",e.mysearch="",window.location.href="/searchengine#/"+n)}}]),exports.injectIntoSelector=injectIntoSelector,module.directive("cguLightbox",[function(){return{restrict:"E",scope:!0,templateUrl:template_1.template.viewPath+"entcore/cgu-lightbox.html",link:function(e,t,n){return __awaiter(this,void 0,void 0,function(){var t;return __generator(this,function(n){switch(n.label){case 0:return e.show=!1,!me_1.Me.session.needRevalidateTerms||me_1.Me.session.deletePending?[3,2]:[4,Promise.all([idiom_1.idiom.addBundlePromise("/i18n"),idiom_1.idiom.addBundlePromise("/auth/i18n")])];case 1:return n.sent(),e.model={accept:!1},t="/auth/logout?callback="+entcore_1.skin.logoutCallback,e.title=idiom_1.idiom.translate("cgu.revalidate.title"),e.content=idiom_1.idiom.translate("cgu.revalidate.content"),e.userChartUrl=idiom_1.idiom.translate("auth.charter"),e.cguUrl=idiom_1.idiom.translate("cgu.file"),e.actionText=idiom_1.idiom.translate("cgu.revalidate.action"),e.show=!0,e.isDisabled=function(){return!e.model.accept},e.logout=function(){window.location.href=t},e.validate=function(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(t){switch(t.label){case 0:return[4,me_1.Me.revalidateTerms()];case 1:return t.sent(),e.show=!1,e.$apply(),[2]}})})},e.$apply(),[3,3];case 2:e.show=!1,n.label=3;case 3:return[2]}})})}}}]),module.directive("onEnter",function(){return function(e,t,n){t.bind("keydown keypress",function(t){13===t.which&&(e.$apply(function(){e.$eval(n.onEnter)}),t.preventDefault())})}}),module.service("CounterService",[function(){var e=function(){this.count=1};return e.prototype.increase=function(){return++this.count},e}()])},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.$=n(2),window.jQuery=t.$,window.entcore||(window.entcore={}),window.entcore.jQuery=t.$,window.entcore.$=t.$,window.$=t.$},function(e,t,n){var r,i;/*!
|
|
1
|
+
window.infrafrontVersion="4.8.14-develop-integration.202601091558";
|
|
2
|
+
window.springboardBuildDate="2026-01-09T14:59:38.702Z";
|
|
3
|
+
!function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};t.m=e,t.c=n,t.p="",t(0)}([function(module,exports,__webpack_require__){"use strict";function injectIntoSelector(e,t){jquery_1.$(document).ready(function(){var n=angular_1.angular.element(e);n.injector().invoke(["$compile",function(e){var r=n.scope(),i=e(t)(r);n.append(i)}])})}var __awaiter=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(s,a)}u((r=r.apply(e,t||[])).next())})},__generator=this&&this.__generator||function(e,t){function n(e){return function(t){return r([e,t])}}function r(n){if(i)throw new TypeError("Generator is already executing.");for(;u;)try{if(i=1,o&&(s=o[2&n[0]?"return":n[0]?"throw":"next"])&&!(s=s.call(o,n[1])).done)return s;switch(o=0,s&&(n=[0,s.value]),n[0]){case 0:case 1:s=n;break;case 4:return u.label++,{value:n[1],done:!1};case 5:u.label++,o=n[1],n=[0];continue;case 7:n=u.ops.pop(),u.trys.pop();continue;default:if(s=u.trys,!(s=s.length>0&&s[s.length-1])&&(6===n[0]||2===n[0])){u=0;continue}if(3===n[0]&&(!s||n[1]>s[0]&&n[1]<s[3])){u.label=n[1];break}if(6===n[0]&&u.label<s[1]){u.label=s[1],s=n;break}if(s&&u.label<s[2]){u.label=s[2],u.ops.push(n);break}s[2]&&u.ops.pop(),u.trys.pop();continue}n=t.call(e,u)}catch(e){n=[6,e],o=0}finally{i=s=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}var i,o,s,a,u={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return a={next:n(0),throw:n(1),return:n(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a};Object.defineProperty(exports,"__esModule",{value:!0});var jquery_1=__webpack_require__(1),idiom_1=__webpack_require__(3),http_1=__webpack_require__(34),modelDefinitions_1=__webpack_require__(37),lib_1=__webpack_require__(385),ui_1=__webpack_require__(6),behaviours_1=__webpack_require__(386),globals_1=__webpack_require__(38),template_1=__webpack_require__(390),moment_1=__webpack_require__(916),underscore_1=__webpack_require__(4),angular_1=__webpack_require__(909),entcore_1=__webpack_require__(388),ng_start_1=__webpack_require__(943),directives=__webpack_require__(960),me_1=__webpack_require__(937),axios_1=__webpack_require__(7),theme_1=__webpack_require__(1050),ui=ui_1.ui,module=angular_1.angular.module("app",["ngSanitize","ngRoute"],["$interpolateProvider",function(e){e.startSymbol("[["),e.endSymbol("]]")}]).config(["$sceDelegateProvider",function(e){e.resourceUrlWhitelist(["self",window.CDN_DOMAIN+"/**"])}]).factory("route",["$rootScope","$route","$routeParams",function(e,t,n){var r={},i=void 0,o=void 0;return e.$on("$routeChangeSuccess",function(e,s){r[t.current.action]instanceof Array&&(i!==t.current.action||o!==t.current.params&&0!==Object.getOwnPropertyNames(t.current.params).length)&&(i=t.current.action,o=t.current.params,r[t.current.action].forEach(function(e){return e(n)}),setTimeout(function(){ui.scrollToId(window.location.hash.split("#")[1])},100))}),function(e){for(var t in e)r[t]||(r[t]=[]),r[t].push(e[t])}}]).factory("model",["$timeout",function(e){var t=modelDefinitions_1.Collection.prototype.trigger;modelDefinitions_1.Collection.prototype.trigger=function(n){e(function(){t.call(this,n)}.bind(this),10)};var n=modelDefinitions_1.Model.prototype.trigger;return modelDefinitions_1.Model.prototype.trigger=function(t,r){e(function(){n.call(this,t,r)}.bind(this),10)},modelDefinitions_1.model}]).factory("xmlHelper",function(){return{xmlToJson:function(e,t,n,r){var i,o=this;return t||(t={}),n||(n=!0),null==r&&(r=!0),i=n&&e.nodeName.indexOf(":")>-1?e.nodeName.split(":")[1]:e.nodeName,jquery_1.$(e).children().length>0?(t[i]=r?{}:[],underscore_1._.each(jquery_1.$(e).children(),function(e){if(r)return o.xmlToJson(e,t[i],n,r);t[i].push(o.xmlToJson(e,{},n,r))})):t[i]=jquery_1.$(e).text(),t}}}).factory("httpWrapper",function(){return{wrap:function(e,t,n){var r=this;if("function"==typeof t&&("object"!=typeof r[e]&&(r[e]={}),!r[e].loading)){r[e].loading=!0;for(var i=[],o=3;o<arguments.length;o++)i.push(arguments[o]);var s,a=function(){r[e].loading=!1,r.$apply()};s=n?t.apply(n,i):t.apply(r,i),s&&s.xhr?s.xhr.complete(a):a()}}}});theme_1.initThemeDirective(module),theme_1.initThemeLegacyDirective(module),globals_1.routes.routing&&module.config(["$routeProvider",globals_1.routes.routing]);for(var directive in directives)ng_start_1.ng.directives.push(directives[directive]);module.directive("container",["$timeout",function(e){return{restrict:"E",scope:!0,template:'<div ng-include="templateContainer"></div>',controller:["$scope","$attrs",function(t,n){t.tpl=template_1.template;var r=n.template;this.template=r;var i=function(){e(function(){t.templateContainer=template_1.template.containers[r],"empty"===t.templateContainer&&(t.templateContainer=void 0)},0)};template_1.template.watch(r,i),t.$on("$destroy",function(){template_1.template.unwatch(r,i)}),r&&(t.templateContainer=template_1.template.containers[r])}]}}]),module.directive("colorSelect",function(){return{restrict:"E",scope:{ngModel:"="},replace:!0,template:'<div class="color-picker" ng-class="{ opened: pickColor }"><button class="colors-opener" type="button"></button><div class="colors-list"><button type="button" ng-repeat="color in colors" class="[[color]]" ng-click="setColor(color)"></button></div></div>',link:function(e,t,n){e.colors=["orange","red","purple","blue","green","black","white","transparent"],e.setColor=function(t){e.ngModel=t},t.find(".colors-opener").on("click",function(t){e.pickColor=!e.pickColor,e.$apply("pickColor"),t.stopPropagation(),jquery_1.$("body, .main").one("click",function(){e.pickColor=!1,e.$apply("pickColor")})})}}}),module.directive("soundSelect",function(){return{restrict:"E",transclude:!0,scope:{ngModel:"=",ngChange:"&",visibility:"@"},template:'<div><audio ng-src="[[ngModel]]" controls ng-if="ngModel" style="cursor: pointer"></audio><button ng-click="display.userSelecting = true"><i18n>audio.pick</i18n></button><lightbox show="display.userSelecting" on-close="userSelecting = false;"><div ng-if="display.userSelecting"><media-library visibility="selectedFile.visibility"ng-change="updateDocument()" ng-model="selectedFile.file" file-format="\'audio\'"></media-library></div></lightbox></div>',link:function(e,t,n){e.display={},e.selectedFile={file:{},visibility:"protected"},e.selectedFile.visibility=e.$parent.$eval(n.visibility),e.selectedFile.visibility||(e.selectedFile.visibility="protected"),e.selectedFile.visibility=e.selectedFile.visibility.toLowerCase(),e.updateDocument=function(){e.display.userSelecting=!1;var t="/workspace/document/";"public"===e.selectedFile.visibility&&(t="/workspace/pub/document/"),e.ngModel=t+e.selectedFile.file._id,e.$apply("ngModel"),e.ngChange()},t.on("click","audio",function(){e.userSelecting=!0,e.$apply("userSelecting")})}}}),module.directive("mediaSelect",function(){return{restrict:"E",transclude:!0,replace:!0,scope:{ngModel:"=",multiple:"=",ngChange:"&",fileFormat:"=",label:"@",class:"@",value:"@",mytooltip:"@"},template:'<div><input type="button" class="pick-file [[class]]" tooltip="[[mytooltip]]" /><lightbox show="userSelecting" on-close="userSelecting = false;"><div ng-if="userSelecting"><media-library ng-change="updateDocument()" ng-model="selectedFile.file" multiple="multiple" file-format="fileFormat" visibility="selectedFile.visibility"></media-library></div></lightbox></div>',compile:function(e,t){return!t.mytooltip&&t.tooltip&&(console.warn("tooltip attribute is deprecated on media-select tag, use mytooltip instead."),e.attr("mytooltip",t.tooltip),e.removeAttr("tooltip"),t.mytooltip=t.tooltip,delete t.tooltip),function(e,t,n){e.selectedFile={file:{},visibility:"protected"},e.selectedFile.visibility=e.$parent.$eval(n.visibility),e.selectedFile.visibility||(e.selectedFile.visibility="protected"),e.selectedFile.visibility=e.selectedFile.visibility.toLowerCase(),e.mytooltip||t.find("input").removeAttr("tooltip"),n.$observe("label",function(e){t.find("[type=button]").attr("value",idiom_1.idiom.translate(e))}),e.$watch("fileFormat",function(t){void 0===t&&(e.fileFormat="img")}),e.updateDocument=function(){e.userSelecting=!1;var t="/workspace/document/";"public"===e.selectedFile.visibility&&(t="/workspace/pub/document/"),e.ngModel=t+e.selectedFile.file._id,e.$apply("ngModel"),e.ngChange()},t.find(".pick-file").on("click",function(){e.userSelecting=!0,e.$apply("userSelecting")})}}}}),module.directive("filesPicker",function(){return{restrict:"E",transclude:!0,replace:!0,template:'<input type="button" ng-transclude />',scope:{ngChange:"&",ngModel:"="},link:function(e,t,n){t.on("click",function(){var t=jquery_1.$("<input />",{type:"file"}).hide().appendTo("body");void 0!==n.multiple&&t.attr("multiple",!0),t.on("change",function(){e.ngModel=t[0].files,e.$apply(),e.$eval(e.ngChange),e.$parent.$apply()}),t.click(),t.trigger("touchstart")})}}}),module.directive("filesInputChange",function(){return{restrict:"A",scope:{filesInputChange:"&",file:"=ngModel"},link:function(e,t){e.$watch("file",function(e,n){e!==n&&(e||(t[0].value=""))}),t.bind("change",function(){e.file=t[0].files,e.$apply(),e.filesInputChange(),e.$apply()})}}}),module.directive("iconsSelect",function(){return{restrict:"E",scope:{options:"=",class:"@",current:"=",change:"&"},link:function(e,t,n){var r;e.separateIcon=n.hasOwnProperty("separateIcon");var i=function(){e.current.id=r.id,e.current.icon=r.icon,e.current.text=r.text};e.$watch("options",function(){e.options&&e.options.length&&(r=underscore_1._.findWhere(e.options,{id:e.current.id}),i(),t.bind("change",function(){r=underscore_1._.findWhere(e.options,{id:t.find(".current").data("selected")}),i(),e.$eval(e.change),e.$apply()}))},!0)},template:'\n\t\t\t<div ng-class="{\'drop-down-block\': !separateIcon}">\n\t\t\t\t<div ng-if="separateIcon" class="current fixed cell twelve" data-selected="[[current.id]]">\n\t\t\t\t\t<i class="[[current.icon]]"></i>\n\t\t\t\t\t<span translate content="[[current.text]]"></span>\n\t\t\t\t</div>\n\t\t\t\t<article ng-if="!separateIcon" class="current cell twelve medium-block-container" data-selected="[[current.id]]">\n\t\t\t\t\t<div class="flex-row drop-down-label no-margin no-border">\n\t\t\t\t\t\t<i class="arrow no-margin right-spacing"></i>\n\t\t\t\t\t\t<i class="[[current.icon]] cell no-2d no-margin right-spacing-twice"></i>\n\t\t\t\t\t\t<i class="[[current.icon === \'default\' ? \'none\' : current.icon]] cell no-1d no-margin right-spacing-twice"></i>\n\t\t\t\t\t\t<h2 class="cell-ellipsis"><a translate content="[[current.text]]"></a></h2>\n\t\t\t\t\t</div>\n\t\t\t\t</article>\n\t\t\t\t<div class="options-list icons-view">\n\t\t\t\t<div class="wrapper">\n\t\t\t\t\t<div class="cell three option" data-value="[[option.id]]" data-ng-repeat="option in options">\n\t\t\t\t\t\t<i class="[[option.icon]] no-2d"></i>\n\t\t\t\t\t\t<i class="[[option.icon === \'default\' ? \'none\' : option.icon]] no-1d"></i>\n\t\t\t\t\t\t<span translate content="[[option.text]]"></span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t'}}),module.directive("preview",function(){return{restrict:"E",template:'<div class="row content-line"><div class="row fixed-block height-four"><div class="four cell fixed image clip text-container"></div><div class="eight cell fixed-block left-four paragraph text-container"></div></div></div>',replace:!0,scope:{content:"="},link:function(e,t,n){e.$watch("content",function(e){var n=jquery_1.$(e);t.find(".image").html(n.find("img").first());var r=underscore_1._.find(n.find("p"),function(e){return jquery_1.$(e).text().length>0});t.find(".paragraph").text(jquery_1.$(r).text())})}}}),module.service("tracker",["$document","$location","$rootScope",function(){var e=function(e,t,n){this.$document=e,this.$location=t,this.$rootScope=n,this.type="none",this.params={},this.isInitialized=!1,this.hasOptedIn=!1};return e.prototype.init=function(){var e=this;http_1.http().get("/analyticsConf").done(function(t){t&&"string"==typeof t.type&&t.type.trim().length>0&&t[t.type.trim()]&&e.initFromType(t.type,t[t.type])}).error(function(e){})},e.prototype.initFromType=function(e,t){if(!this.isInitialized)switch(this.isInitialized=!0,this.type=e,this.params=t,e){case"matomo":try{var n=window._paq=window._paq||[];n.push(["setRequestMethod","POST"]),t.UserId&&n.push(["setUserId",t.UserId]),t.Profile&&n.push(["setCustomDimension",1,t.Profile]),t.School&&n.push(["setCustomDimension",2,t.School]),t.Project&&n.push(["setCustomDimension",3,t.Project]),n.push(["trackPageView"]),n.push(["enableLinkTracking"]),function(){n.push(["setTrackerUrl",t.url+"matomo.php"]),n.push(["setSiteId",t.siteId]);var e=document,r=e.createElement("script"),i=e.getElementsByTagName("script")[0];r.type="text/javascript",r.async=!0,r.src=t.url+"ode.js",i.parentNode.insertBefore(r,i)}();var r=this;if(n.push([function(){r.hasOptedIn=!this.isUserOptedOut(),r.$rootScope.$digest()}]),t.detailApps&&window.entcore.template){if(angular_1.angular.isArray(t.doNotTrack)&&modelDefinitions_1.model&&modelDefinitions_1.model.me&&angular_1.angular.isArray(modelDefinitions_1.model.me.apps))for(var i=0;i<modelDefinitions_1.model.me.apps.length;i++)if(modelDefinitions_1.model.me.apps[i]&&modelDefinitions_1.model.me.apps[i].address&&modelDefinitions_1.model.me.apps[i].name&&-1!==this.$location.absUrl().indexOf(modelDefinitions_1.model.me.apps[i].address)&&-1!==t.doNotTrack.indexOf(modelDefinitions_1.model.me.apps[i].name))return;var o=this,s=window.entcore.template.open;window.entcore.template.open=function(e,t){var n=s.apply(window.entcore.template,arguments);if("main"===e){t=t||"unknown";var r=o.$location.absUrl().split("#")[0]+"/"+t;o.trackPage(o.$document[0].title+" - "+e,r)}return n}}}catch(e){console.error('Invalid tracker object. Should look like {"siteId": 99999, "url":"http://your.matomo.server.com/"}"',e)}}},e.prototype.trackPage=function(e,t){switch(this.type){case"matomo":var n=window._paq=window._paq||[];n.push(["setDocumentTitle",e]),n.push(["setCustomUrl",t]),n.push(["trackPageView"])}},e.prototype.trackEvent=function(e,t,n,r){switch(this.type){case"matomo":var i=window._paq=window._paq||[],o=["trackEvent",e,t];"string"==typeof n&&(n=n.trim(),n.length>0&&o.push(n)),"number"==typeof r&&o.push(r),i.push(o)}},e.prototype.saveOptIn=function(){switch(this.type){case"matomo":(window._paq=window._paq||[]).push(this.hasOptedIn?["forgetUserOptOut"]:["optUserOut"])}},e}()]);var profileTypes=function(){switch(modelDefinitions_1.model.me.type){case"ENSEIGNANT":return"teacher";case"ELEVE":return"student";case"PERSRELELEVE":return"relative";case"PERSEDUCNAT":return"personnel";default:return modelDefinitions_1.model.me.type}};module.directive("portal",["$compile","tracker",function(e,t){function n(){http_1.http().get("/zendeskGuide/config").done(function(e){if(e&&e.key){var t=document.createElement("script");t.id="ze-snippet",t.src="https://static.zdassets.com/ekr/snippet.js?key="+e.key,document.body.appendChild(t).onload=function(){"es"===window.currentLanguage?window.zE(function(){window.zE.setLocale("es-419")}):window.zE(function(){window.zE.setLocale("fr")});var t=window.location.href;Object.keys(e.module).length>0&&r(e.module,t),window.zE("webWidget","updateSettings",{webWidget:{color:{theme:e.color||"#ffc400"},zIndex:8e3,launcher:{mobile:{labelVisible:!0}},contactForm:{suppress:!modelDefinitions_1.model.me.hasWorkflow("net.atos.entng.support.controllers.DisplayController|view")},helpCenter:{messageButton:{"*":"Assistance ENT","es-419":"Asistencia ENT"},originalArticleButton:null===e.articleRedirectButton||void 0===e.articleRedirectButton||e.articleRedirectButton}}}),window.addEventListener("scroll",function(){window.zE("webWidget","updateSettings",{webWidget:{launcher:{mobile:{labelVisible:window.scrollY<=5}}}})}),window.addEventListener("beforeprint",function(){window.zE("webWidget","hide")}),window.addEventListener("afterprint",function(){window.zE("webWidget","show")}),window.zE("webWidget:on","open",function(){Object.keys(e.module).length>0&&window.location.href!==t&&(r(e.module,window.location.href),t=window.location.href),modelDefinitions_1.model.me.hasWorkflow("net.atos.entng.support.controllers.DisplayController|view")&&window.zE("webWidget","updateSettings",{webWidget:{contactForm:{suppress:!1}}})}),window.zE("webWidget:on","userEvent",function(e){var t=e.category,n=e.action,r=e.properties;"Contact Form Shown"===n&&"Zendesk Web Widget"===t&&r&&"contact-form"===r.name&&modelDefinitions_1.model.me.hasWorkflow("net.atos.entng.support.controllers.DisplayController|view")&&(window.zE("webWidget","updateSettings",{webWidget:{contactForm:{suppress:!0}}}),window.zE("webWidget","close"),window.open("/support","_blank"))})}}})}function r(e,t){var n=t.split("/"),r="",i="";if(e.labels&&Object.keys(e.labels).length>0&&n.length>3){for(var o=3;o<n.length;o++)n[o].length>0&&(null==n[o].match(/\d/)||"viescolaire#"===n[3]&&null!==n[o].match(/\%20/))&&(r=0===r.length?n[o]:r+"/"+n[o]);e.labels.hasOwnProperty(r)?i=e.labels[r]:e.default&&String(e.default).length>0&&(i=e.default)}else e.default&&String(e.default).length>0&&(i=e.default);n&&n.includes("formulaire#")&&window.zE("webWidget","updateSettings",{webWidget:{offset:{mobile:{horizontal:"70px",vertical:"0px"}}}}),i.includes("${adml}")&&(i=me_1.Me.session.functions.ADMIN_LOCAL?i.replace("${adml}","adml"):i.replace("/${adml}","")),i.includes("${profile}")&&(i=i.replace("${profile}",profileTypes())),i.includes("${theme}")&&(i=entcore_1.skin.is1D?i.replace("${theme}","1D"):i.replace("${theme}","2D")),i.length>0&&window.zE("webWidget","helpCenter:setSuggestions",{labels:[i]})}return{restrict:"E",transclude:!0,templateUrl:function(e,t){var n=window.springboardBuildDate||(new Date).getTime();return t.templateUrl?t.templateUrl+"?version="+n:entcore_1.skin.portalTemplate+"?version="+n},compile:function(r,i,o){return t.init(),modelDefinitions_1.model.me.hasWorkflow("fr.openent.chatbot.controller.ChatbotController|view")&&behaviours_1.Behaviours.loadBehaviours("chatbot",function(){behaviours_1.Behaviours.applicationsBehaviours.chatbot.chatbot.init()}),modelDefinitions_1.model.me.hasWorkflow("org.entcore.portal.controllers.PortalController|optionalFeatureCantoo")&&http_1.http().get("/optionalFeature/cantoo").done(function(e){var t=document.createElement("script");t.src=e.scriptPath,t.async=!0,document.body.appendChild(t)}),n(),jquery_1.$("html").addClass("portal-container"),r.find("[logout]").attr("href","/auth/logout?callback="+entcore_1.skin.logoutCallback),i.templateUrl||ui.setStyle(entcore_1.skin.theme),http_1.Http.prototype.bind("disconnected",function(){window.location.href="/"}),function(t,n,r,i,o){t.template=template_1.template,t.$$showInfoTipRgpdCookie=!0,t.goToMyAccount=function(){document.location.href="/userbook/mon-compte",axios_1.default.put("/userbook/preference/rgpdCookies",{showInfoTip:!1})},t.closeBanner=function(){t.$$showInfoTipRgpdCookie=!1,axios_1.default.put("/userbook/preference/rgpdCookies",{showInfoTip:!1})},t.$on("$locationChangeStart",function(e,t,n){window.zE&&window.zE("webWidget","close")});n.prepend(e('\n\t\t\t\t\t<div class="ode-theme-v1">\n\t\t\t\t\t\t<infotip\n\t\t\t\t\t\t\tname="showInfoTip" \n\t\t\t\t\t\t\tclass="info" \n\t\t\t\t\t\t\tstyle="position:fixed; bottom:0; right:20px; width: 400px; z-index: 1000"\n\t\t\t\t\t\t\tsave-preference-under="rgpdCookies"\n\t\t\t\t\t\t\tshow-once="false"\n\t\t\t\t\t\t\tng-show="$$showInfoTipRgpdCookie"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t<i18n>rgpd.cookies.banner.text1</i18n>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<div class="right-magnet">\n\t\t\t\t\t\t\t\t<button type="button" ng-click="goToMyAccount()" class="cancel">\n\t\t\t\t\t\t\t\t\t<i18n>rgpd.cookies.banner.button.consult</i18n>\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t<button type="button" ng-click="closeBanner()">\n\t\t\t\t\t\t\t\t\t<i18n>rgpd.cookies.banner.button.close</i18n>\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</infotip>\n\t\t\t\t\t</div>\n\t\t\t\t')(t))}}}}]),module.directive("publicInfotip",["$compile","tracker",function(e,t){return{restrict:"E",transclude:!0,template:'\n\t\t<infotip\n\t\t\tname="showInfoTip"\n\t\t\tclass="info"\n\t\t\tstyle="position:fixed; bottom:0; right:20px; width: 400px; z-index: 1000"\n\t\t\tsave-preference-under="rgpdCookies"\n\t\t\tshow-once="false"\n\t\t\tng-show="$$showPublicInfoTipRgpdCookie">\n\t\t\t<p>\n\t\t\t\t<i18n>rgpd.cookies.banner.text2</i18n>\n\t\t\t</p>\n\t\t\t<div class="right-magnet">\n\t\t\t\t<button type="button" ng-click="closeBanner()">\n\t\t\t\t\t<i18n>rgpd.cookies.banner.button.close</i18n>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</infotip>\n\t\t',link:function(e,t,n){e.template=template_1.template,e.$$showPublicInfoTipRgpdCookie=!1;var r=window.localStorage.getItem("showInfoTip.cookies");modelDefinitions_1.model.me||"false"==r||(e.$$showPublicInfoTipRgpdCookie=!0),e.closeBanner=function(){e.$$showPublicInfoTipRgpdCookie=!1,window.localStorage.setItem("showInfoTip.cookies","false")}}}}]),module.directive("xiti",function(){return{restrict:"E",compile:function(e,t){return function(t){jQuery.getScript("/xiti/public/js/directive.js",function(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(n){switch(n.label){case 0:return e.on("run.script",function(e,t){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:return[4,window.xiti.run(t)];case 1:return e.sent(),[2]}})})}),t.$on("$destroy",function(){e.off()}),[4,window.xiti.run()];case 1:return n.sent(),[2]}})})})}}}}),module.directive("adminPortal",function(){return entcore_1.skin.skin="admin",entcore_1.skin.theme="/public/admin/default/",{restrict:"E",transclude:!0,templateUrl:"/public/admin/portal.html",compile:function(e,t,n){jquery_1.$("html").addClass("portal-container"),jquery_1.$("[logout]").attr("href","/auth/logout?callback="+entcore_1.skin.logoutCallback),http_1.http().get("/userbook/preference/admin").done(function(e){var t=e.preference?JSON.parse(e.preference):null;t&&t.path?ui.setStyle("/public/admin/"+t.path+"/"):ui.setStyle(entcore_1.skin.theme)}).error(function(e){ui.setStyle(entcore_1.skin.theme)})}}}),module.directive("portalStyles",function(){return{restrict:"EA",compile:function(e,t){"false"!=t.portalStyles&&jquery_1.$("html").addClass("portal-container"),jquery_1.$("[logout]").attr("href","/auth/logout?callback="+entcore_1.skin.logoutCallback),ui.setStyle(entcore_1.skin.theme)}}}),module.directive("defaultStyles",function(){return{restrict:"EA",link:function(e,t,n){"false"!=n.defaultStyles&&jquery_1.$("html").addClass("portal-container"),ui.setStyle(entcore_1.skin.theme)}}}),module.directive("skinSrc",function(){return{restrict:"A",scope:"&",link:function(e,t,n){if(jquery_1.$("#theme").attr("href")){var r=entcore_1.skin.basePath;n.$observe("skinSrc",function(){-1===n.skinSrc.indexOf("http://")&&-1===n.skinSrc.indexOf("https://")&&-1===n.skinSrc.indexOf("/workspace/")?t.attr("src",r+n.skinSrc):t.attr("src",n.skinSrc)})}}}}),module.directive("defaultSrc",function(){return{restrict:"A",scope:"&",link:function(e,t,n){t.bind("error",function(){void 0!=n.defaultSrc&&(-1===n.defaultSrc.indexOf("http://")&&-1===n.defaultSrc.indexOf("https://")&&-1===n.defaultSrc.indexOf("/workspace/")?t.attr("src",entcore_1.skin.basePath+n.defaultSrc):t.attr("src",n.defaultSrc),n.defaultSrc=void 0)})}}}),module.directive("localizedClass",function(){return{restrict:"A",link:function(e,t,n){n.$addClass(globals_1.currentLanguage)}}}),module.directive("pullDownMenu",function(){return{restrict:"E",transclude:!0,template:'<div class="pull-down-menu hide" ng-transclude></div>',controller:function(e){}}}),module.directive("pullDownOpener",function(){return{restrict:"E",require:"^pullDownMenu",transclude:!0,template:'<div class="pull-down-opener" ng-transclude></div>',link:function(e,t,n){t.find(".pull-down-opener").on("click",function(){var e=t.parents(".pull-down-menu");e.hasClass("hide")?(setTimeout(function(){jquery_1.$("body").on("click.pulldown",function(){e.addClass("hide"),jquery_1.$("body").unbind("click.pulldown")})},0),e.removeClass("hide")):(jquery_1.$("body").unbind("click.pulldown"),e.addClass("hide"))})}}}),module.directive("pullDownContent",function(){return{restrict:"E",require:"^pullDownMenu",transclude:!0,template:'<div class="wrapper"><div class="arrow"></div><div class="pull-down-content" ng-transclude></div></div>',link:function(e,t,n){}}}),module.directive("topNotification",function(){return{restrict:"E",template:'<div class="notify-top"><div class="notify-top-content" ng-bind-html="content"></div><div class="notify-top-actions"><span ng-click="cancel()">[[doConfirm ? labels().cancel : labels().ok]]</span><span ng-click="ok()" ng-show="doConfirm">[[labels().confirm]]</span> </div></div>',scope:{trigger:"=",confirm:"=",content:"=",labels:"&"},link:function(e,t,n){t.css("display","none"),e.doConfirm=!1,e.cancel=function(){e.trigger=!1},e.ok=function(){e.trigger=!1,e.confirm()},e.labels()||(e.labels=function(){return{confirm:idiom_1.idiom.translate("confirm"),cancel:idiom_1.idiom.translate("cancel"),ok:idiom_1.idiom.translate("ok")}}),e.$watch("trigger",function(e){e?t.slideDown():t.slideUp()}),e.$watch("confirm",function(t){e.doConfirm=!!t})}}}),module.directive("dropDownButton",function(){return{restrict:"E",transclude:"true",controller:["$scope",function(e){}],template:'<div class="drop-down-button hidden"><div ng-transclude></div></div>',link:function(e,t,n){t.on("click",".opener",function(){t.find(".drop-down-button").removeClass("hidden"),jquery_1.$(document).one("mousedown",function(e){setTimeout(function(){t.find(".drop-down-button").addClass("hidden")},200)})})}}}),module.directive("opts",function(){return{restrict:"E",require:"^dropDownButton",transclude:!0,template:'<div class="options"><ul ng-transclude></ul></div>',link:function(e,t,n){t.on("click","li",function(){t.parents(".drop-down-button").addClass("hidden")})}}}),module.directive("loadingIcon",function(){return{restrict:"E",link:function(e,t,n){var r=function(){if(0!==jquery_1.$("#theme").length){var e=entcore_1.skin.basePath+"/img/icons/anim_loading_small.gif";jquery_1.$("<img>").attr("src",e).attr("class",n.class).addClass("loading-icon").appendTo(t)}};"loading"===n.default&&r(),http_1.http().bind("request-started."+n.request,function(e){t.find("img").remove(),r()}),void 0===n.onlyLoadingIcon?http_1.http().bind("request-ended."+n.request,function(e){var n=entcore_1.skin.basePath+"/img/icons/checkbox-checked.png";t.find(".loading-icon").remove(),jquery_1.$("<img>").attr("src",n).appendTo(t)}):http_1.http().bind("request-ended."+n.request,function(e){t.find("img").remove()})}}}),module.directive("loadingPanel",function(){return{restrict:"A",link:function(e,t,n){n.$observe("loadingPanel",function(e){http_1.http().bind("request-started."+n.loadingPanel,function(e){var n=entcore_1.skin.basePath+"/img/illustrations/loading.gif";0===t.children(".loading-panel").length&&t.append('<div class="loading-panel"><h1>'+idiom_1.idiom.translate("loading")+'</h1><img src="'+n+'" /></div>')}),http_1.http().bind("request-ended."+n.loadingPanel,function(e){t.find(".loading-panel").remove()})})}}}),module.directive("behaviour",function(){return{restrict:"E",template:"<div ng-transclude></div>",replace:!1,transclude:!0,scope:{resource:"="},link:function(e,t,n){if(console.error('This directive is deprecated. Please use "authorize" instead.'),!n.name)throw"Behaviour name is required";var r=t.children("div");e.$watch("resource",function(t){e.resource instanceof Array&&void 0!==underscore_1._.find(e.resource,function(e){return!e.myRights||void 0===e.myRights[n.name]})||e.resource instanceof modelDefinitions_1.Model&&(!e.resource.myRights||void 0===e.resource.myRights[n.name])?r.hide():r.show()})}}}),module.directive("authorize",function(){return{restrict:"EA",link:function(e,t,n){if(void 0===n.name&&void 0===n.authorize)throw"Right name is required";var r=t.children("div"),i=function(){var i=e.$eval(n.resource),o=n.name||n.authorize;o&&i instanceof Array&&void 0!==underscore_1._.find(i,function(e){return!e.myRights||void 0===e.myRights[o]})||i instanceof modelDefinitions_1.Model&&(!i.myRights||void 0===i.myRights[o])?(r.remove(),t.hide()):(t.append(r),t.show())};n.$observe("name",i),n.$observe("authorize",i),e.$watch(function(){return e.$eval(n.resource)},i)}}}),module.directive("drawingZone",function(){return function(e,t,n){t.addClass("drawing-zone")}}),module.directive("resizable",function(){return{restrict:"A",link:function(e,t,n){ui.extendElement.resizable(t,{lock:{horizontal:t.attr("horizontal-resize-lock"),vertical:t.attr("vertical-resize-lock")},thickness:n.resizeThickness?parseInt(n.resizeThickness):void 0,preserveRatio:n.preserveRatio&&"false"!==n.preserveRatio})}}}),module.directive("draggable",function(){return{restrict:"A",link:function(e,t,n){"false"!=n.draggable&&void 0===n.native&&ui.extendElement.draggable(t,{mouseUp:function(){t.on("click",function(){e.$parent.$eval(n.ngClick)})},noScroll:void 0!==n.draggablePreventScroll})}}}),module.directive("progressBar",function(){return{restrict:"E",scope:{max:"=",filled:"=",unit:"@"},template:'<div class="progress-bar"><div class="filled" ng-style="{width: filledPercent + \'%\'}">[[filled]] <span translate content="[[unit]]"></span></div>[[max]] <span translate content="[[unit]]"></span></div>',link:function(e,t,n){function r(){e.filledPercent=100*e.filled/e.max,e.filledPercent<10?t.find(".filled").addClass("small"):t.find(".filled").removeClass("small")}e.filledPercent=0,e.$watch("filled",function(e){r()}),e.$watch("max",function(e){r()})}}});var getDatePickerFormat=function(){return"datepicker.format"==idiom_1.idiom.translate("datepicker.format")?"dd/mm/yyyy":idiom_1.idiom.translate("datepicker.format")},getDatePickerMomentFormat=function(){return getDatePickerFormat().toUpperCase()},DatepickerController=function(){function e(e){this.element=e,this._started=!1}return e.prototype.init=function(e){if(this.element.datepicker){var t=this.element.datepicker(e);return this._started=!0,t}throw"[DatepickerController.init] datepicker plugin is not ready"},e.prototype.hide=function(){this._started&&this.element.datepicker("hide")},e.prototype.show=function(){this._started&&this.element.datepicker("show")},e.prototype.setValue=function(e){this._started&&this.element.datepicker("setValue",e)},e.prototype.destroy=function(){this._started&&this.element.datepicker("destroy"),this._started=!1},e}();module.directive("datePicker",["$compile","$timeout",function(e,t){return{scope:{minDate:"=",ngModel:"=",ngChange:"&",datePickerDelegate:"="},transclude:!0,replace:!0,restrict:"E",require:"ngModel",template:'<input ng-transclude type="text" ng-readonly="isreadonly"/>',link:function(e,t,n,r){e.modelCtrl=r;var i=function(){return e.datePickerDelegate},o=function(){i()&&i().onValidationChange&&i().onValidationChange({valid:r.$valid})};e.$watch("modelCtrl.$valid",function(){return o()}),e.$on("$destroy",function(){i()&&i().onDestroy&&i().onDestroy({ngModel:r})}),i()&&i().onInit&&i().onInit({ngModel:r});var s=getDatePickerFormat(),a=getDatePickerMomentFormat();e.isreadonly=!!n.readonly;var u=new DatepickerController(t),c=function(e){return moment_1.moment(e,["DD/MM/YYYY","YYYY-MM-DD","YYYY-MM-DD[T]HH:mm:ss.SSS[Z]","YYYY-MM-DD[T]HH:mm:ss.SSS","YYYY-MM-DD[T]HH:mm:ss"],!0)};r.$formatters.push(function(e){var t=function(e){return"string"==typeof e?c(e):e instanceof Date?moment_1.moment(e):"object"==typeof e&&e.isValid?e:null}(e);return t&&t.isValid&&t.isValid()?(d(t),t.format(a)):""});var l=function(e){return e?moment_1.moment(e,[a,"YYYY-MM-DD"],!0):null};r.$parsers.push(function(e){var t=l(e);return t&&t.isValid&&t.isValid()?(d(t),t.toDate()):r.$modelValue}),r.$validators.validDateMoment=function(e,t){var n=l(t);return!n||!n.isValid||n.isValid()};var d=function(e){if(e&&e.isValid&&e.isValid()){var t=e.format(a);u.setValue(t)}};r.$viewChangeListeners.push(function(){var t=e.minDate;t&&t.setHours(0,0,0,0),t&&r.$modelValue<t?setTimeout(function(){r.$setViewValue(moment_1.moment(t).format(a))}):setTimeout(function(){e.$parent.$eval(e.ngChange),e.$parent.$apply()})});var h=function(){r.$setViewValue(t.val())};e.minDate&&e.$watch("minDate",function(e){h()}),http_1.http().loadScript("/"+globals_1.infraPrefix+"/public/js/bootstrap-datepicker.js").then(function(){var e=moment_1.moment.weekdays().indexOf(moment_1.moment.weekdays(!0)[0]);u.init({format:s,weekStart:e,dates:{months:moment_1.moment.months(),monthsShort:moment_1.moment.monthsShort(),days:moment_1.moment.weekdays(),daysShort:moment_1.moment.weekdaysShort(),daysMin:moment_1.moment.weekdaysMin()}}).on("changeDate",function(){h(),u.hide()}),u.hide()});var f=function(e){(!e.originalEvent||t[0]!==e.originalEvent.target&&0===jquery_1.$(".datepicker").find(e.originalEvent.target).length)&&u.hide()};jquery_1.$("body, lightbox").on("click",f),jquery_1.$("body, lightbox").on("focusin",f),t.on("focus",function(){jquery_1.$(this).parents("form").on("submit",function(){u.hide()}),u.show()}),t.on("$destroy",function(){u.hide()})}}}]),module.directive("datePickerIcon",function(){return{scope:{ngModel:"=",ngChange:"&"},replace:!0,restrict:"E",template:'<div class="date-picker-icon"> <input type="text" class="hiddendatepickerform" style="visibility: hidden; width: 0px; height: 0px; float: inherit"/> <a ng-click="openDatepicker()"><i class="calendar"></i></a> </div>',link:function(e,t,n){http_1.http().loadScript("/"+globals_1.infraPrefix+"/public/js/bootstrap-datepicker.js").then(function(){var n=getDatePickerFormat(),r=getDatePickerMomentFormat(),i=t.find(".hiddendatepickerform");i.value=moment_1.moment(new Date).format(r);var o=moment_1.moment.weekdays().indexOf(moment_1.moment.weekdays(!0)[0]);i.datepicker({format:n,weekStart:o,dates:{months:moment_1.moment.months(),monthsShort:moment_1.moment.monthsShort(),days:moment_1.moment.weekdays(),daysShort:moment_1.moment.weekdaysShort(),daysMin:moment_1.moment.weekdaysMin()}}).on("changeDate",function(t){e.ngModel=t.date,e.$apply("ngModel"),jquery_1.$(this).datepicker("hide"),"function"==typeof e.ngChange&&e.ngChange()}),i.datepicker("hide"),e.openDatepicker=function(){i.datepicker("show")}})}}}),module.directive("filters",function(){return{restrict:"E",template:'<div class="row line filters"><div class="filters-icons"><ul ng-transclude></ul></div></div><div class="row"></div> ',transclude:!0,link:function(e,t,n){}}}),module.directive("alphabetical",["$parse",function(e){return{restrict:"E",controller:["$scope",function(e){e.letters=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","#"],e.matchingElements={},e.matching=function(t){return function(n){return n[e.title][0].toUpperCase()===t||"#"===t&&n[e.title][0].toLowerCase()===n[e.title][0].toUpperCase()}},e.updateElements=function(){e.letters.forEach(function(t){e.matchingElements[t]=underscore_1._.filter(e.collection(e),function(n){return n[e.title][0].toUpperCase()===t||"#"===t&&n[e.title][0].toLowerCase()===n[e.title][0].toUpperCase()})})},e.display||(e.display={}),e.display.pickLetter}],compile:function(t,n){var r=n.list,i=t.html();i=i.replace('<div class="item"','<div ng-repeat="'+r+' |filter: matching(letter)" class="item"'),t.html('<lightbox class="letter-picker" show="display.pickLetter" on-close="display.pickLetter = false;"><div ng-repeat="letter in letters"><h2 ng-click="viewLetter(letter)" class="cell" ng-class="{disabled: matchingElements[letter].length <= 0 }">[[letter]]</h2></div></lightbox><div ng-repeat="letter in letters"><div ng-if="matchingElements[letter].length > 0" class="row"><h1 class="letter-picker" ng-click="display.pickLetter = true;" id="alphabetical-[[letter]]">[[letter]]</h1><hr class="line" /><div class="row">'+i+'</div></div><div ng-if="matchingElements[letter].length > 0" class="row"></div></div>'),t.addClass("alphabetical");var o=r.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),s=o[2];return function(t,n,r){t.title=r.title||"title",n.removeAttr("title"),t.collection=e(s),t.$watchCollection(s,function(e){t.updateElements()}),t.updateElements(),t.viewLetter=function(e){document.getElementById("alphabetical-"+e).scrollIntoView(),t.display.pickLetter=!1}}}}}]),module.directive("completeClick",["$parse",function(e){return{compile:function(t,n){var r=e(n.completeClick);return function(e,t,n){t.on("click",function(t){e.$apply(function(){r(e,{$event:t})})})}}}}]),module.directive("dragstart",["$parse",function(e){return{restrict:"A",link:function(t,n,r){var i=e(r.dragstart),o=e(r.ngModel);if(void 0!==r.dragcondition&&!1===t.$eval(r.dragcondition))return void n.attr("draggable","false");n.attr("draggable","true"),n.attr("native",""),n.on("dragstart",function(e){if(o&&o(t))try{e.originalEvent.dataTransfer.setData("application/json",JSON.stringify(o(t)))}catch(n){e.originalEvent.dataTransfer.setData("Text",JSON.stringify(o(t)))}""!==r.dragstart&&i(t,{$originalEvent:e.originalEvent})}),n.on("$destroy",function(){n.off()})}}}]),module.directive("dragend",["$parse",function(e){return{restrict:"A",link:function(t,n,r){var i=e(r.dragend);n.on("dragend",function(e){""!==r.dragend&&i(t,{$originalEvent:e.originalEvent})}),n.on("$destroy",function(){n.off()})}}}]),module.directive("dragdrop",["$parse",function(e){return{restrict:"A",link:function(t,n,r){var i=e(r.dragdrop),o=e(r.dropcondition);n.on("dragover",function(e){(void 0===r.dropcondition||o(t,{$originalEvent:e.originalEvent}))&&(e.preventDefault(),e.stopPropagation(),t.$eval(r.onDragover),n.addClass("droptarget"))}),n.on("dragleave",function(e){e.preventDefault(),e.stopPropagation(),n.removeClass("droptarget")}),n.on("drop",function(e){e.originalEvent.preventDefault(),n.removeClass("droptarget");var r;try{r=JSON.parse(e.originalEvent.dataTransfer.getData("application/json"))}catch(t){r=JSON.parse(e.originalEvent.dataTransfer.getData("Text"))}i(t,{$originalEvent:e.originalEvent,$item:r})}),t.$on("$destroy",function(){n.off()})}}}]),module.directive("dropFiles",["$parse",function(e){return{link:function(t,n,r){var i=e(r.dropFiles);n.on("dragover",function(e){e.preventDefault(),t.$eval(r.onDrag),n.addClass("droptarget")}),n.on("dragleave",function(e){e.preventDefault(),t.$eval(r.onLeave),n.removeClass("droptarget")}),n.on("drop",function(e){e.preventDefault(),i.assign(t,e.originalEvent.dataTransfer.files),t.$eval(r.onDrop),t.$apply(),n.removeClass("droptarget")})}}}]),module.directive("attachments",["$parse",function(e){return{scope:!0,restrict:"E",templateUrl:"/assets/js/entcore/template/attachments.html",controller:["$scope",function(e){e.linker={resource:{}},e.attachments={me:modelDefinitions_1.model.me,display:{search:{text:"",application:{}},pickFile:!1},addAttachment:function(t){t.provider=e.attachments.display.search.application,e.ngModel(e)instanceof Array?e.ngModel(e).push(t):e.ngModel.assign(e,[t]),e.attachments.display.pickFile=!1},removeAttachment:function(t){e.ngModel.assign(e,underscore_1._.reject(e.ngModel(e),function(e){return e===t}))},attachmentsList:function(){return e.list=e.ngModel(e),e.list}}}],link:function(t,n,r){t.ngModel=e(r.ngModel),t.attachments.onChange=function(){t.$eval(r.onChange)},t.apps=t.$eval(r.apps),t.$watch(function(){return t.attachments.display.pickFile},function(e){e?t.attachments.loadApplicationResources(function(){t.attachments.searchApplication(),t.attachments.display.search.text=" ",t.$apply("attachments")}):t.attachments.display.search.text=""},!0),http_1.http().get("/resources-applications").done(function(e){t.attachments.apps=underscore_1._.filter(modelDefinitions_1.model.me.apps,function(n){return underscore_1._.find(e,function(e){return-1!==n.address.indexOf(e)&&n.icon})&&underscore_1._.find(t.apps,function(e){return-1!==n.address.indexOf(e)})}),t.attachments.display.search.application=t.attachments.apps[0],t.attachments.loadApplicationResources(function(){}),t.$apply("attachments")}),t.attachments.loadApplicationResources=function(e){e||(e=function(){t.attachments.display.searchApplication(),t.$apply("attachments")});var n=t.attachments.display.search.application.address.split("/");t.prefix=n[n.length-1],behaviours_1.Behaviours.loadBehaviours(t.prefix,function(n){n.loadResources(e),t.attachments.addResource=n.create})},t.attachments.searchApplication=function(){var e=t.attachments.display.search.application.address.split("/");t.prefix=e[e.length-1],behaviours_1.Behaviours.loadBehaviours(t.prefix,function(e){t.attachments.resources=underscore_1._.filter(e.resources,function(e){return""!==t.attachments.display.search.text&&(-1!==idiom_1.idiom.removeAccents(e.title.toLowerCase()).indexOf(idiom_1.idiom.removeAccents(t.attachments.display.search.text).toLowerCase())||e._id===t.attachments.display.search.text)})})},t.linker.createResource=function(){var e=t.attachments.display.search.application.address.split("/"),n=e[e.length-1];behaviours_1.Behaviours.loadBehaviours(n,function(e){e.create(t.linker.resource,function(e,n){t.ngModel(t)instanceof Array||t.ngModel.assign(t,[]),t.attachments.display.pickFile=!1;var r=underscore_1._.find(e,function(e){return e._id===n._id});r.provider=t.attachments.display.search.application,t.ngModel(t).push(r),t.$apply()})})}}}}]),module.directive("ngTouchstart",function(){return{restrict:"A",scope:!0,link:function(e,t,n){t.on("touchstart",function(){e.$eval(n.ngTouchstart)}),n.ngTouchend&&jquery_1.$("body").on("touchend",function(){e.$eval(n.ngTouchend)})}}}),module.directive("sidePanel",function(){return{restrict:"E",transclude:!0,template:'<div class="opener"></div><div class="toggle"><div class="content" ng-transclude></div></div>',link:function(e,t,n){t.addClass("hidden"),t.children(".opener").on("click",function(e){t.hasClass("hidden")&&(t.removeClass("hidden"),setTimeout(function(){jquery_1.$("body").on("click.switch-side-panel",function(e){t.children(".toggle").find(e.originalEvent.target).length||(t.addClass("hidden"),jquery_1.$("body").off("click.switch-side-panel"))})},0))})}}}),module.directive("plus",function(){return{restrict:"E",transclude:!0,template:'<div class="opener"><div class="plus"></div><div class="minus"></div></div><section class="toggle-buttons"><div class="toggle" ng-transclude></div></div>',link:function(e,t,n){t.children(".toggle-buttons").addClass("hide"),t.children(".opener").addClass("plus"),t.children(".opener").on("click",function(e){t.children(".toggle-buttons").hasClass("hide")&&(t.children(".toggle-buttons").removeClass("hide"),t.children(".opener").removeClass("plus").addClass("minus"),setTimeout(function(){jquery_1.$("body").on("click.switch-plus-buttons",function(e){t.children(".toggle-buttons").addClass("hide"),t.children(".opener").removeClass("minus").addClass("plus"),jquery_1.$("body").off("click.switch-plus-buttons")})},0))})}}}),module.directive("help",function(){var e;return{restrict:"E",scope:{},template:'<i class="navbar-help ic-help"></i><lightbox show="display.read" on-close="display.read = false"><div></div></lightbox>',link:function(t,n){return __awaiter(this,void 0,void 0,function(){var r,i,o,s,a;return __generator(this,function(u){switch(u.label){case 0:return[4,entcore_1.skin.getHelpPath()];case 1:return r=u.sent(),t.display={},t.helpPath=r+"/application/"+globals_1.appPrefix+"/","."===globals_1.appPrefix&&"/adapter"!==window.location.pathname?t.helpPath=r+"/application/portal/":"/adapter"===window.location.pathname?t.helpPath=r+"/application/"+window.location.search.split("eliot=")[1].split("&")[0]+"/":window.location.pathname.includes("/directory/class-admin")?t.helpPath=r+"/application/parametrage-de-la-classe/":(window.location.pathname.includes("/userbook/mon-compte")||window.location.pathname.includes("/timeline/preferencesView")||window.location.pathname.includes("/timeline/historyView"))&&(t.helpPath=r+"/application/userbook/"),a=function(e){i=jquery_1.$("<div>"+e+"</div>"),i.find("> p").prev().insertAfter(i.find("> p")),i.find("img").each(function(e,n){jquery_1.$(n).attr("src",t.helpPath+"../.."+jquery_1.$(n).attr("src"))}),n.find("div.content > div[ng-transclude]").html(i.html()),n.find("li a").on("click",function(e){n.find(".section").slideUp(),jquery_1.$("div#"+jquery_1.$(e.target).attr("href").split("#")[1]).slideDown()}),n.find("div.paragraph a").on("click",function(e){window.open(jquery_1.$(e.target).closest("a").attr("href"),"_newtab")}),n.find("li a").first().click(),n.find("#TOC").wrap('<div id="burger-menu" class="burger-menu"></div>'),o=n.find("#burger-menu"),o.prepend('<button id="burger-button" class="burger-button"><i class="burger-icon"></i></button>'),s=n.find("#burger-button"),s.click(function(e){o.toggleClass("active")}),n.find("#TOC > ul li a").on("click",function(e){o.removeClass("active")});var r=function(e){0==n.find("#TOC > ul").find(e.target).length&&0==o.find(e.target).length&&o.removeClass("active")};jquery_1.$("body").on("click",r),t.$on("$destroy",function(){jquery_1.$("body").off("click",r)}),t.display.read=!0,t.$apply("display")},n.children("i.navbar-help").on("click",function(){e?a(e):http_1.http().get(t.helpPath).done(function(t){e=t,a(e)}).e404(function(){e="<h2>"+idiom_1.idiom.translate("help.notfound.title")+"</h2><p>"+idiom_1.idiom.translate("help.notfound.text")+"</p>",a(e)})}),[2]}})})}}}),module.directive("stickToTop",function(){return{restrict:"EA",link:function(e,t,n){if(!("noStickMobile"in n&&ui.breakpoints.checkMaxWidth("wideScreen"))){var r=null,i=(jquery_1.$(window).scrollTop(),jquery_1.$(window).scrollTop()),o=function(){t.addClass("scrolling");var e=jquery_1.$(".height-marker").height();null==e&&(e=0);var n=null==i?0:i,r=t.offset().top,s=r+(n+e-r)/20;t.offset({top:s<0?0:s}),requestAnimationFrame(o)},s=!1;jquery_1.$(window).scroll(function(){r||(r=t.offset().top),i=jquery_1.$(window).scrollTop();var e=jquery_1.$(".height-marker").height();null==e&&(e=0),i<=r-e&&(i=r-e),s||o(),s=!0})}}}}),module.directive("floatingNavigation",function(){return{restrict:"E",replace:!0,transclude:!0,scope:{},template:'<nav class="vertical hash-magnet floating" stick-to-top><div class="previous arrow" ng-class="{ visible: step > 0 }"></div><div class="content" ng-transclude></div><div class="next arrow" ng-class="{ visible: step < stepsLength && stepsLength > 0 }"></div></nav>',link:function(e,t,n){var r;e.step=0,setTimeout(function(){r=t.offset(),t.height(jquery_1.$(window).height()-parseInt(t.css("margin-bottom"))-100),e.stepsLength=parseInt(t.find(".content")[0].scrollHeight/t.height())},800),t.find(".arrow.next").on("click",function(){e.step++,e.$apply(),t.find(".content").animate({scrollTop:t.height()*e.step},450)}),t.find(".arrow.previous").on("click",function(){e.step--,e.$apply(),t.find(".content").animate({scrollTop:t.height()*e.step},450)})}}}),module.directive("multiCombo",function(){return{restrict:"E",replace:!1,scope:{title:"@",comboModel:"=",filteredModel:"=",searchOn:"@",orderBy:"@",filterModel:"&",searchPlaceholder:"@",maxSelected:"@",labels:"&",disable:"&",selectionEvent:"&",deselectionEvent:"&"},templateUrl:"/assets/js/entcore/template/multi-combo.html",controller:["$scope","$filter","$timeout",function(e,t,n){e.search={input:"",reset:function(){this.input=""}},e.show=!1,e.toggleVisibility=function(){e.show=!e.show,e.show&&(e.addClickEvent(),e.search.reset(),n(function(){e.setComboPosition()},1))},e.filteredModel&&e.filteredModel instanceof Array||(e.filteredModel=[]),e.isSelected=function(t){return e.filteredModel.indexOf(t)>=0},e.toggleItem=function(t){var n=e.filteredModel.indexOf(t);n>=0?(e.filteredModel.splice(n,1),e.deselectionEvent()instanceof Function&&e.deselectionEvent()()):(!e.maxSelected||e.filteredModel.length<e.maxSelected)&&(e.filteredModel.push(t),e.selectionEvent()instanceof Function&&e.selectionEvent()())},e.selectAll=function(){e.filteredModel.length=0;for(var t=0;t<e.filteredComboModel.length;t++)e.filteredModel.push(e.filteredComboModel[t]);e.selectionEvent()instanceof Function&&e.selectionEvent()()},e.deselectAll=function(){e.filteredModel.length=0,e.deselectionEvent()instanceof Function&&e.deselectionEvent()()},e.fairInclusion=function(e,t){return idiom_1.idiom.removeAccents(e.toLowerCase()).indexOf(idiom_1.idiom.removeAccents(t.toLowerCase()))>=0},e.filteringFun=function(t){var n=!e.filterModel()||e.filterModel()(t);return e.searchOn&&t instanceof Object?n&&e.fairInclusion(t[e.searchOn],e.search.input):n&&e.fairInclusion(t,e.search.input)},e.display=function(e){return e instanceof Object?e.toString():e},e.$watchCollection("comboModel",function(){if(!e.comboModel)return void(e.filteredModel=[]);for(var t=0;t<e.filteredModel.length;t++){var n=e.comboModel.indexOf(e.filteredModel[t]);n<0&&(e.filteredModel.splice(n,1),t--)}})}],link:function(e,t,n){if(!n.comboModel||!n.filteredModel)throw"[<multi-combo> directive] Error: combo-model & filtered-model attributes are required.";if(e.maxSelected=parseInt(e.maxSelected),!isNaN(e.maxSelected)&&e.maxSelected<1)throw"[<multi-combo> directive] Error: max-selected must be an integer greater than 0.";e.addClickEvent=function(){if(e.show){var n=(new Date).getTime();jquery_1.$("body").on("click.multi-combo"+n,function(r){t.find(r.originalEvent.target).length||(e.show=!1,jquery_1.$("body").off("click.multi-combo"+n),e.$apply())})}},e.setComboPosition=function(){t.css("position","relative"),t.find(".multi-combo-root-panel").css("top",t.find(".multi-combo-root-button").outerHeight())},e.setComboPosition()}}}),module.directive("slide",function(){return{restrict:"A",scope:!1,link:function(e,t,n){e.$watch(function(){return e.$eval(n.slide)},function(e){e?t.slideDown():t.slideUp()}),e.$eval(n.slide)||t.hide()}}}),module.directive("sideNav",function(){return{restrict:"AE",link:function(e,t,n){function r(){ui.breakpoints.checkMaxWidth(o)?(t.height(jquery_1.$(window).height()),jquery_1.$(".mobile-nav-opener").hasClass("visible")&&i.find(".application-title").addClass("move-right"),ui.extendElement.touchEvents(i,{exclude:["longclick"],allowDefault:!0}),ui.extendElement.touchEvents(t,{exclude:["longclick"]}),i.on("swipe-right",function(){t.addClass("slide")}),t.on("swipe-left",function(){t.removeClass("slide"),jquery_1.$("body").removeClass("point-out")})):t.height("auto")}var i=jquery_1.$("body");jquery_1.$(".mobile-nav-opener").addClass("visible");var o=ui.breakpoints.tablette;n.targetElement;t.addClass("side-nav"),jquery_1.$("body").addClass("transition"),jquery_1.$(".mobile-nav-opener").on("click",function(){t.hasClass("slide")?(t.removeClass("slide"),jquery_1.$("body").removeClass("point-out")):(t.addClass("slide"),jquery_1.$("body").addClass("point-out"))}),jquery_1.$("body").on("click",function(e){t[0]===e.target||t.find(e.target).length||jquery_1.$(".mobile-nav-opener")[0]===e.target||(t.removeClass("slide"),jquery_1.$("body").removeClass("point-out"))}),n.maxWidth&&(o=parseInt(n.maxWidth)),r(),jquery_1.$(window).on("resize",r),e.$on("$destroy",function(){jquery_1.$(".mobile-nav-opener").removeClass("visible"),i.find(".application-title").removeClass("move-right")})}}}),module.directive("appTitle",["$compile",function(e){return{restrict:"E",link:function(t,n,r){function i(){var n=jquery_1.$("app-title").html(),r=jquery_1.$("header.main .application-title");ui.breakpoints.checkMaxWidth("tablette")?r.length||jquery_1.$("header.main").append(e(n)(t)):r.remove()}n.find("h1").addClass("application-title"),i(),jquery_1.$(window).on("resize",i),t.$on("$destroy",function(){jquery_1.$("body").find("header.main .application-title").remove()})}}}]),module.directive("microbox",["$compile",function(e){return{restrict:"E",compile:function(t,n,r){var i=t.html();return function(t,n,r){function o(r){ui.breakpoints.checkMaxWidth("tablette")?jquery_1.$(".microbox-wrapper").length||(jquery_1.$("body").append('<div class="microbox-wrapper zero"><div class="microbox-content"><i class="close-2x"></i><div class="microbox-material"></div><button class="microbox-close">'+a+"</button></div></div>"),jquery_1.$(".microbox-material").html(e(i)(t)),n.after('<button class="microbox">'+s+"</button>"),jquery_1.$("button.microbox").on("click",function(){jquery_1.$(".microbox-wrapper").hasClass("zero")&&jquery_1.$(".microbox-wrapper").removeClass("zero")}),jquery_1.$("button.microbox-close, .microbox-content i.close-2x").on("click",function(){jquery_1.$(".microbox-wrapper").hasClass("zero")||jquery_1.$(".microbox-wrapper").addClass("zero")}),r&&t.$apply()):(jquery_1.$(".microbox-wrapper").remove(),jquery_1.$("button.microbox").remove())}var s=idiom_1.idiom.translate(r.microtitle),a=idiom_1.idiom.translate(r.close);n.addClass("zero-mobile"),o(),jquery_1.$(window).on("resize",function(){o(!0)}),t.$on("$destroy",function(){jquery_1.$("body").find("button.microbox").remove(),jquery_1.$("body").find(".microbox-content").remove()})}}}}]),module.directive("subtitle",function(){return{restrict:"A",scope:!1,link:function(e,t,n){jquery_1.$("section.main").addClass("subtitle-push"),e.$on("$destroy",function(){jquery_1.$("section.main").removeClass("subtitle-push")})}}}),module.directive("whereami",function(){return{restrict:"A",scope:!1,link:function(e,t,n){t.addClass("whereami");var r=jquery_1.$("nav.side-nav a.selected").html();jquery_1.$("body").on("whereami.update",function(){t.html(jquery_1.$("nav.side-nav a.selected").html())}),t.html(r)}}});var checkToolDelay=function(){var e=!0;return function(t){e&&(e=!1,setTimeout(function(){t.$apply(),e=!0},200))}}();module.directive("checkTool",function(){return{restrict:"E",scope:{ngModel:"=",ngClick:"&",ngChange:"&"},template:'<div class="check-tool"><i class="check-status"></i></div>',link:function(e,t,n){t.on("click",function(){e.ngModel=!e.ngModel,checkToolDelay(e),e.ngModel?t.addClass("selected"):t.removeClass("selected"),e.ngClick&&e.ngClick(),e.ngChange&&e.ngChange(),checkToolDelay(e)}),jquery_1.$("body").on("click",function(n){0!==jquery_1.$(n.target).parents(".check-tool, .toggle, .lightbox").length||jquery_1.$(n.target).is(".lightbox")||"CHECK-TOOL"===n.target.nodeName||0===jquery_1.$("body").find(n.target).length||(e.ngModel=!1,t.removeClass("selected"),checkToolDelay(e),e.ngChange&&(e.ngChange(),checkToolDelay(e)))})}}}),module.directive("subtitle",function(){return{restrict:"A",scope:!1,link:function(e,t,n){jquery_1.$("section.main").addClass("subtitle-push"),e.$on("$destroy",function(){jquery_1.$("section.main").removeClass("subtitle-push")})}}}),module.directive("whereami",function(){return{restrict:"A",scope:!1,link:function(e,t,n){var r=jquery_1.$("nav.side-nav a.selected").text();jquery_1.$("body").on("whereami.update",function(){t.text(jquery_1.$("nav.side-nav a.selected").text())}),t.text(r)}}}),module.controller("Account",["$scope",function(e){e.nbNewMessages=0,e.messagerieLink="/zimbra/zimbra",e.me=modelDefinitions_1.model.me,e.rand=Math.random(),e.skin=entcore_1.skin,e.lang=idiom_1.idiom,e.currentLanguage=globals_1.currentLanguage,e.refreshAvatar=function(){http_1.http().get("/userbook/api/person",{},{requestName:"refreshAvatar"}).done(function(t){e.avatar=t.result[0].photo,e.avatar&&"no-avatar.jpg"!==e.avatar&&"no-avatar.svg"!==e.avatar||(e.avatar=entcore_1.skin.basePath+"/img/illustrations/no-avatar.svg"),e.username=modelDefinitions_1.model.me.firstName,modelDefinitions_1.model.me.profiles=t.result[0].type,e.$apply()})},e.goToMessagerie=function(){if(console.log(e.messagerieLink),modelDefinitions_1.model.me.hasWorkflow("org.entcore.auth.controllers.CarbonioPreauthController|preauth"))return e.messagerieLink="/auth/carbonio/preauth",void window.open(e.messagerieLink);http_1.http().get("/userbook/preference/zimbra").done(function(t){try{t.preference&&(JSON.parse(t.preference).modeExpert&&modelDefinitions_1.model.me.hasWorkflow("fr.openent.zimbra.controllers.ZimbraController|preauth"))?(e.messagerieLink="/zimbra/preauth",window.open(e.messagerieLink)):(e.messagerieLink="/zimbra/zimbra",window.location.href=window.location.origin+e.messagerieLink),console.log(e.messagerieLink)}catch(t){e.messagerieLink="/zimbra/zimbra"}})},e.refreshMails=function(){if(modelDefinitions_1.model.me.hasWorkflow("fr.openent.zimbra.controllers.ZimbraController|view"))http_1.http().get("/zimbra/count/INBOX",{unread:!0}).done(function(t){e.nbNewMessages=t.count,e.$apply("nbNewMessages")});else{if(modelDefinitions_1.model.me.hasWorkflow("org.entcore.auth.controllers.CarbonioPreauthController|preauth"))return;http_1.http().get("/conversation/count/INBOX",{unread:!0}).done(function(t){e.nbNewMessages=t.count,e.$apply("nbNewMessages")})}},e.openApps=function(e){jquery_1.$(window).width()<=700&&e.preventDefault()},http_1.http().get("/directory/userbook/"+modelDefinitions_1.model.me.userId).done(function(t){modelDefinitions_1.model.me.userbook=t,e.$apply("me")}),entcore_1.skin.listThemes(function(t){e.themes=t,e.$apply("themes")}),e.$root.$on("refreshMails",e.refreshMails),e.refreshMails(),e.refreshAvatar(),e.currentURL=window.location.href}]),module.controller("Admin",["$scope",function(e){e.urls=[],http_1.http().get("/admin-urls").done(function(t){e.urls=t,e.$apply("urls")}),e.getHighlight=function(e){return window.location.href.indexOf(e.url)>=0},e.orderUrls=function(t){return e.getHighlight(t)?0:1},e.filterUrls=function(e){return!(e.allowed&&e.allowed instanceof Array)||underscore_1._.find(modelDefinitions_1.model.me.functions,function(t){return underscore_1._.contains(e.allowed,t.code)})},e.scrollUp=ui.scrollToTop}]),module.config(["$locationProvider",function(e){e.hashPrefix("")}]),jquery_1.$(document).ready(function(){setTimeout(function(){globals_1.routes.routing&&module.config(globals_1.routes.routing),lib_1.bootstrap(function(){function start(){idiom_1.idiom.addBundle("/i18n",function(){idiom_1.idiom.addBundle("/"+globals_1.appPrefix+"/i18n",function(){"fr"===globals_1.currentLanguage?(moment_1.moment.locale(globals_1.currentLanguage),moment_1.moment.updateLocale(globals_1.currentLanguage,moment_1.frLocales)):moment_1.moment.locale(globals_1.currentLanguage),angular_1.angular.bootstrap(jquery_1.$("html"),["app"]),modelDefinitions_1.model.trigger("bootstrap"),modelDefinitions_1.model.bootstrapped=!0,modelDefinitions_1.model.sync()})})}entcore_1.RTE.addDirectives(module),window.entcore.ng.init&&window.entcore.ng.init(module),modelDefinitions_1.model.build(),idiom_1.idiom.addDirectives(module),http_1.http().get(entcore_1.skin.basePath+"js/directives.js").done(function(d){eval(d),"function"==typeof entcore_1.skin.addDirectives?entcore_1.skin.addDirectives(module,start):start()}).error(function(){start()})})},10)}),module.controller("SearchPortal",["$scope",function(e){e.launchSearch=function(t){var n=e.mysearch;"link"!=t&&t.stopPropagation(),"link"!=t&&13!=t.keyCode||(n=n&&""!==n?n:" ",e.mysearch="",window.location.href="/searchengine#/"+n)}}]),exports.injectIntoSelector=injectIntoSelector,module.directive("cguLightbox",[function(){return{restrict:"E",scope:!0,templateUrl:template_1.template.viewPath+"entcore/cgu-lightbox.html",link:function(e,t,n){return __awaiter(this,void 0,void 0,function(){var t;return __generator(this,function(n){switch(n.label){case 0:return e.show=!1,!me_1.Me.session.needRevalidateTerms||me_1.Me.session.deletePending?[3,2]:[4,Promise.all([idiom_1.idiom.addBundlePromise("/i18n"),idiom_1.idiom.addBundlePromise("/auth/i18n")])];case 1:return n.sent(),e.model={accept:!1},t="/auth/logout?callback="+entcore_1.skin.logoutCallback,e.title=idiom_1.idiom.translate("cgu.revalidate.title"),e.content=idiom_1.idiom.translate("cgu.revalidate.content"),e.userChartUrl=idiom_1.idiom.translate("auth.charter"),e.cguUrl=idiom_1.idiom.translate("cgu.file"),e.actionText=idiom_1.idiom.translate("cgu.revalidate.action"),e.show=!0,e.isDisabled=function(){return!e.model.accept},e.logout=function(){window.location.href=t},e.validate=function(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(t){switch(t.label){case 0:return[4,me_1.Me.revalidateTerms()];case 1:return t.sent(),e.show=!1,e.$apply(),[2]}})})},e.$apply(),[3,3];case 2:e.show=!1,n.label=3;case 3:return[2]}})})}}}]),module.directive("onEnter",function(){return function(e,t,n){t.bind("keydown keypress",function(t){13===t.which&&(e.$apply(function(){e.$eval(n.onEnter)}),t.preventDefault())})}}),module.service("CounterService",[function(){var e=function(){this.count=1};return e.prototype.increase=function(){return++this.count},e}()])},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.$=n(2),window.jQuery=t.$,window.entcore||(window.entcore={}),window.entcore.jQuery=t.$,window.entcore.$=t.$,window.$=t.$},function(e,t,n){var r,i;/*!
|
|
4
4
|
* jQuery JavaScript Library v3.7.1
|
|
5
5
|
* https://jquery.com/
|
|
6
6
|
*
|