@sunbird-cb/utils 1.0.15 → 1.0.17

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.
Files changed (33) hide show
  1. package/bundles/sunbird-cb-utils.umd.js +155 -43
  2. package/bundles/sunbird-cb-utils.umd.js.map +1 -1
  3. package/bundles/sunbird-cb-utils.umd.min.js +2 -2
  4. package/bundles/sunbird-cb-utils.umd.min.js.map +1 -1
  5. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +3 -2
  6. package/esm2015/lib/services/auth-keycloak.service.js +18 -19
  7. package/esm2015/lib/services/card-content.model.js +2 -1
  8. package/esm2015/lib/services/event.model.js +2 -1
  9. package/esm2015/lib/services/event.service.js +115 -7
  10. package/esm2015/lib/services/user-preference.model.js +10 -1
  11. package/esm2015/public-api.js +2 -1
  12. package/esm2015/sunbird-cb-utils.js +6 -7
  13. package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +3 -2
  14. package/esm5/lib/services/auth-keycloak.service.js +23 -29
  15. package/esm5/lib/services/card-content.model.js +2 -1
  16. package/esm5/lib/services/event.model.js +2 -1
  17. package/esm5/lib/services/event.service.js +116 -7
  18. package/esm5/lib/services/user-preference.model.js +10 -1
  19. package/esm5/public-api.js +2 -1
  20. package/esm5/sunbird-cb-utils.js +6 -7
  21. package/fesm2015/sunbird-cb-utils.js +143 -24
  22. package/fesm2015/sunbird-cb-utils.js.map +1 -1
  23. package/fesm5/sunbird-cb-utils.js +149 -34
  24. package/fesm5/sunbird-cb-utils.js.map +1 -1
  25. package/lib/services/auth-keycloak.service.d.ts +1 -3
  26. package/lib/services/card-content.model.d.ts +2 -1
  27. package/lib/services/event.model.d.ts +2 -1
  28. package/lib/services/event.service.d.ts +17 -1
  29. package/lib/services/user-preference.model.d.ts +8 -0
  30. package/package.json +1 -1
  31. package/public-api.d.ts +1 -0
  32. package/sunbird-cb-utils.d.ts +4 -5
  33. package/sunbird-cb-utils.metadata.json +1 -1
