ode-ngjs-front 1.2.3 → 1.2.5-dev.202301180938
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/dist/ode-ngjs-front.js +12 -4
- package/dist/ode-ngjs-front.js.map +1 -1
- package/dist/ts/directives/components/i18n/translate.directive.d.ts.map +1 -1
- package/dist/ts/utils/browser-info.d.ts +1 -0
- package/dist/ts/utils/browser-info.d.ts.map +1 -1
- package/dist/ts/utils/recorder-video.d.ts +2 -0
- package/dist/ts/utils/recorder-video.d.ts.map +1 -1
- package/dist/ts/widgets/briefme-widget/briefme-widget.widget.d.ts.map +1 -1
- package/dist/version.txt +1 -1
- package/dist/widgets/briefme-widget/briefme-widget.widget.js +1 -1
- package/dist/widgets/briefme-widget/briefme-widget.widget.js.map +1 -1
- package/package.json +5 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translate.directive.d.ts","sourceRoot":"","sources":["../../../../../src/ts/directives/components/i18n/translate.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,cAAM,SAAU,SAAQ,QAAS,YAAW,UAAU,CAAC,MAAM,EAAC,MAAM,EAAC,WAAW,EAAC,WAAW,EAAE,CAAC;IAC3F,QAAQ,SAAO;IACf,OAAO,UAAQ;IAEf,IAAI,CAAC,KAAK,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,EAAE,KAAK,EAAC,WAAW,EAAE,WAAW,CAAC,EAAC,WAAW,EAAE,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"translate.directive.d.ts","sourceRoot":"","sources":["../../../../../src/ts/directives/components/i18n/translate.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,cAAM,SAAU,SAAQ,QAAS,YAAW,UAAU,CAAC,MAAM,EAAC,MAAM,EAAC,WAAW,EAAC,WAAW,EAAE,CAAC;IAC3F,QAAQ,SAAO;IACf,OAAO,UAAQ;IAEf,IAAI,CAAC,KAAK,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,EAAE,KAAK,EAAC,WAAW,EAAE,WAAW,CAAC,EAAC,WAAW,EAAE,GAAG,IAAI;CA0CvF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAC,eAAe,aAExD;yBAFe,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-info.d.ts","sourceRoot":"","sources":["../../../src/ts/utils/browser-info.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"browser-info.d.ts","sourceRoot":"","sources":["../../../src/ts/utils/browser-info.ts"],"names":[],"mappings":"AAEA,oBAAY,WAAW,GAAG;IACtB,IAAI,EAAC,MAAM,GAAC,MAAM,GAAC,QAAQ,GAAC,QAAQ,GAAC,SAAS,GAAC,OAAO,GAAC,OAAO,GAAC,OAAO,GAAC,SAAS,CAAC;IACjF,OAAO,EAAC,MAAM,CAAC;CAClB,CAAA;AACD,oBAAY,MAAM,GAAG;IACjB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAA;AACD,eAAO,MAAM,OAAO;kDAOgB,MAAM;;;;;;sBASpB,WAAW;CA+FhC,CAAC;AAEF,oBAAY,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC1D,eAAO,IAAI,UAAU,EAAE,WAAW,CAAC"}
|
|
@@ -23,6 +23,8 @@ export declare class VideoRecorder implements IAnyRecorder {
|
|
|
23
23
|
status(callback: (state: RecorderState) => void): void;
|
|
24
24
|
private updateStatus;
|
|
25
25
|
static isCompatible(): boolean;
|
|
26
|
+
static isIncompatibleDevice(): boolean;
|
|
27
|
+
static isIncompatibleBrowser(): boolean;
|
|
26
28
|
suspend(): Promise<void>;
|
|
27
29
|
flush(): void;
|
|
28
30
|
save(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recorder-video.d.ts","sourceRoot":"","sources":["../../../src/ts/utils/recorder-video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG/E,OAAO,EAAU,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"recorder-video.d.ts","sourceRoot":"","sources":["../../../src/ts/utils/recorder-video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG/E,OAAO,EAAU,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAmBnF,aAAK,UAAU,GAAG,MAAM,GAAG,aAAa,CAAC;AAEzC,qBAAa,aAAc,YAAW,YAAY;IAuB1C,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,aAAa,CAAC;IA1B1B,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAC,CAAmB;IACpC,OAAO,CAAC,aAAa,CAAC,CAAoB;IAC1C,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,OAAO,CAA8B;IACtC,WAAW,EAAE,sBAAsB,CAOxC;IACF,KAAK,EAAE,MAAM,CAAM;IACnB,IAAI,UAAU,IAAG,kBAAkB,CAElC;IACD,WAAW,EAAC,MAAM,CAAK;IACvB,SAAS,EAAC,KAAK,CAAC,CAAC,KAAK,EAAC,aAAa,KAAG,IAAI,CAAC,CAAM;gBAGtC,YAAY,EAAE,MAAM,gBAAgB,EACpC,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EACtC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,wBAAwB,EACjC,aAAa,CAAC,6BAAiB;IAO3C,IAAW,KAAK,kBAEf;IAED,MAAM,CAAE,QAAQ,EAAC,CAAC,KAAK,EAAC,aAAa,KAAG,IAAI,GAAG,IAAI;IAInD,OAAO,CAAC,YAAY;WAaN,YAAY;WAQZ,oBAAoB;WAkBpB,qBAAqB;IASnC,OAAO,IAAG,OAAO,CAAC,IAAI,CAAC;IAIvB,KAAK,IAAG,IAAI;IAIZ,IAAI,IAAG,IAAI;IAuBX,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,iBAAiB,CAIxB;IACD,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,SAAS;IAUjB,YAAY,CAAE,EAAE,EAAC,UAAU,GAAC,kBAAkB;IAa9C,IAAI;IAUJ,OAAO,CAAC,WAAW;IAiBnB,KAAK;IASL,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,aAAa;IAgBf,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI;IAwCvC,eAAe;IAYf,MAAM;IAIA,iBAAiB;IAI9B,OAAO,CAAC,yBAAyB;IAkB3B,OAAO;IAuBP,MAAM;IA2BL,aAAa,CAAC,WAAW,EAAE,OAAO,GAAE,OAAO,CAAC,IAAI,CAAC;IAejD,aAAa;IAUb,SAAS;IAIT,WAAW,CAAC,aAAa,EAAE,OAAO;CAI5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"briefme-widget.widget.d.ts","sourceRoot":"","sources":["../../../../src/ts/widgets/briefme-widget/briefme-widget.widget.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"briefme-widget.widget.d.ts","sourceRoot":"","sources":["../../../../src/ts/widgets/briefme-widget/briefme-widget.widget.ts"],"names":[],"mappings":"AAqKA,eAAO,MAAM,aAAa,2BAA2B,CAAC"}
|
package/dist/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
ode-ngjs-front=1.2
|
|
1
|
+
ode-ngjs-front=1.2-SNAPSHOT 18/01/2023 09:39:01
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[539],{3852:(e,t,i)=>{i.d(t,{Z:()=>o});const o=' <div class="widget-header"> <div class="subtitle"><i18n>briefme.title</i18n></div> <div class="widget-options"> <div class="tools"> <a href="#" class="tool tool-option" i18n-title="briefme-widget.school.choose.title" ng-if="ctrl.hasManySchools" ng-click="ctrl.parametrage = true"> <i class="fas fa-cog"></i> </a> </div> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body"> <div class="container-advanced-nav" style="display:block"> <div class="list-trigger"> <div ng-repeat="section in ctrl.sections track by $index" ng-if="section.articles.length > 0" style="flex:1"> <div class="trigger" ng-click="ctrl.ouvrirBrief(section)" ng-class="{on: section == ctrl.contenu}"> [[section.nom]] </div> </div> </div> </div> <div> <ul class="list"> <li class="item link" ng-repeat="article in ctrl.contenu.articles track by $index" style="padding:1rem 2rem"> <a href="[[ctrl.genererLien(article)]]" target="_blank" rel="noopener" ng-click="trackEvent($event, {detail:{\'open\':article.url} })"> <div class="title">[[article.titre]]</div> <div class="meta">[[article.publication]]</div> </a> </li> </ul> </div> </div> <ode-modal visible="ctrl.parametrage" on-close="ctrl.parametrage = false" dnd-nodrag> <ode-modal-title> <i18n>briefme-widget.school.choose.title</i18n> </ode-modal-title> <ode-modal-body> <div> <div ng-if="!ctrl.hasManySchools" class="school mb-3">{{ctrl.selectedSchool.name}}</div> <div ng-if="ctrl.hasManySchools" class="dropdown mb-3" style="display:flex;justify-content:space-around"> <i18n>briefme-widget.school.choose.label</i18n> <div class="school-multiple dropdown-toggle" role="button" id="universalisWidgetSchool" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a href="" class="">{{ctrl.selectedSchool.name}}</a> </div> <div class="school-choice dropdown-menu" aria-labelledby="universalisWidgetSchool"> <div tabindex="0" role="button" class="dropdown-item" ng-repeat="school in ctrl.description.schools" ng-click="ctrl.onSchoolSelected($index)" ng-keydown="ctrl.onSchoolSelected($index, $event)"> {{school.name}} </div> </div> </div> </div> </ode-modal-body> <ode-modal-footer> </ode-modal-footer> </ode-modal> '},2445:function(e,t,i){var o=this&&this.__awaiter||function(e,t,i,o){return new(i||(i=Promise))((function(n,r){function l(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(l,s)}c((o=o.apply(e,t||[])).next())}))},n=this&&this.__generator||function(e,t){var i,o,n,r,l={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(r){return function(s){return function(r){if(i)throw new TypeError("Generator is already executing.");for(;l;)try{if(i=1,o&&(n=2&r[0]?o.return:r[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,r[1])).done)return n;switch(o=0,n&&(r=[2&r[0],n.value]),r[0]){case 0:case 1:n=r;break;case 4:return l.label++,{value:r[1],done:!1};case 5:l.label++,o=r[1],r=[0];continue;case 7:r=l.ops.pop(),l.trys.pop();continue;default:if(!(n=l.trys,(n=n.length>0&&n[n.length-1])||6!==r[0]&&2!==r[0])){l=0;continue}if(3===r[0]&&(!n||r[1]>n[0]&&r[1]<n[3])){l.label=r[1];break}if(6===r[0]&&l.label<n[1]){l.label=n[1],n=r;break}if(n&&l.label<n[2]){l.label=n[2],l.ops.push(r);break}n[2]&&l.ops.pop(),l.trys.pop();continue}r=t.call(e,l)}catch(e){r=[6,e],o=0}finally{i=n=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,s])}}},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var l=r(i(4202)),s=i(5262),c=i(9419),a=function(e,t,i){this.titre=e,this.publication=t,this.url=i},d=function(){function e(e,t){this.articles=[],this.nom=e,this.url=t}return e.prototype.charger=function(){return o(this,void 0,void 0,(function(){var e,t,i,o;return n(this,(function(n){switch(n.label){case 0:return[4,c.http().get(this.url,{headers:{Accept:"application/json"}})];case 1:for(e=n.sent(),t=0,i=e.results;t<i.length;t++)o=i[t],this.articles.push(new a(o.title,o.published_at,o.url));return[2]}}))}))},e}(),u=function(){function e(){this.parametrage=!1,this.sections=[new d("Brief.eco","/appregistry/widget/cache/external/briefeco"),new d("Brief.me","/appregistry/widget/cache/external/briefme"),new d("Brief.science","/appregistry/widget/cache/external/briefscience")],this.contenu=this.sections[0]}return Object.defineProperty(e.prototype,"description",{get:function(){return c.session().description},enumerable:!1,configurable:!0}),e.prototype.initialize=function(){var e,t;return o(this,void 0,void 0,(function(){var i,o,r,a=this;return n(this,(function(n){switch(n.label){case 0:return this._userPref=null===(e=s.WidgetFrameworkFactory.instance().list.find((function(e){return e.platformConf.name===s.WIDGET_NAME.BRIEFME})))||void 0===e?void 0:e.userPref,[4,c.notif().onSessionReady().promise];case 1:n.sent(),i=0,(null===(t=this._userPref)||void 0===t?void 0:t.schoolId)&&l.default.isArray(this.description.schools)&&(i=this.description.schools.findIndex((function(e){var t;return e.id===(null===(t=a._userPref)||void 0===t?void 0:t.schoolId)})),i<0&&(i=0)),this.setSelectedSchool(i),o=0,r=this.sections,n.label=2;case 2:return o<r.length?[4,r[o].charger()]:[3,5];case 3:n.sent(),n.label=4;case 4:return o++,[3,2];case 5:return this.ouvrirBrief(this.sections[Math.floor(this.sections.length/2)]),[2]}}))}))},e.prototype.setSelectedSchool=function(e){return 0<=e&&e<this.description.schools.length&&this.selectedSchool!==this.description.schools[e]&&(this.selectedSchool=this.description.schools[e],!0)},e.prototype.onSchoolSelected=function(e,t){var i;return(!t||"keydown"===t.type&&(13===t.which||32===t.which))&&(this._userPref&&this.setSelectedSchool(e)&&(this._userPref.schoolId=null===(i=this.selectedSchool)||void 0===i?void 0:i.id,s.WidgetFrameworkFactory.instance().saveUserPrefs()),!0)},Object.defineProperty(e.prototype,"hasManySchools",{get:function(){return this.description.schools.length>1},enumerable:!1,configurable:!0}),e.prototype.ouvrirBrief=function(e){this.contenu=e},e.prototype.genererLien=function(e){var t,i,o,n,r=e.url,l=c.Base64.encode(null!=(null===(t=this.selectedSchool)||void 0===t?void 0:t.UAI)?null===(i=this.selectedSchool)||void 0===i?void 0:i.UAI:""),s=null!=(null===(o=this.selectedSchool)||void 0===o?void 0:o.exports)?null===(n=this.selectedSchool)||void 0===n?void 0:n.exports:[],a=
|
|
1
|
+
"use strict";(self.webpackChunkode_ngjs_front=self.webpackChunkode_ngjs_front||[]).push([[539],{3852:(e,t,i)=>{i.d(t,{Z:()=>o});const o=' <div class="widget-header"> <div class="subtitle"><i18n>briefme.title</i18n></div> <div class="widget-options"> <div class="tools"> <a href="#" class="tool tool-option" i18n-title="briefme-widget.school.choose.title" ng-if="ctrl.hasManySchools" ng-click="ctrl.parametrage = true"> <i class="fas fa-cog"></i> </a> </div> <div class="widget-handle" title="Déplacer le widget"><i class="fas fa-grip-vertical" aria-hidden="true"></i></div> </div> </div> <div class="widget-body"> <div class="container-advanced-nav" style="display:block"> <div class="list-trigger"> <div ng-repeat="section in ctrl.sections track by $index" ng-if="section.articles.length > 0" style="flex:1"> <div class="trigger" ng-click="ctrl.ouvrirBrief(section)" ng-class="{on: section == ctrl.contenu}"> [[section.nom]] </div> </div> </div> </div> <div> <ul class="list"> <li class="item link" ng-repeat="article in ctrl.contenu.articles track by $index" style="padding:1rem 2rem"> <a href="[[ctrl.genererLien(article)]]" target="_blank" rel="noopener" ng-click="trackEvent($event, {detail:{\'open\':article.url} })"> <div class="title">[[article.titre]]</div> <div class="meta">[[article.publication]]</div> </a> </li> </ul> </div> </div> <ode-modal visible="ctrl.parametrage" on-close="ctrl.parametrage = false" dnd-nodrag> <ode-modal-title> <i18n>briefme-widget.school.choose.title</i18n> </ode-modal-title> <ode-modal-body> <div> <div ng-if="!ctrl.hasManySchools" class="school mb-3">{{ctrl.selectedSchool.name}}</div> <div ng-if="ctrl.hasManySchools" class="dropdown mb-3" style="display:flex;justify-content:space-around"> <i18n>briefme-widget.school.choose.label</i18n> <div class="school-multiple dropdown-toggle" role="button" id="universalisWidgetSchool" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a href="" class="">{{ctrl.selectedSchool.name}}</a> </div> <div class="school-choice dropdown-menu" aria-labelledby="universalisWidgetSchool"> <div tabindex="0" role="button" class="dropdown-item" ng-repeat="school in ctrl.description.schools" ng-click="ctrl.onSchoolSelected($index)" ng-keydown="ctrl.onSchoolSelected($index, $event)"> {{school.name}} </div> </div> </div> </div> </ode-modal-body> <ode-modal-footer> </ode-modal-footer> </ode-modal> '},2445:function(e,t,i){var o=this&&this.__awaiter||function(e,t,i,o){return new(i||(i=Promise))((function(n,r){function l(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(l,s)}c((o=o.apply(e,t||[])).next())}))},n=this&&this.__generator||function(e,t){var i,o,n,r,l={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(r){return function(s){return function(r){if(i)throw new TypeError("Generator is already executing.");for(;l;)try{if(i=1,o&&(n=2&r[0]?o.return:r[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,r[1])).done)return n;switch(o=0,n&&(r=[2&r[0],n.value]),r[0]){case 0:case 1:n=r;break;case 4:return l.label++,{value:r[1],done:!1};case 5:l.label++,o=r[1],r=[0];continue;case 7:r=l.ops.pop(),l.trys.pop();continue;default:if(!(n=l.trys,(n=n.length>0&&n[n.length-1])||6!==r[0]&&2!==r[0])){l=0;continue}if(3===r[0]&&(!n||r[1]>n[0]&&r[1]<n[3])){l.label=r[1];break}if(6===r[0]&&l.label<n[1]){l.label=n[1],n=r;break}if(n&&l.label<n[2]){l.label=n[2],l.ops.push(r);break}n[2]&&l.ops.pop(),l.trys.pop();continue}r=t.call(e,l)}catch(e){r=[6,e],o=0}finally{i=n=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,s])}}},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.odeModuleName=void 0;var l=r(i(4202)),s=i(5262),c=i(9419),a=function(e,t,i){this.titre=e,this.publication=t,this.url=i},d=function(){function e(e,t){this.articles=[],this.nom=e,this.url=t}return e.prototype.charger=function(){return o(this,void 0,void 0,(function(){var e,t,i,o;return n(this,(function(n){switch(n.label){case 0:return[4,c.http().get(this.url,{headers:{Accept:"application/json"}})];case 1:for(e=n.sent(),t=0,i=e.results;t<i.length;t++)o=i[t],this.articles.push(new a(o.title,o.published_at,o.url));return[2]}}))}))},e}(),u=function(){function e(){this.parametrage=!1,this.sections=[new d("Brief.eco","/appregistry/widget/cache/external/briefeco"),new d("Brief.me","/appregistry/widget/cache/external/briefme"),new d("Brief.science","/appregistry/widget/cache/external/briefscience")],this.contenu=this.sections[0]}return Object.defineProperty(e.prototype,"description",{get:function(){return c.session().description},enumerable:!1,configurable:!0}),e.prototype.initialize=function(){var e,t;return o(this,void 0,void 0,(function(){var i,o,r,a=this;return n(this,(function(n){switch(n.label){case 0:return this._userPref=null===(e=s.WidgetFrameworkFactory.instance().list.find((function(e){return e.platformConf.name===s.WIDGET_NAME.BRIEFME})))||void 0===e?void 0:e.userPref,[4,c.notif().onSessionReady().promise];case 1:n.sent(),i=0,(null===(t=this._userPref)||void 0===t?void 0:t.schoolId)&&l.default.isArray(this.description.schools)&&(i=this.description.schools.findIndex((function(e){var t;return e.id===(null===(t=a._userPref)||void 0===t?void 0:t.schoolId)})),i<0&&(i=0)),this.setSelectedSchool(i),o=0,r=this.sections,n.label=2;case 2:return o<r.length?[4,r[o].charger()]:[3,5];case 3:n.sent(),n.label=4;case 4:return o++,[3,2];case 5:return this.ouvrirBrief(this.sections[Math.floor(this.sections.length/2)]),[2]}}))}))},e.prototype.setSelectedSchool=function(e){return 0<=e&&e<this.description.schools.length&&this.selectedSchool!==this.description.schools[e]&&(this.selectedSchool=this.description.schools[e],!0)},e.prototype.onSchoolSelected=function(e,t){var i;return(!t||"keydown"===t.type&&(13===t.which||32===t.which))&&(this._userPref&&this.setSelectedSchool(e)&&(this._userPref.schoolId=null===(i=this.selectedSchool)||void 0===i?void 0:i.id,s.WidgetFrameworkFactory.instance().saveUserPrefs()),!0)},Object.defineProperty(e.prototype,"hasManySchools",{get:function(){return this.description.schools.length>1},enumerable:!1,configurable:!0}),e.prototype.ouvrirBrief=function(e){this.contenu=e},e.prototype.genererLien=function(e){var t,i,o,n,r=e.url,l=c.Base64.encode(null!=(null===(t=this.selectedSchool)||void 0===t?void 0:t.UAI)?null===(i=this.selectedSchool)||void 0===i?void 0:i.UAI:""),s=null!=(null===(o=this.selectedSchool)||void 0===o?void 0:o.exports)?null===(n=this.selectedSchool)||void 0===n?void 0:n.exports:[],a="";if(null!=s){for(var d=0;d<s.length;++d)if(s[d].startsWith("GAR-")){a=s[d].replace("GAR-","");break}""==a&&(a=s[0])}var u=c.Base64.encode(a);return r.replace("ID_ETAB",l).replace("ID_ENT",u)},e}(),h=function(){function e(){this.restrict="E",this.template=i(3852).Z,this.scope={},this.bindToController=!0,this.controller=[u],this.controllerAs="ctrl",this.require=["odeBriefmeWidget"]}return e.prototype.link=function(e,t,i,r){return o(this,void 0,void 0,(function(){var t;return n(this,(function(i){switch(i.label){case 0:return(t=r?r[0]:null)?[4,t.initialize()]:[2];case 1:return i.sent(),e.$apply(),[2]}}))}))},e}();c.notif().onLangReady().promise.then((function(e){c.conf().Platform.idiom.addKeys(i(7611))})),t.odeModuleName="odeBriefmeWidgetModule",l.default.module(t.odeModuleName,[]).directive("odeBriefmeWidget",(function(){return new h}))},7611:e=>{e.exports=JSON.parse('{"briefme.title":"Brief.me","briefme-widget.school.choose.title":"Sélectionnez une école abonnée à brief.me","briefme-widget.school.choose.label":"École sélectionnée:"}')}}]);
|
|
2
2
|
//# sourceMappingURL=briefme-widget.widget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgets/briefme-widget/briefme-widget.widget.js","mappings":"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","sources":["webpack://ode-ngjs-front/./src/ts/widgets/briefme-widget/briefme-widget.widget.html","webpack://ode-ngjs-front/./src/ts/widgets/briefme-widget/briefme-widget.widget.ts"],"sourcesContent":["// Module\nvar code = \" <div class=\\\"widget-header\\\"> <div class=\\\"subtitle\\\"><i18n>briefme.title</i18n></div> <div class=\\\"widget-options\\\"> <div class=\\\"tools\\\"> <a href=\\\"#\\\" class=\\\"tool tool-option\\\" i18n-title=\\\"briefme-widget.school.choose.title\\\" ng-if=\\\"ctrl.hasManySchools\\\" ng-click=\\\"ctrl.parametrage = true\\\"> <i class=\\\"fas fa-cog\\\"></i> </a> </div> <div class=\\\"widget-handle\\\" title=\\\"Déplacer le widget\\\"><i class=\\\"fas fa-grip-vertical\\\" aria-hidden=\\\"true\\\"></i></div> </div> </div> <div class=\\\"widget-body\\\"> <div class=\\\"container-advanced-nav\\\" style=\\\"display:block\\\"> <div class=\\\"list-trigger\\\"> <div ng-repeat=\\\"section in ctrl.sections track by $index\\\" ng-if=\\\"section.articles.length > 0\\\" style=\\\"flex:1\\\"> <div class=\\\"trigger\\\" ng-click=\\\"ctrl.ouvrirBrief(section)\\\" ng-class=\\\"{on: section == ctrl.contenu}\\\"> [[section.nom]] </div> </div> </div> </div> <div> <ul class=\\\"list\\\"> <li class=\\\"item link\\\" ng-repeat=\\\"article in ctrl.contenu.articles track by $index\\\" style=\\\"padding:1rem 2rem\\\"> <a href=\\\"[[ctrl.genererLien(article)]]\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\" ng-click=\\\"trackEvent($event, {detail:{'open':article.url} })\\\"> <div class=\\\"title\\\">[[article.titre]]</div> <div class=\\\"meta\\\">[[article.publication]]</div> </a> </li> </ul> </div> </div> <ode-modal visible=\\\"ctrl.parametrage\\\" on-close=\\\"ctrl.parametrage = false\\\" dnd-nodrag> <ode-modal-title> <i18n>briefme-widget.school.choose.title</i18n> </ode-modal-title> <ode-modal-body> <div> <div ng-if=\\\"!ctrl.hasManySchools\\\" class=\\\"school mb-3\\\">{{ctrl.selectedSchool.name}}</div> <div ng-if=\\\"ctrl.hasManySchools\\\" class=\\\"dropdown mb-3\\\" style=\\\"display:flex;justify-content:space-around\\\"> <i18n>briefme-widget.school.choose.label</i18n> <div class=\\\"school-multiple dropdown-toggle\\\" role=\\\"button\\\" id=\\\"universalisWidgetSchool\\\" data-bs-toggle=\\\"dropdown\\\" aria-haspopup=\\\"true\\\" aria-expanded=\\\"false\\\"> <a href=\\\"\\\" class=\\\"\\\">{{ctrl.selectedSchool.name}}</a> </div> <div class=\\\"school-choice dropdown-menu\\\" aria-labelledby=\\\"universalisWidgetSchool\\\"> <div tabindex=\\\"0\\\" role=\\\"button\\\" class=\\\"dropdown-item\\\" ng-repeat=\\\"school in ctrl.description.schools\\\" ng-click=\\\"ctrl.onSchoolSelected($index)\\\" ng-keydown=\\\"ctrl.onSchoolSelected($index, $event)\\\"> {{school.name}} </div> </div> </div> </div> </ode-modal-body> <ode-modal-footer> </ode-modal-footer> </ode-modal> \";\n// Exports\nexport default code;","import angular, { IAttributes, IController, IDirective, IScope } from \"angular\";\nimport { IUserDescription, IUserInfo, School, WidgetFrameworkFactory, WidgetUserPref, WIDGET_NAME } from \"ode-ts-client\";\nimport { conf, notif, session, http, Base64 } from \"../../utils\";\n\nclass BriefmeArticle\n{\n\tpublic titre: string;\n\tpublic publication: string;\n\tpublic url: string;\n\n\tconstructor(titre: string, publication: string, url: string)\n\t{\n\t\tthis.titre = titre;\n\t\tthis.publication = publication;\n\t\tthis.url = url;\n\t}\n};\n\nclass BriefmeSection\n{\n\tpublic nom: string;\n\tpublic url: string;\n\n\tpublic articles: BriefmeArticle[] = [];\n\n\tconstructor(nom: string, url: string)\n\t{\n\t\tthis.nom = nom;\n\t\tthis.url = url;\n\t}\n\n\tpublic async charger()//: void\n\t{\n\t\tlet reponse = await http().get(this.url, { headers: {\"Accept\": \"application/json\"}});\n\t\t\n\t\tfor(let entree of reponse.results)\n\t\t\tthis.articles.push(new BriefmeArticle(entree.title, entree.published_at, entree.url));\n\t}\n}\n\n/* Controller for the directive */\nclass Controller implements IController\n{\n\tprivate _userPref?:WidgetUserPref;\n\tprivate selectedSchool?:School;\n\tprivate parametrage:boolean = false;\n\n\tprivate sections: BriefmeSection[] = [\n\t\tnew BriefmeSection(\"Brief.eco\", \"/appregistry/widget/cache/external/briefeco\"),\n\t\tnew BriefmeSection(\"Brief.me\", \"/appregistry/widget/cache/external/briefme\"),\n\t\tnew BriefmeSection(\"Brief.science\", \"/appregistry/widget/cache/external/briefscience\")\n\t];\n\tpublic contenu: BriefmeSection = this.sections[0];\n\n\tprotected get description():IUserDescription {\n\t\treturn session().description;\n\t}\n\n\tpublic async initialize() {\n\t\tthis._userPref = WidgetFrameworkFactory.instance().list.find( w => w.platformConf.name===WIDGET_NAME.BRIEFME)?.userPref;\n\t\tawait notif().onSessionReady().promise;\n\n\t\tlet defaultIndex = 0;\n\t\tif( this._userPref?.schoolId && angular.isArray(this.description.schools) ) {\n\t\t\tdefaultIndex = this.description.schools.findIndex( school => school.id===this._userPref?.schoolId );\n\t\t\tif( defaultIndex < 0 ) {\n\t\t\t\tdefaultIndex = 0;\n\t\t\t}\n\t\t}\n\t\tthis.setSelectedSchool( defaultIndex );\n\n\t\tfor(let section of this.sections)\n\t\t\tawait section.charger();\n\n\t\tthis.ouvrirBrief(this.sections[Math.floor(this.sections.length / 2)]);\n\t}\n\n\n\tprivate setSelectedSchool( idx:number ):boolean {\n\t\tif( 0 <= idx && idx < this.description.schools.length && this.selectedSchool !== this.description.schools[idx]) {\n\t\t\tthis.selectedSchool = this.description.schools[idx];\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected onSchoolSelected( idx:number, ev?:JQuery.Event ) {\n\t\t// If an event is given, and related to pressing the enter or spacebar key.\n\t\tif( !ev || (ev.type==='keydown' && (ev.which===13 || ev.which===32)) ) {\n\t\t\tif( this._userPref && this.setSelectedSchool(idx) ) {\n\t\t\t\tthis._userPref.schoolId = this.selectedSchool?.id;\n\t\t\t\tWidgetFrameworkFactory.instance().saveUserPrefs();\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected get hasManySchools() {\n\t\treturn this.description.schools.length > 1;\n\t}\n\n\tprivate ouvrirBrief(brief: BriefmeSection)\n\t{\n\t\tthis.contenu = brief;\n\t}\n\n\tpublic genererLien(article: BriefmeArticle)\n\t{\n\t\tlet urlBase: string = article.url;\n\t\tlet UAIb64: string = Base64.encode(this.selectedSchool?.UAI != null ? this.selectedSchool?.UAI : \"\");\n\t\tlet exports: string[] = this.selectedSchool?.exports != null ? this.selectedSchool?.exports : [];\n\t\tlet codeGARb64 = Base64.encode(exports != null && exports.length > 0 ? exports[0] : \"\");\n\n\t\treturn urlBase.replace(\"ID_ETAB\", UAIb64).replace(\"ID_ENT\", codeGARb64);\n\t}\n}\n\n/* Directive */\nclass Directive implements IDirective<IScope,JQLite,IAttributes,IController[]> {\n restrict = 'E';\n\ttemplate = require('./briefme-widget.widget.html').default;\n\tscope = {};\n\tbindToController = true;\n\tcontroller = [Controller];\n\tcontrollerAs = 'ctrl';\n\trequire = ['odeBriefmeWidget'];\n\n async link(scope:IScope, elem:JQLite, attrs:IAttributes, controllers?:IController[]) {\n const ctrl:Controller|null = controllers ? controllers[0] as Controller : null;\n if( !ctrl ) {\n return;\n\t\t}\n\n\t\tawait ctrl.initialize();\n\t\tscope.$apply();\n\t}\n}\n\n/** The briefme widget. */\nfunction DirectiveFactory() {\n\treturn new Directive();\n}\n\n// Preload translations\nnotif().onLangReady().promise.then( lang => {\n\tswitch( lang ) {\n\t\tdefault:\tconf().Platform.idiom.addKeys( require('./i18n/fr.json') ); break;\n\t}\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 = \"odeBriefmeWidgetModule\";\nangular.module( odeModuleName, []).directive( \"odeBriefmeWidget\", DirectiveFactory );\n"],"names":["titre","publication","url","this","nom","articles","charger","http","get","headers","reponse","results","entree","push","BriefmeArticle","title","published_at","parametrage","sections","BriefmeSection","contenu","session","description","initialize","_userPref","WidgetFrameworkFactory","instance","list","find","w","platformConf","name","WIDGET_NAME","BRIEFME","userPref","notif","onSessionReady","promise","defaultIndex","schoolId","isArray","schools","findIndex","school","id","setSelectedSchool","ouvrirBrief","Math","floor","length","idx","selectedSchool","onSchoolSelected","ev","type","which","saveUserPrefs","brief","genererLien","article","urlBase","UAIb64","Base64","encode","UAI","exports","codeGARb64","replace","restrict","template","scope","bindToController","controller","Controller","controllerAs","require","link","elem","attrs","controllers","ctrl","$apply","onLangReady","then","lang","conf","Platform","idiom","addKeys","odeModuleName","module","directive","Directive"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"widgets/briefme-widget/briefme-widget.widget.js","mappings":"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","sources":["webpack://ode-ngjs-front/./src/ts/widgets/briefme-widget/briefme-widget.widget.html","webpack://ode-ngjs-front/./src/ts/widgets/briefme-widget/briefme-widget.widget.ts"],"sourcesContent":["// Module\nvar code = \" <div class=\\\"widget-header\\\"> <div class=\\\"subtitle\\\"><i18n>briefme.title</i18n></div> <div class=\\\"widget-options\\\"> <div class=\\\"tools\\\"> <a href=\\\"#\\\" class=\\\"tool tool-option\\\" i18n-title=\\\"briefme-widget.school.choose.title\\\" ng-if=\\\"ctrl.hasManySchools\\\" ng-click=\\\"ctrl.parametrage = true\\\"> <i class=\\\"fas fa-cog\\\"></i> </a> </div> <div class=\\\"widget-handle\\\" title=\\\"Déplacer le widget\\\"><i class=\\\"fas fa-grip-vertical\\\" aria-hidden=\\\"true\\\"></i></div> </div> </div> <div class=\\\"widget-body\\\"> <div class=\\\"container-advanced-nav\\\" style=\\\"display:block\\\"> <div class=\\\"list-trigger\\\"> <div ng-repeat=\\\"section in ctrl.sections track by $index\\\" ng-if=\\\"section.articles.length > 0\\\" style=\\\"flex:1\\\"> <div class=\\\"trigger\\\" ng-click=\\\"ctrl.ouvrirBrief(section)\\\" ng-class=\\\"{on: section == ctrl.contenu}\\\"> [[section.nom]] </div> </div> </div> </div> <div> <ul class=\\\"list\\\"> <li class=\\\"item link\\\" ng-repeat=\\\"article in ctrl.contenu.articles track by $index\\\" style=\\\"padding:1rem 2rem\\\"> <a href=\\\"[[ctrl.genererLien(article)]]\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\" ng-click=\\\"trackEvent($event, {detail:{'open':article.url} })\\\"> <div class=\\\"title\\\">[[article.titre]]</div> <div class=\\\"meta\\\">[[article.publication]]</div> </a> </li> </ul> </div> </div> <ode-modal visible=\\\"ctrl.parametrage\\\" on-close=\\\"ctrl.parametrage = false\\\" dnd-nodrag> <ode-modal-title> <i18n>briefme-widget.school.choose.title</i18n> </ode-modal-title> <ode-modal-body> <div> <div ng-if=\\\"!ctrl.hasManySchools\\\" class=\\\"school mb-3\\\">{{ctrl.selectedSchool.name}}</div> <div ng-if=\\\"ctrl.hasManySchools\\\" class=\\\"dropdown mb-3\\\" style=\\\"display:flex;justify-content:space-around\\\"> <i18n>briefme-widget.school.choose.label</i18n> <div class=\\\"school-multiple dropdown-toggle\\\" role=\\\"button\\\" id=\\\"universalisWidgetSchool\\\" data-bs-toggle=\\\"dropdown\\\" aria-haspopup=\\\"true\\\" aria-expanded=\\\"false\\\"> <a href=\\\"\\\" class=\\\"\\\">{{ctrl.selectedSchool.name}}</a> </div> <div class=\\\"school-choice dropdown-menu\\\" aria-labelledby=\\\"universalisWidgetSchool\\\"> <div tabindex=\\\"0\\\" role=\\\"button\\\" class=\\\"dropdown-item\\\" ng-repeat=\\\"school in ctrl.description.schools\\\" ng-click=\\\"ctrl.onSchoolSelected($index)\\\" ng-keydown=\\\"ctrl.onSchoolSelected($index, $event)\\\"> {{school.name}} </div> </div> </div> </div> </ode-modal-body> <ode-modal-footer> </ode-modal-footer> </ode-modal> \";\n// Exports\nexport default code;","import angular, { IAttributes, IController, IDirective, IScope } from \"angular\";\nimport { IUserDescription, IUserInfo, School, WidgetFrameworkFactory, WidgetUserPref, WIDGET_NAME } from \"ode-ts-client\";\nimport { conf, notif, session, http, Base64 } from \"../../utils\";\n\nclass BriefmeArticle\n{\n\tpublic titre: string;\n\tpublic publication: string;\n\tpublic url: string;\n\n\tconstructor(titre: string, publication: string, url: string)\n\t{\n\t\tthis.titre = titre;\n\t\tthis.publication = publication;\n\t\tthis.url = url;\n\t}\n};\n\nclass BriefmeSection\n{\n\tpublic nom: string;\n\tpublic url: string;\n\n\tpublic articles: BriefmeArticle[] = [];\n\n\tconstructor(nom: string, url: string)\n\t{\n\t\tthis.nom = nom;\n\t\tthis.url = url;\n\t}\n\n\tpublic async charger()//: void\n\t{\n\t\tlet reponse = await http().get(this.url, { headers: {\"Accept\": \"application/json\"}});\n\t\t\n\t\tfor(let entree of reponse.results)\n\t\t\tthis.articles.push(new BriefmeArticle(entree.title, entree.published_at, entree.url));\n\t}\n}\n\n/* Controller for the directive */\nclass Controller implements IController\n{\n\tprivate _userPref?:WidgetUserPref;\n\tprivate selectedSchool?:School;\n\tprivate parametrage:boolean = false;\n\n\tprivate sections: BriefmeSection[] = [\n\t\tnew BriefmeSection(\"Brief.eco\", \"/appregistry/widget/cache/external/briefeco\"),\n\t\tnew BriefmeSection(\"Brief.me\", \"/appregistry/widget/cache/external/briefme\"),\n\t\tnew BriefmeSection(\"Brief.science\", \"/appregistry/widget/cache/external/briefscience\")\n\t];\n\tpublic contenu: BriefmeSection = this.sections[0];\n\n\tprotected get description():IUserDescription {\n\t\treturn session().description;\n\t}\n\n\tpublic async initialize() {\n\t\tthis._userPref = WidgetFrameworkFactory.instance().list.find( w => w.platformConf.name===WIDGET_NAME.BRIEFME)?.userPref;\n\t\tawait notif().onSessionReady().promise;\n\n\t\tlet defaultIndex = 0;\n\t\tif( this._userPref?.schoolId && angular.isArray(this.description.schools) ) {\n\t\t\tdefaultIndex = this.description.schools.findIndex( school => school.id===this._userPref?.schoolId );\n\t\t\tif( defaultIndex < 0 ) {\n\t\t\t\tdefaultIndex = 0;\n\t\t\t}\n\t\t}\n\t\tthis.setSelectedSchool( defaultIndex );\n\n\t\tfor(let section of this.sections)\n\t\t\tawait section.charger();\n\n\t\tthis.ouvrirBrief(this.sections[Math.floor(this.sections.length / 2)]);\n\t}\n\n\n\tprivate setSelectedSchool( idx:number ):boolean {\n\t\tif( 0 <= idx && idx < this.description.schools.length && this.selectedSchool !== this.description.schools[idx]) {\n\t\t\tthis.selectedSchool = this.description.schools[idx];\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected onSchoolSelected( idx:number, ev?:JQuery.Event ) {\n\t\t// If an event is given, and related to pressing the enter or spacebar key.\n\t\tif( !ev || (ev.type==='keydown' && (ev.which===13 || ev.which===32)) ) {\n\t\t\tif( this._userPref && this.setSelectedSchool(idx) ) {\n\t\t\t\tthis._userPref.schoolId = this.selectedSchool?.id;\n\t\t\t\tWidgetFrameworkFactory.instance().saveUserPrefs();\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected get hasManySchools() {\n\t\treturn this.description.schools.length > 1;\n\t}\n\n\tprivate ouvrirBrief(brief: BriefmeSection)\n\t{\n\t\tthis.contenu = brief;\n\t}\n\n\tpublic genererLien(article: BriefmeArticle)\n\t{\n\t\tlet urlBase: string = article.url;\n\t\tlet UAIb64: string = Base64.encode(this.selectedSchool?.UAI != null ? this.selectedSchool?.UAI : \"\");\n\t\tlet exports: string[] = this.selectedSchool?.exports != null ? this.selectedSchool?.exports : [];\n\t\tlet codeGar = \"\";\n\t\tif(exports != null)\n\t\t{\n\t\t\tfor(let i = 0; i < exports.length; ++i)\n\t\t\t\tif(exports[i].startsWith(\"GAR-\"))\n\t\t\t\t{\n\t\t\t\t\tcodeGar = exports[i].replace(\"GAR-\", \"\");\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(codeGar == \"\")\n\t\t\t\t\tcodeGar = exports[0];\n\t\t}\n\t\tlet codeGARb64 = Base64.encode(codeGar);\n\n\t\treturn urlBase.replace(\"ID_ETAB\", UAIb64).replace(\"ID_ENT\", codeGARb64);\n\t}\n}\n\n/* Directive */\nclass Directive implements IDirective<IScope,JQLite,IAttributes,IController[]> {\n restrict = 'E';\n\ttemplate = require('./briefme-widget.widget.html').default;\n\tscope = {};\n\tbindToController = true;\n\tcontroller = [Controller];\n\tcontrollerAs = 'ctrl';\n\trequire = ['odeBriefmeWidget'];\n\n async link(scope:IScope, elem:JQLite, attrs:IAttributes, controllers?:IController[]) {\n const ctrl:Controller|null = controllers ? controllers[0] as Controller : null;\n if( !ctrl ) {\n return;\n\t\t}\n\n\t\tawait ctrl.initialize();\n\t\tscope.$apply();\n\t}\n}\n\n/** The briefme widget. */\nfunction DirectiveFactory() {\n\treturn new Directive();\n}\n\n// Preload translations\nnotif().onLangReady().promise.then( lang => {\n\tswitch( lang ) {\n\t\tdefault:\tconf().Platform.idiom.addKeys( require('./i18n/fr.json') ); break;\n\t}\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 = \"odeBriefmeWidgetModule\";\nangular.module( odeModuleName, []).directive( \"odeBriefmeWidget\", DirectiveFactory );\n"],"names":["titre","publication","url","this","nom","articles","charger","http","get","headers","reponse","results","entree","push","BriefmeArticle","title","published_at","parametrage","sections","BriefmeSection","contenu","session","description","initialize","_userPref","WidgetFrameworkFactory","instance","list","find","w","platformConf","name","WIDGET_NAME","BRIEFME","userPref","notif","onSessionReady","promise","defaultIndex","schoolId","isArray","schools","findIndex","school","id","setSelectedSchool","ouvrirBrief","Math","floor","length","idx","selectedSchool","onSchoolSelected","ev","type","which","saveUserPrefs","brief","genererLien","article","urlBase","UAIb64","Base64","encode","UAI","exports","codeGar","i","startsWith","replace","codeGARb64","restrict","template","scope","bindToController","controller","Controller","controllerAs","require","link","elem","attrs","controllers","ctrl","$apply","onLangReady","then","lang","conf","Platform","idiom","addKeys","odeModuleName","module","directive","Directive"],"sourceRoot":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ode-ngjs-front",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.5-dev.202301180938",
|
|
4
4
|
"description": "Open Digital Education Frontend Framework",
|
|
5
5
|
"main": "dist/ts/index.js",
|
|
6
6
|
"types": "dist/ts/index.d.ts",
|
|
@@ -28,13 +28,15 @@
|
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"core-js": "^3.9.1",
|
|
30
30
|
"humane-js": "^3.2.2",
|
|
31
|
-
"moment": "^2.29.1"
|
|
31
|
+
"moment": "^2.29.1",
|
|
32
|
+
"ua-parser-js": "0.7.28"
|
|
32
33
|
},
|
|
33
34
|
"devDependencies": {
|
|
34
35
|
"@types/angular": "^1.7.4",
|
|
35
36
|
"@types/angular-mocks": "^1.7.0",
|
|
36
37
|
"@types/jasmine": "^3.6.4",
|
|
37
38
|
"@types/jquery": "^3.5.5",
|
|
39
|
+
"@types/ua-parser-js": "^0.7.35",
|
|
38
40
|
"angular": "1.7.9",
|
|
39
41
|
"angular-drag-and-drop-lists": "^2.1.0",
|
|
40
42
|
"angular-route": "1.7.9",
|
|
@@ -49,7 +51,7 @@
|
|
|
49
51
|
"karma-chrome-launcher": "^3.1.0",
|
|
50
52
|
"karma-jasmine": "^4.0.1",
|
|
51
53
|
"moment-locales-webpack-plugin": "~1.2.0",
|
|
52
|
-
"ode-ts-client": "
|
|
54
|
+
"ode-ts-client": "dev",
|
|
53
55
|
"terser-webpack-plugin": "5.1.4",
|
|
54
56
|
"ts-loader": "^8.0.18",
|
|
55
57
|
"typescript": "4.2.2",
|