ode-ngjs-front 1.4.3-dev.202405241104 → 1.4.3-develop-pedago.202405311709

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.
@@ -15,7 +15,8 @@ export declare enum KnownWidget {
15
15
  universalis = "universalis-widget",
16
16
  briefme = "briefme-widget",
17
17
  lastInfos = "last-infos-widget",
18
- edumalin = "edumalin-widget"
18
+ edumalin = "edumalin-widget",
19
+ mediacentre = "mediacentre-widget"
19
20
  }
20
21
  export declare type WidgetLoader = (widgetName: String) => Promise<void>;
21
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"widgets.module.d.ts","sourceRoot":"","sources":["../../../src/ts/modules/widgets.module.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAQ,OAAO,EAAE,MAAM,SAAS,CAAC;AAuCjD,oBAAY,WAAW;IACnB,SAAS,qBAA2B;IACpC,MAAM,kBAA2B;IACjC,MAAM,kBAA2B;IACjC,QAAQ,cAAqB;IAC7B,MAAM,kBAA2B;IACjC,KAAK,UAAoB;IACzB,QAAQ,oBAA2B;IACnC,GAAG,eAA2B;IAC9B,MAAM,YAAqB;IAC3B,YAAY,mBAAsB;IAClC,YAAY,wBAA2B;IACvC,QAAQ,oBAA2B;IACnC,WAAW,uBAA2B;IACtC,OAAO,mBAA2B;IAClC,SAAS,sBAA4B;IACrC,QAAQ,oBAA2B;CACtC;AACD,oBAAY,YAAY,GAAG,CAAC,UAAU,EAAC,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AA8U9D;;GAEG;AACH,wBAAgB,eAAe,IAAG,OAAO,CAExC"}
1
+ {"version":3,"file":"widgets.module.d.ts","sourceRoot":"","sources":["../../../src/ts/modules/widgets.module.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAQ,OAAO,EAAE,MAAM,SAAS,CAAC;AAyCjD,oBAAY,WAAW;IACnB,SAAS,qBAA2B;IACpC,MAAM,kBAA2B;IACjC,MAAM,kBAA2B;IACjC,QAAQ,cAAqB;IAC7B,MAAM,kBAA2B;IACjC,KAAK,UAAoB;IACzB,QAAQ,oBAA2B;IACnC,GAAG,eAA2B;IAC9B,MAAM,YAAqB;IAC3B,YAAY,mBAAsB;IAClC,YAAY,wBAA2B;IACvC,QAAQ,oBAA2B;IACnC,WAAW,uBAA2B;IACtC,OAAO,mBAA2B;IAClC,SAAS,sBAA4B;IACrC,QAAQ,oBAA2B;IACnC,WAAW,uBAA2B;CAEzC;AACD,oBAAY,YAAY,GAAG,CAAC,UAAU,EAAC,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAkW9D;;GAEG;AACH,wBAAgB,eAAe,IAAG,OAAO,CAExC"}
@@ -1 +1 @@
1
- {"version":3,"file":"theme-helper.service.d.ts","sourceRoot":"","sources":["../../../src/ts/services/theme-helper.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAc,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAItD;;GAEG;AACH,qBAAa,kBAAkB;IA0BvB,OAAO,CAAC,WAAW;IAzBvB,MAAM,CAAC,OAAO,WAAyB;IAEvC,OAAO,CAAC,YAAY,CAoBnB;gBAGW,WAAW,EAAC,eAAe;IAIvC,OAAO,KAAK,QAAQ,GAEnB;IAED,uCAAuC;IACvC,IAAI,GAAG,WAEN;IAED,8FAA8F;IACxF,qBAAqB,IAAG,OAAO,CAAC,MAAM,CAAC;IAW7C,4GAA4G;IACtG,oBAAoB,IAAG,OAAO,CAAC,MAAM,CAAC;IAM5C,SAAS,CAAE,GAAG,EAAC,MAAM,GAAG,MAAM;IAa9B;;;OAGG;IACH,mBAAmB,CAAE,QAAQ,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM;IAYrD,4CAA4C;IAC5C,WAAW,CAAE,KAAK,EAAC,MAAM;IAWzB,iCAAiC;IAC3B,UAAU,CAAE,SAAS,EAAC,MAAM;IA8BlC,qEAAqE;IACrE,UAAU,IAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIlC,2FAA2F;IACrF,QAAQ,CAAE,KAAK,EAAC,UAAU;IAMhC;;OAEG;IACF,WAAW,CAAE,GAAG,EAAC,OAAO,GAAG,MAAM;IA2BlC,wCAAwC;IACxC,kBAAkB,CAAE,MAAM,EAAC,OAAO,GAAG,MAAM;CAG9C"}
1
+ {"version":3,"file":"theme-helper.service.d.ts","sourceRoot":"","sources":["../../../src/ts/services/theme-helper.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAc,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAItD;;GAEG;AACH,qBAAa,kBAAkB;IA2BvB,OAAO,CAAC,WAAW;IA1BvB,MAAM,CAAC,OAAO,WAAyB;IAEvC,OAAO,CAAC,YAAY,CAqBnB;gBAGW,WAAW,EAAC,eAAe;IAIvC,OAAO,KAAK,QAAQ,GAEnB;IAED,uCAAuC;IACvC,IAAI,GAAG,WAEN;IAED,8FAA8F;IACxF,qBAAqB,IAAG,OAAO,CAAC,MAAM,CAAC;IAW7C,4GAA4G;IACtG,oBAAoB,IAAG,OAAO,CAAC,MAAM,CAAC;IAM5C,SAAS,CAAE,GAAG,EAAC,MAAM,GAAG,MAAM;IAa9B;;;OAGG;IACH,mBAAmB,CAAE,QAAQ,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM;IAYrD,4CAA4C;IAC5C,WAAW,CAAE,KAAK,EAAC,MAAM;IAWzB,iCAAiC;IAC3B,UAAU,CAAE,SAAS,EAAC,MAAM;IA8BlC,qEAAqE;IACrE,UAAU,IAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIlC,2FAA2F;IACrF,QAAQ,CAAE,KAAK,EAAC,UAAU;IAMhC;;OAEG;IACF,WAAW,CAAE,GAAG,EAAC,OAAO,GAAG,MAAM;IA2BlC,wCAAwC;IACxC,kBAAkB,CAAE,MAAM,EAAC,OAAO,GAAG,MAAM;CAG9C"}
@@ -0,0 +1,2 @@
1
+ export declare const odeModuleName = "odeMediacentreWidgetModule";
2
+ //# sourceMappingURL=mediacentre-widget.widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mediacentre-widget.widget.d.ts","sourceRoot":"","sources":["../../../../src/ts/widgets/mediacentre-widget/mediacentre-widget.widget.ts"],"names":[],"mappings":"AAyJA,eAAO,MAAM,aAAa,+BAA+B,CAAC"}
package/dist/version.txt CHANGED
@@ -1 +1 @@
1
- ode-ngjs-front 24/05/2024 11:05:17
1
+ ode-ngjs-front 31/05/2024 17:10:23
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[820],{1058:(e,t,i)=>{i.d(t,{Z:()=>r});const r='<style>.widget-mediacentre .widget-body{max-height:300px;overflow:auto}.widget-mediacentre .widget-body .empty{display:flex;align-items:center;justify-content:center;padding:8px;font-style:italic}.widget-mediacentre .widget-body .resource-list{display:flex;flex-wrap:wrap}.widget-mediacentre .widget-body .resource-list-item{position:relative;width:25%;height:150px}.widget-mediacentre .widget-body .resource-list-item a{display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background-color .8s cubic-bezier(.25,.46,.45,.94);position:relative;margin:1px;padding:0 8px;color:unset;text-decoration:none;background:#fafafa;height:99%;width:auto}.widget-mediacentre .widget-body .resource-list-item a:hover{background-color:#fff;color:#ff8d2e;cursor:pointer}.widget-mediacentre .widget-body .resource-list-item .picture{height:80%;display:flex;align-items:center;justify-content:center}.widget-mediacentre .widget-body .resource-list-item .picture img{max-height:100%;max-width:100%}.widget-mediacentre .widget-body .resource-list-item .title{height:20%;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-mediacentre #universalis-container .school,.widget-mediacentre #universalis-container .widget-header{display:none}.widget-mediacentre #universalis-container .widget-body{padding:5px}.widget-mediacentre #universalis-container .widget-empty-message{display:flex;align-items:center;justify-content:space-around}.widget-mediacentre #universalis-container .widget-empty-message:first-child,.widget-mediacentre #universalis-container form{max-height:30px}.widget-mediacentre #universalis-container img{width:auto}.widget-mediacentre #universalis-container .widget-empty-message:first-child *,.widget-mediacentre #universalis-container form *{max-height:inherit}</style> <div class="widget-mediacentre"> <div class="widget-header"> <div class="subtitle"> <a class="seemore" href="/mediacentre" i18n-title="mediacentre.widget.more" dnd-nodrag ng-click="trackEvent($event, {detail:{\'open\':\'more\'} })"> <i18n>mediacentre.widget.title</i18n> <span class="seemore-text"><i18n>mediacentre.widget.more</i18n></span> </a> </div> <div class="widget-options"> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body" dnd-nodrag> <ul class="resource-list" ng-if="ctrl.resources.length > 0"> <li class="resource-list-item" ng-repeat="resource in ctrl.resources" title="[[resource.title]]"> <a ng-href="[[resource.link]]"> <div class="picture"><img skin-src="[[resource.image]]" alt="[[resource.title]]"/></div> <div class="title">[[resource.title]]</div> </a> </li> </ul> <div class="empty" ng-if="ctrl.resources.length <= 0"> <i18n>mediacentre.widget.empty</i18n> </div> </div> <div class="widget-footer border-top border-ghost" ng-if="ctrl.hasUniversalis"> <div id="universalis-container"></div> </div> </div>'},5116:function(e,t,i){var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(n,s){function a(e){try{c(r.next(e))}catch(e){s(e)}}function o(e){try{c(r.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,o)}c((r=r.apply(e,t||[])).next())}))},n=this&&this.__generator||function(e,t){var i,r,n,s,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return s={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function o(s){return function(o){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,r&&(n=2&s[0]?r.return:s[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,s[1])).done)return n;switch(r=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(n=a.trys,(n=n.length>0&&n[n.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){a.label=s[1];break}if(6===s[0]&&a.label<n[1]){a.label=n[1],n=s;break}if(n&&a.label<n[2]){a.label=n[2],a.ops.push(s);break}n[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{i=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,o])}}},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var a=s(i(4202)),o=i(9419),c=function(){var e=this;this.resources=[],this.limitResources=4,this.hasUniversalis=!1,this.initResources=function(){return r(e,void 0,void 0,(function(){return n(this,(function(e){switch(e.label){case 0:return[4,this.initResourcesFavorites()];case 1:return e.sent(),[4,this.initSignetFavorites()];case 2:return e.sent(),[4,this.hasUniversalisResource()];case 3:return e.sent(),this.resources.length>this.limitResources&&(this.resources=this.resources.slice(0,this.limitResources)),[2]}}))}))},this.fetchFavorites=function(t){return r(e,void 0,void 0,(function(){var e,i,r;return n(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,o.http().get(t)];case 1:return"ok"===(e=n.sent()).status&&e&&e.data&&e.data.length>0&&(i=e.data,this.resources=this.resources.concat(i)),[3,3];case 2:throw r=n.sent(),console.warn("[widget.mediacentre] Failed to fetch favorites : ",r),r;case 3:return[2]}}))}))},this.initResourcesFavorites=function(){return r(e,void 0,void 0,(function(){var e;return n(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.fetchFavorites("/mediacentre/favorites")];case 1:return t.sent(),[3,3];case 2:throw e=t.sent(),console.warn("[widget.mediacentre] Failed to initResourcesFavorites : ",e),e;case 3:return[2]}}))}))},this.initSignetFavorites=function(){return r(e,void 0,void 0,(function(){var e;return n(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.fetchFavorites("/mediacentre/signets/favorites")];case 1:return t.sent(),[3,3];case 2:throw e=t.sent(),console.warn("[widget.mediacentre] Failed to initSignetFavorites : ",e),e;case 3:return[2]}}))}))},this.hasUniversalisResource=function(){return r(e,void 0,void 0,(function(){var e,t;return n(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,o.http().get("/mediacentre/resource/universalis")];case 1:return e=i.sent(),this.hasUniversalis=!!e,[3,3];case 2:throw t=i.sent(),console.warn("[widget.mediacentre] Failed to check exitence of universalis resource: ",t),t;case 3:return[2]}}))}))}},d=function(){function e(e){this.$compile=e,this.restrict="E",this.template=i(1058).Z,this.scope={},this.bindToController=!0,this.controller=[c],this.controllerAs="ctrl",this.require=["odeMediacentreWidget"]}return e.prototype.link=function(e,t,i,r){var n=this,s=r?r[0]:null;s&&(s.initResources().then((function(){s.hasUniversalis&&setTimeout((function(){var i=n.$compile("<ode-universalis-widget></ode-universalis-widget>")(e),r=t.find("#universalis-container");r&&r.append(i),e.$apply()}),100),e.$apply()})),e.trackEvent=function(e,t){var i;void 0===t.bubbles&&(t.bubbles=!0);var r=null;t&&"more"===(null===(i=t.detail)||void 0===i?void 0:i.open)&&(r=new CustomEvent(o.TrackedActionFromWidget.mediacentre,t)),r&&e.currentTarget&&e.currentTarget.dispatchEvent(r)})},e}();function l(e){return new d(e)}l.$inject=["$compile"],o.notif().onLangReady().promise.then((function(e){o.conf().Platform.idiom.addKeys(i(3948))})),t.odeModuleName="odeMediacentreWidgetModule",a.default.module(t.odeModuleName,[]).directive("odeMediacentreWidget",l)},3948:e=>{e.exports=JSON.parse('{"mediacentre-widget":"Mes favoris Médiacentre","mediacentre.widget.title":"Mes favoris Médiacentre","mediacentre.widget.more":"voir plus","mediacentre.widget.empty":"Aucune ressource favorite"}')}}]);
2
+ //# sourceMappingURL=mediacentre-widget.widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgets/mediacentre-widget/mediacentre-widget.widget.js","mappings":"gIAGA,QAFW,i5F,8iDCDX,iBACA,UAqCA,wBACY,KAAAA,UAAwB,GACxB,KAAAC,eAAyB,EAC1B,KAAAC,gBAA0B,EAE1B,KAAAC,cAAgB,gD,kDACnB,SAAMC,KAAKC,0B,OACX,OADA,SACA,GAAMD,KAAKE,uB,OACX,OADA,SACA,GAAMF,KAAKG,0B,cAAX,SACIH,KAAKJ,UAAUQ,OAASJ,KAAKH,iBAAgBG,KAAKJ,UAAYI,KAAKJ,UAAUS,MAAM,EAAGL,KAAKH,iB,YAG3F,KAAAS,eAAiB,SAAOC,GAAc,qC,4DAEb,O,sBAAA,GAAM,EAAAC,OAAOC,IAAcF,I,aAC3B,QADrBG,EAAqB,UACZC,QAAoBD,GAAYA,EAASE,MAAQF,EAASE,KAAKR,OAAS,IAC7ES,EAAgCH,EAASE,KAC7CZ,KAAKJ,UAAYI,KAAKJ,UAAUkB,OAAOD,I,aAI3C,M,WADAE,QAAQC,KAAK,oDAAqD,GAC5D,E,yBAIN,KAAAf,uBAAyB,gD,wDAEzB,O,sBAAA,GAAMD,KAAKM,eAAe,2B,cAA1B,S,aAGA,M,WADAS,QAAQC,KAAK,2DAA4D,GACnE,E,yBAIN,KAAAd,oBAAsB,gD,wDAEtB,O,sBAAA,GAAMF,KAAKM,eAAe,mC,cAA1B,S,aAGA,M,WADAS,QAAQC,KAAK,wDAAyD,GAChE,E,yBAIN,KAAAb,uBAAyB,gD,0DAEW,O,sBAAA,GAAM,EAAAK,OAAOC,IAAc,sC,cAA3DQ,EAAgC,SACpCjB,KAAKF,iBAAmBmB,E,aAGxB,M,WADAF,QAAQC,KAAK,0EAA2E,GAClF,E,wBAGlB,EAGA,aA0CI,WAAqBE,GAAA,KAAAA,SAAAA,EAzCrB,KAAAC,SAAW,IACX,KAAAC,SAAW,UACX,KAAAC,MAAQ,CAAC,EACT,KAAAC,kBAAmB,EACnB,KAAAC,WAAa,CAACC,GACd,KAAAC,aAAe,OACf,KAAAC,QAAU,CAAC,uBAmCuC,CACtD,OAlCI,YAAAC,KAAA,SAAMN,EAAoBO,EAAaC,EAAmBC,GAA1D,WACUC,EAAwBD,EAAcA,EAAY,GAAmB,KACtEC,IAGLA,EAAKhC,gBAAgBiC,MAAK,WAClBD,EAAKjC,gBACLmC,YAAW,WACP,IACMC,EAAW,EAAKhB,SADD,oDACJ,CAA4BG,GACzCc,EAAuBP,EAAKQ,KAAK,0BACjCD,GAAsBA,EAAqBE,OAAOH,GACtDb,EAAMiB,QACV,GAAG,KAEPjB,EAAMiB,QACV,IAGAjB,EAAMkB,WAAa,SAACC,EAASC,G,WAEA,IAAdA,EAAEC,UAAyBD,EAAEC,SAAU,GAElD,IAAIC,EAAQ,KACRF,GAAwB,UAAX,QAAR,EAAAA,EAAEG,cAAM,eAAEC,QACfF,EAAQ,IAAIG,YAAa,EAAAC,wBAAwBC,YAAaP,IAE9DE,GAASH,EAAES,eACXT,EAAES,cAAcC,cAAcP,EAEtC,EACJ,EAGJ,EA3CA,GA8CA,SAASQ,EAAiBjC,GACtB,OAAO,IAAIkC,EAAUlC,EACzB,CACAiC,EAAiBE,QAAU,CAAC,YAG5B,EAAAC,QAAQC,cAAcC,QAAQxB,MAAK,SAACyB,GAEnB,EAAAC,OAAOC,SAASC,MAAMC,QAAS,EAAQ,MAExD,IAIa,EAAAC,cAAgB,6BAC7B,UAAQC,OAAQ,EAAAD,cAAe,IAAIE,UAAW,uBAAwBb,E","sources":["webpack://ode-ngjs-front/./src/ts/widgets/mediacentre-widget/mediacentre-widget.widget.html","webpack://ode-ngjs-front/./src/ts/widgets/mediacentre-widget/mediacentre-widget.widget.ts"],"sourcesContent":["// Module\nvar code = \"<style>.widget-mediacentre .widget-body{max-height:300px;overflow:auto}.widget-mediacentre .widget-body .empty{display:flex;align-items:center;justify-content:center;padding:8px;font-style:italic}.widget-mediacentre .widget-body .resource-list{display:flex;flex-wrap:wrap}.widget-mediacentre .widget-body .resource-list-item{position:relative;width:25%;height:150px}.widget-mediacentre .widget-body .resource-list-item a{display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background-color .8s cubic-bezier(.25,.46,.45,.94);position:relative;margin:1px;padding:0 8px;color:unset;text-decoration:none;background:#fafafa;height:99%;width:auto}.widget-mediacentre .widget-body .resource-list-item a:hover{background-color:#fff;color:#ff8d2e;cursor:pointer}.widget-mediacentre .widget-body .resource-list-item .picture{height:80%;display:flex;align-items:center;justify-content:center}.widget-mediacentre .widget-body .resource-list-item .picture img{max-height:100%;max-width:100%}.widget-mediacentre .widget-body .resource-list-item .title{height:20%;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-mediacentre #universalis-container .school,.widget-mediacentre #universalis-container .widget-header{display:none}.widget-mediacentre #universalis-container .widget-body{padding:5px}.widget-mediacentre #universalis-container .widget-empty-message{display:flex;align-items:center;justify-content:space-around}.widget-mediacentre #universalis-container .widget-empty-message:first-child,.widget-mediacentre #universalis-container form{max-height:30px}.widget-mediacentre #universalis-container img{width:auto}.widget-mediacentre #universalis-container .widget-empty-message:first-child *,.widget-mediacentre #universalis-container form *{max-height:inherit}</style> <div class=\\\"widget-mediacentre\\\"> <div class=\\\"widget-header\\\"> <div class=\\\"subtitle\\\"> <a class=\\\"seemore\\\" href=\\\"/mediacentre\\\" i18n-title=\\\"mediacentre.widget.more\\\" dnd-nodrag ng-click=\\\"trackEvent($event, {detail:{'open':'more'} })\\\"> <i18n>mediacentre.widget.title</i18n> <span class=\\\"seemore-text\\\"><i18n>mediacentre.widget.more</i18n></span> </a> </div> <div class=\\\"widget-options\\\"> <div class=\\\"widget-handle\\\" title=\\\"Déplacer le widget\\\"><i class=\\\"fas fa-grip-vertical\\\" aria-hidden=\\\"true\\\"></i></div> </div> </div> <div class=\\\"widget-body\\\" dnd-nodrag> <ul class=\\\"resource-list\\\" ng-if=\\\"ctrl.resources.length > 0\\\"> <li class=\\\"resource-list-item\\\" ng-repeat=\\\"resource in ctrl.resources\\\" title=\\\"[[resource.title]]\\\"> <a ng-href=\\\"[[resource.link]]\\\"> <div class=\\\"picture\\\"><img skin-src=\\\"[[resource.image]]\\\" alt=\\\"[[resource.title]]\\\"/></div> <div class=\\\"title\\\">[[resource.title]]</div> </a> </li> </ul> <div class=\\\"empty\\\" ng-if=\\\"ctrl.resources.length <= 0\\\"> <i18n>mediacentre.widget.empty</i18n> </div> </div> <div class=\\\"widget-footer border-top border-ghost\\\" ng-if=\\\"ctrl.hasUniversalis\\\"> <div id=\\\"universalis-container\\\"></div> </div> </div>\";\n// Exports\nexport default code;","import angular, {IAttributes, ICompileService, IController, IDirective} from \"angular\";\nimport {conf, notif, TrackedScope, TrackedAction, TrackedActionFromWidget, http} from \"../../utils\";\n\ntype Resource = {\n authors: string[];\n date: number;\n description: string;\n disciplines: string[];\n displayTitle: string;\n document_types: string[];\n editors: string[];\n hash: number;\n id: string;\n favorite?: boolean;\n image: string;\n levels: string[];\n link: string;\n plain_text: string[];\n source: string;\n title: string;\n action: object;\n structure_name: string;\n structure_uai: string;\n display_structure_name?: boolean;\n _id?: string;\n\n user?: string;\n favoriteId?: string;\n}\n\ntype Response = {\n data: Resource[];\n event: string;\n state: string;\n status: string;\n}\n\n/* Controller for the directive */\nclass Controller implements IController {\n private resources: Resource[] = [];\n private limitResources: number = 4; // limit of resources to display\n public hasUniversalis: boolean = false;\n\n public initResources = async(): Promise<void> => {\n await this.initResourcesFavorites();\n await this.initSignetFavorites();\n await this.hasUniversalisResource();\n if (this.resources.length > this.limitResources) this.resources = this.resources.slice(0, this.limitResources);\n }\n\n private fetchFavorites = async (apiUrl: string): Promise<void> => {\n try {\n let response: Response = await http().get<Response>(apiUrl);\n if (response.status === \"ok\" && response && response.data && response.data.length > 0) {\n let favoriteResources: Resource[] = response.data as Resource[];\n this.resources = this.resources.concat(favoriteResources);\n }\n } catch (e) {\n console.warn(`[widget.mediacentre] Failed to fetch favorites : `, e);\n throw e;\n }\n }\n\n private initResourcesFavorites = async(): Promise<void> => {\n try {\n await this.fetchFavorites('/mediacentre/favorites');\n } catch (e) {\n console.warn(\"[widget.mediacentre] Failed to initResourcesFavorites : \", e);\n throw e;\n }\n }\n\n private initSignetFavorites = async(): Promise<void> => {\n try {\n await this.fetchFavorites('/mediacentre/signets/favorites');\n } catch (e) {\n console.warn(\"[widget.mediacentre] Failed to initSignetFavorites : \", e);\n throw e;\n }\n }\n\n private hasUniversalisResource = async(): Promise<void> => {\n try {\n let universalisResource: Resource = await http().get<Resource>('/mediacentre/resource/universalis');\n this.hasUniversalis = !!universalisResource;\n } catch (e) {\n console.warn(\"[widget.mediacentre] Failed to check exitence of universalis resource: \", e);\n throw e;\n }\n }\n}\n\n/* Directive */\nclass Directive implements IDirective<TrackedScope,JQLite,IAttributes,IController[]> {\n restrict = 'E';\n template = require('./mediacentre-widget.widget.html').default;\n scope = {};\n bindToController = true;\n controller = [Controller];\n controllerAs = 'ctrl';\n require = ['odeMediacentreWidget'];\n\n link (scope:TrackedScope, elem:JQLite, attrs:IAttributes, controllers?:IController[]): void {\n const ctrl: Controller|null = controllers ? controllers[0] as Controller : null;\n if (!ctrl) return;\n\n // Init resources\n ctrl.initResources().then(() => {\n if (ctrl.hasUniversalis) { // Display Universalis widget\n setTimeout(() => {\n const htmlFragment = `<ode-universalis-widget></ode-universalis-widget>`;\n const compiled = this.$compile(htmlFragment)(scope);\n let universalisContainer = elem.find(\"#universalis-container\");\n if (universalisContainer) universalisContainer.append(compiled);\n scope.$apply();\n }, 100);\n }\n scope.$apply();\n });\n\n // Give an opportunity to track some events from outside of this widget.\n scope.trackEvent = (e:Event, p:CustomEventInit<TrackedAction>): void => {\n // Allow events to bubble up.\n if (typeof p.bubbles === \"undefined\") p.bubbles = true;\n\n let event = null;\n if (p && p.detail?.open === 'more') {\n event = new CustomEvent( TrackedActionFromWidget.mediacentre, p );\n }\n if (event && e.currentTarget) {\n e.currentTarget.dispatchEvent(event);\n }\n }\n }\n\n constructor (private $compile: ICompileService) { }\n}\n\n/** The mediacentre widget. */\nfunction DirectiveFactory($compile:ICompileService) {\n return new Directive($compile);\n}\nDirectiveFactory.$inject = [\"$compile\"];\n\n// Preload translations\nnotif().onLangReady().promise.then((lang: any): void => {\n switch (lang) {\n default:\tconf().Platform.idiom.addKeys( require('./i18n/fr.json') ); break;\n }\n});\n\n// THIS ANGULAR MODULE WILL BE DYNAMICALLY ADDED TO THE APPLICATION.\n// RESPECT THE NAMING CONVENTION BY EXPORTING THE MODULE NAME :\nexport const odeModuleName = \"odeMediacentreWidgetModule\";\nangular.module( odeModuleName, []).directive( \"odeMediacentreWidget\", DirectiveFactory );\n"],"names":["resources","limitResources","hasUniversalis","initResources","this","initResourcesFavorites","initSignetFavorites","hasUniversalisResource","length","slice","fetchFavorites","apiUrl","http","get","response","status","data","favoriteResources","concat","console","warn","universalisResource","$compile","restrict","template","scope","bindToController","controller","Controller","controllerAs","require","link","elem","attrs","controllers","ctrl","then","setTimeout","compiled","universalisContainer","find","append","$apply","trackEvent","e","p","bubbles","event","detail","open","CustomEvent","TrackedActionFromWidget","mediacentre","currentTarget","dispatchEvent","DirectiveFactory","Directive","$inject","notif","onLangReady","promise","lang","conf","Platform","idiom","addKeys","odeModuleName","module","directive"],"sourceRoot":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ode-ngjs-front",
3
- "version": "1.4.3-dev.202405241104",
3
+ "version": "1.4.3-develop-pedago.202405311709",
4
4
  "description": "Open Digital Education Frontend Framework",
5
5
  "main": "dist/ts/index.js",
6
6
  "types": "dist/ts/index.d.ts",
@@ -51,7 +51,7 @@
51
51
  "karma-chrome-launcher": "3.1.0",
52
52
  "karma-jasmine": "4.0.1",
53
53
  "moment-locales-webpack-plugin": "~1.2.0",
54
- "ode-ts-client": "dev",
54
+ "ode-ts-client": "develop-pedago",
55
55
  "terser-webpack-plugin": "5.1.4",
56
56
  "ts-loader": "8.0.18",
57
57
  "typescript": "4.2.2",