@@ -1,11 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/material/dialog'), require('@angular/material/snack-bar'), require('rxjs'), require('@angular/cdk/layout'), require('rxjs/operators'), require('@angular/common'), require('@angular/material'), require('ngx-image-cropper'), require('@angular/common/http'), require('keycloak-angular'), require('@angular/cdk/platform'), require('@angular/router'), require('moment'), require('lodash'), require('@angular/platform-browser')) :
3
- typeof define === 'function' && define.amd ? define('@sunbird-cb/utils', ['exports', '@angular/core', '@angular/material/dialog', '@angular/material/snack-bar', 'rxjs', '@angular/cdk/layout', 'rxjs/operators', '@angular/common', '@angular/material', 'ngx-image-cropper', '@angular/common/http', 'keycloak-angular', '@angular/cdk/platform', '@angular/router', 'moment', 'lodash', '@angular/platform-browser'], factory) :
4
- (global = global || self, factory((global['sunbird-cb'] = global['sunbird-cb'] || {}, global['sunbird-cb'].utils = {}), global.ng.core, global.ng.material.dialog, global.ng.material['snack-bar'], global.rxjs, global.ng.cdk.layout, global.rxjs.operators, global.ng.common, global.ng.material, global.ngxImageCropper, global.ng.common.http, global['keycloak-angular'], global.ng.cdk.platform, global.ng.router, global.moment, global._, global.ng.platformBrowser));
5
- }(this, (function (exports, core, dialog, snackBar, rxjs, layout, operators, common, material, ngxImageCropper, http, keycloakAngular, platform, router, moment, _, platformBrowser) { 'use strict';
6
-
7
- moment = moment && moment.hasOwnProperty('default') ? moment['default'] : moment;
8
- var ___default = 'default' in _ ? _['default'] : _;
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/material/dialog'), require('@angular/material/snack-bar'), require('rxjs'), require('@angular/cdk/layout'), require('rxjs/operators'), require('@angular/common'), require('@angular/material'), require('ngx-image-cropper'), require('keycloak-angular'), require('@angular/common/http'), require('@angular/cdk/platform'), require('@angular/router'), require('moment'), require('lodash'), require('@angular/platform-browser')) :
3
+ typeof define === 'function' && define.amd ? define('@sunbird-cb/utils', ['exports', '@angular/core', '@angular/material/dialog', '@angular/material/snack-bar', 'rxjs', '@angular/cdk/layout', 'rxjs/operators', '@angular/common', '@angular/material', 'ngx-image-cropper', 'keycloak-angular', '@angular/common/http', '@angular/cdk/platform', '@angular/router', 'moment', 'lodash', '@angular/platform-browser'], factory) :
4
+ (global = global || self, factory((global['sunbird-cb'] = global['sunbird-cb'] || {}, global['sunbird-cb'].utils = {}), global.ng.core, global.ng.material.dialog, global.ng.material['snack-bar'], global.rxjs, global.ng.cdk.layout, global.rxjs.operators, global.ng.common, global.ng.material, global.ngxImageCropper, global['keycloak-angular'], global.ng.common.http, global.ng.cdk.platform, global.ng.router, global.moment, global._, global.ng.platformBrowser));
5
+ }(this, (function (exports, core, dialog, snackBar, rxjs, layout, operators, common, material, ngxImageCropper, keycloakAngular, http, platform, router, _moment, lodash, platformBrowser) { 'use strict';
9
6
 
10
7
  /*! *****************************************************************************
11
8
  Copyright (c) Microsoft Corporation.
@@ -2017,9 +2014,8 @@
2017
2014
  var storage$1 = localStorage;
2018
2015
  var storageKey$1 = 'kc';
2019
2016
  var AuthKeycloakService = (function () {
2020
- function AuthKeycloakService(http, configSvc, keycloakSvc, msAuthSvc) {
2017
+ function AuthKeycloakService(configSvc, keycloakSvc, msAuthSvc) {
2021
2018
  var _this = this;
2022
- this.http = http;
2023
2019
  this.configSvc = configSvc;
2024
2020
  this.keycloakSvc = keycloakSvc;
2025
2021
  this.msAuthSvc = msAuthSvc;
@@ -2162,7 +2158,7 @@
2162
2158
  if (_redirectUrl === void 0) { _redirectUrl = this.defaultRedirectUrl; }
2163
2159
  return __awaiter(this, void 0, void 0, function () {
2164
2160
  return __generator(this, function (_a) {
2165
- window.location.href = _redirectUrl + "apis/reset";
2161
+ window.location.href = _redirectUrl + "public/logout";
2166
2162
  return [2];
2167
2163
  });
2168
2164
  });
@@ -2170,24 +2166,23 @@
2170
2166
  AuthKeycloakService.prototype.force_logout = function () {
2171
2167
  return __awaiter(this, void 0, void 0, function () {
2172
2168
  return __generator(this, function (_a) {
2173
- switch (_a.label) {
2174
- case 0:
2175
- if (storage$1.getItem('telemetrySessionId')) {
2176
- storage$1.removeItem('telemetrySessionId');
2177
- }
2178
- try {
2179
- sessionStorage.clear();
2180
- localStorage.clear();
2181
- }
2182
- catch (_b) {
2183
- }
2184
- storage$1.removeItem(storageKey$1);
2185
- window.location.href = '/public/logout';
2186
- return [4, this.http.get('/apis/reset').toPromise()];
2187
- case 1:
2188
- _a.sent();
2189
- return [2];
2169
+ if (storage$1.getItem('telemetrySessionId')) {
2170
+ storage$1.removeItem('telemetrySessionId');
2190
2171
  }
2172
+ storage$1.removeItem(storageKey$1);
2173
+ if (localStorage.getItem('login') === 'true') {
2174
+ try {
2175
+ sessionStorage.clear();
2176
+ localStorage.clear();
2177
+ }
2178
+ catch (_b) {
2179
+ }
2180
+ window.location.href = this.defaultRedirectUrl + "apis/reset";
2181
+ }
2182
+ else {
2183
+ window.location.href = this.defaultRedirectUrl + "public/logout";
2184
+ }
2185
+ return [2];
2191
2186
  });
2192
2187
  });
2193
2188
  };
@@ -2299,17 +2294,15 @@
2299
2294
  },] }
2300
2295
  ];
2301
2296
  AuthKeycloakService.ctorParameters = function () { return [
2302
- { type: http.HttpClient },
2303
2297
  { type: ConfigurationsService },
2304
2298
  { type: keycloakAngular.KeycloakService },
2305
2299
  { type: AuthMicrosoftService }
2306
2300
  ]; };
2307
- /** @nocollapse */ AuthKeycloakService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function AuthKeycloakService_Factory() { return new AuthKeycloakService(core.ɵɵinject(http.HttpClient), core.ɵɵinject(ConfigurationsService), core.ɵɵinject(keycloakAngular.KeycloakService), core.ɵɵinject(AuthMicrosoftService)); }, token: AuthKeycloakService, providedIn: "root" });
2301
+ /** @nocollapse */ AuthKeycloakService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function AuthKeycloakService_Factory() { return new AuthKeycloakService(core.ɵɵinject(ConfigurationsService), core.ɵɵinject(keycloakAngular.KeycloakService), core.ɵɵinject(AuthMicrosoftService)); }, token: AuthKeycloakService, providedIn: "root" });
2308
2302
  return AuthKeycloakService;
2309
2303
  }());
2310
2304
  if (false) {
2311
2305
  AuthKeycloakService.prototype.loginChangeSubject;
2312
- AuthKeycloakService.prototype.http;
2313
2306
  AuthKeycloakService.prototype.configSvc;
2314
2307
  AuthKeycloakService.prototype.keycloakSvc;
2315
2308
  AuthKeycloakService.prototype.msAuthSvc;
@@ -2964,6 +2957,7 @@
2964
2957
  return PipeListFilterModule;
2965
2958
  }());
2966
2959
 
2960
+ var moment = _moment;
2967
2961
  var PipeRelativeTimePipe = (function () {
2968
2962
  function PipeRelativeTimePipe() {
2969
2963
  }
@@ -2998,7 +2992,7 @@
2998
2992
 
2999
2993
  var OrderByPipe = (function () {
3000
2994
  function OrderByPipe() {
3001
- this.transform = _.orderBy;
2995
+ this.transform = lodash.orderBy;
3002
2996
  }
3003
2997
  OrderByPipe.decorators = [
3004
2998
  { type: core.Pipe, args: [{
@@ -4198,19 +4192,38 @@
4198
4192
  EnumInteractSubTypes["DISCUSS_TAB"] = "discuss-tab";
4199
4193
  EnumInteractSubTypes["EVENTS_TAB"] = "events-tab";
4200
4194
  EnumInteractSubTypes["SIDE_MENU"] = "side-menu";
4195
+ EnumInteractSubTypes["HOME_PAGE_STRIP_TABS"] = "home-page-strip-tabs";
4201
4196
  })(EnumInteractSubTypes = WsEvents.EnumInteractSubTypes || (WsEvents.EnumInteractSubTypes = {}));
4202
4197
  })(exports.WsEvents || (exports.WsEvents = {}));
4203
4198
 
4199
+ var moment$1 = _moment;
4204
4200
  var EventService = (function () {
4205
- function EventService(utilitySvc) {
4201
+ function EventService(utilitySvc, environment) {
4206
4202
  this.utilitySvc = utilitySvc;
4203
+ this.todaysEvents = [];
4207
4204
  this.eventsSubject = new rxjs.Subject();
4208
4205
  this.events$ = this.eventsSubject.asObservable();
4206
+ this.eventsChatbotSubject = new rxjs.Subject();
4207
+ this.chatbotEvents$ = this.eventsChatbotSubject.asObservable();
4208
+ this.eventsGetStartSubject = new rxjs.Subject();
4209
+ this.getStartEvents$ = this.eventsGetStartSubject.asObservable();
4210
+ this.eventsPRSubject = new rxjs.Subject();
4211
+ this.getPREvents$ = this.eventsPRSubject.asObservable();
4212
+ this.environment = environment;
4209
4213
  }
4210
4214
  EventService.prototype.dispatchEvent = function (event) {
4211
4215
  event.pageContext = this.getContext(event.pageContext);
4212
4216
  this.eventsSubject.next(event);
4213
4217
  };
4218
+ EventService.prototype.dispatchChatbotEvent = function (event) {
4219
+ this.eventsChatbotSubject.next(event);
4220
+ };
4221
+ EventService.prototype.dispatchGetStartedEvent = function (event) {
4222
+ this.eventsGetStartSubject.next(event);
4223
+ };
4224
+ EventService.prototype.dispatchPlatformRatingEvent = function (event) {
4225
+ this.eventsPRSubject.next(event);
4226
+ };
4214
4227
  EventService.prototype.raiseInteractTelemetry = function (edata, object, pageContext) {
4215
4228
  this.dispatchEvent({
4216
4229
  eventType: exports.WsEvents.WsEventType.Telemetry,
@@ -4274,28 +4287,118 @@
4274
4287
  this.raiseInteractTelemetry({
4275
4288
  subType: subType,
4276
4289
  type: exports.WsEvents.EnumInteractTypes.CLICK,
4277
- id: ___default.camelCase(data.label) + "-tab",
4290
+ id: lodash.camelCase(data.label) + "-tab",
4278
4291
  }, __assign({}, object), {
4279
- pageIdExt: ___default.camelCase(data.label) + "-tab",
4292
+ pageIdExt: lodash.camelCase(data.label) + "-tab",
4280
4293
  });
4281
- this.raiseCustomImpression(__assign({}, object), {
4282
- pageIdExt: ___default.camelCase(data.label) + "-tab",
4294
+ this.raiseCustomImpression(__assign({ context: {
4295
+ position: data.index,
4296
+ } }, object), {
4297
+ pageIdExt: lodash.camelCase(data.label) + "-tab",
4283
4298
  });
4284
4299
  };
4300
+ EventService.prototype.getPublicUrl = function (url) {
4301
+ var mainUrl = url.split('/content').pop() || '';
4302
+ return this.environment.contentHost + "/" + this.environment.contentBucket + "/content" + mainUrl;
4303
+ };
4304
+ EventService.prototype.allEventDateFormat = function (datetime) {
4305
+ var date = new Date(datetime).getDate();
4306
+ var year = new Date(datetime).getFullYear();
4307
+ var month = new Date(datetime).getMonth();
4308
+ var hours = new Date(datetime).getHours();
4309
+ var minutes = new Date(datetime).getMinutes();
4310
+ var seconds = new Date(datetime).getSeconds();
4311
+ var formatedDate = new Date(year, month, date, hours, minutes, seconds, 0);
4312
+ var format = 'YYYY-MM-DD';
4313
+ var readableDateMonth = moment$1(formatedDate).format(format);
4314
+ var finalDateTimeValue = "" + readableDateMonth;
4315
+ return finalDateTimeValue;
4316
+ };
4317
+ EventService.prototype.compareDate = function (startDate) {
4318
+ var now = new Date();
4319
+ var day = ('0' + (new Date().getDate())).slice(-2);
4320
+ var year = new Date().getFullYear();
4321
+ var month = ('0' + (now.getMonth() + 1)).slice(-2);
4322
+ var todaysdate = year + "-" + month + "-" + day;
4323
+ if (startDate === todaysdate) {
4324
+ return true;
4325
+ }
4326
+ return false;
4327
+ };
4328
+ EventService.prototype.customDateFormat = function (date, time) {
4329
+ var stime = time.split('+')[0];
4330
+ var hour = stime.substr(0, 2);
4331
+ var min = stime.substr(2, 3);
4332
+ return date + " " + hour + min;
4333
+ };
4334
+ EventService.prototype.setEventListData = function (eventObj) {
4335
+ var _this = this;
4336
+ if (eventObj !== undefined) {
4337
+ this.todaysEvents = [];
4338
+ var data_1 = eventObj;
4339
+ Object.keys(data_1).forEach((function (index) {
4340
+ var obj = data_1[index];
4341
+ var floor = Math.floor;
4342
+ var hours = floor(obj.duration / 60);
4343
+ var minutes = obj.duration % 60;
4344
+ var duration = (hours === 0) ? ((minutes === 0) ? '---' : minutes + " minutes") : (minutes === 0) ? (hours === 1) ?
4345
+ hours + " hour" : hours + " hours" : (hours === 1) ? hours + " hour " + minutes + " minutes" :
4346
+ hours + " hours " + minutes + " minutes";
4347
+ var creatordata = obj.creatorDetails !== undefined ? obj.creatorDetails : [];
4348
+ var str = creatordata && creatordata.length > 0 ? creatordata.replace(/\\/g, '') : [];
4349
+ var creatorDetails = str && str.length > 0 ? JSON.parse(str) : creatordata;
4350
+ var stime = obj.startTime.split('+')[0];
4351
+ var hour = stime.substr(0, 2);
4352
+ var min = stime.substr(2, 3);
4353
+ var starttime = "" + hour + min;
4354
+ var etime = obj.endTime.split('+')[0];
4355
+ var ehour = etime.substr(0, 2);
4356
+ var emin = etime.substr(2, 3);
4357
+ var endtime = "" + ehour + emin;
4358
+ var eventDataObj = {
4359
+ event: obj,
4360
+ eventName: obj.name,
4361
+ eventStartTime: starttime,
4362
+ eventEndTime: endtime,
4363
+ eventStartDate: obj.startDate,
4364
+ eventCreatedOn: _this.allEventDateFormat(obj.createdOn),
4365
+ eventDuration: duration,
4366
+ eventjoined: creatorDetails.length,
4367
+ eventThumbnail: obj.appIcon && (obj.appIcon !== null || obj.appIcon !== undefined) ?
4368
+ _this.getPublicUrl(obj.appIcon) :
4369
+ '/assets/icons/Events_default.png',
4370
+ pastevent: false,
4371
+ };
4372
+ var isToday = _this.compareDate(obj.startDate);
4373
+ if (isToday) {
4374
+ _this.todaysEvents.push(eventDataObj);
4375
+ }
4376
+ }));
4377
+ }
4378
+ };
4285
4379
  EventService.decorators = [
4286
4380
  { type: core.Injectable, args: [{
4287
4381
  providedIn: 'root',
4288
4382
  },] }
4289
4383
  ];
4290
4384
  EventService.ctorParameters = function () { return [
4291
- { type: UtilityService }
4385
+ { type: UtilityService },
4386
+ { type: undefined, decorators: [{ type: core.Inject, args: ['environment',] }] }
4292
4387
  ]; };
4293
- /** @nocollapse */ EventService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function EventService_Factory() { return new EventService(core.ɵɵinject(UtilityService)); }, token: EventService, providedIn: "root" });
4388
+ /** @nocollapse */ EventService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function EventService_Factory() { return new EventService(core.ɵɵinject(UtilityService), core.ɵɵinject("environment")); }, token: EventService, providedIn: "root" });
4294
4389
  return EventService;
4295
4390
  }());
4296
4391
  if (false) {
4392
+ EventService.prototype.todaysEvents;
4297
4393
  EventService.prototype.eventsSubject;
4298
4394
  EventService.prototype.events$;
4395
+ EventService.prototype.eventsChatbotSubject;
4396
+ EventService.prototype.chatbotEvents$;
4397
+ EventService.prototype.eventsGetStartSubject;
4398
+ EventService.prototype.getStartEvents$;
4399
+ EventService.prototype.eventsPRSubject;
4400
+ EventService.prototype.getPREvents$;
4401
+ EventService.prototype.environment;
4299
4402
  EventService.prototype.utilitySvc;
4300
4403
  }
4301
4404
 
@@ -5223,6 +5326,15 @@
5223
5326
  IProfile.prototype.showBlogs;
5224
5327
  IProfile.prototype.showQnA;
5225
5328
  }
5329
+ function IPortalUrls() { }
5330
+ if (false) {
5331
+ IPortalUrls.prototype.igot;
5332
+ IPortalUrls.prototype.spv;
5333
+ IPortalUrls.prototype.mdo;
5334
+ IPortalUrls.prototype.cbc;
5335
+ IPortalUrls.prototype.cbp;
5336
+ IPortalUrls.prototype.frac;
5337
+ }
5226
5338
 
5227
5339
  var endpoints = {
5228
5340
  userPref: '/apis/protected/v8/user/preference',
@@ -5689,6 +5801,7 @@
5689
5801
  exports.HorizontalScrollerModule = HorizontalScrollerModule;
5690
5802
  exports.ImageCropComponent = ImageCropComponent;
5691
5803
  exports.ImageCropModule = ImageCropModule;
5804
+ exports.ImageResponsiveDirective = ImageResponsiveDirective;
5692
5805
  exports.ImageResponsiveModule = ImageResponsiveModule;
5693
5806
  exports.InViewPortModule = InViewPortModule;
5694
5807
  exports.LoggerService = LoggerService;
@@ -5735,11 +5848,10 @@
5735
5848
  exports.getStringifiedQueryParams = getStringifiedQueryParams;
5736
5849
  exports.ɵa = ClassChangeOnScrollDirective;
5737
5850
  exports.ɵb = DefaultThumbnailDirective;
5738
- exports.ɵc = ImageResponsiveDirective;
5739
- exports.ɵd = InViewPortDirective;
5740
- exports.ɵe = NavigationDirective;
5741
- exports.ɵf = PermissionDirective;
5742
- exports.ɵg = HorizontalScrollerComponent;
5851
+ exports.ɵc = InViewPortDirective;
5852
+ exports.ɵd = NavigationDirective;
5853
+ exports.ɵe = PermissionDirective;
5854
+ exports.ɵf = HorizontalScrollerComponent;
5743
5855
 
5744
5856
  Object.defineProperty(exports, '__esModule', { value: true });
5745
5857