@idea-ionic/agenda 5.28.2 → 5.29.3

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 (77) hide show
  1. package/README.md +3 -10
  2. package/bundles/idea-ionic-agenda.umd.js +39 -24
  3. package/bundles/idea-ionic-agenda.umd.js.map +1 -1
  4. package/bundles/idea-ionic-agenda.umd.min.js +2 -2
  5. package/bundles/idea-ionic-agenda.umd.min.js.map +1 -1
  6. package/environment.d.ts +16 -0
  7. package/esm2015/environment.js +17 -0
  8. package/esm2015/environment.ngsummary.json +1 -0
  9. package/esm2015/node_modules/@idea-ionic/common/idea-ionic-common.ngfactory.js +1 -1
  10. package/esm2015/node_modules/@idea-ionic/common/idea-ionic-common.ngsummary.json +1 -1
  11. package/esm2015/node_modules/@ionic/storage/dist/esm/index.ngsummary.json +1 -0
  12. package/esm2015/node_modules/idea-toolbox/dist/index.ngsummary.json +1 -1
  13. package/esm2015/node_modules/idea-toolbox/dist/{APIRequestLog.model.ngsummary.json → src/APIRequestLog.model.ngsummary.json} +0 -0
  14. package/esm2015/node_modules/idea-toolbox/dist/{RCAttachedResource.model.ngsummary.json → src/RCAttachedResource.model.ngsummary.json} +0 -0
  15. package/esm2015/node_modules/idea-toolbox/dist/{RCConfiguredFolder.model.ngsummary.json → src/RCConfiguredFolder.model.ngsummary.json} +0 -0
  16. package/esm2015/node_modules/idea-toolbox/dist/{RCFolder.model.ngsummary.json → src/RCFolder.model.ngsummary.json} +0 -0
  17. package/esm2015/node_modules/idea-toolbox/dist/{RCResource.model.ngsummary.json → src/RCResource.model.ngsummary.json} +0 -0
  18. package/esm2015/node_modules/idea-toolbox/dist/{address.model.ngsummary.json → src/address.model.ngsummary.json} +0 -0
  19. package/esm2015/node_modules/idea-toolbox/dist/{amazonTranslateLanguages.enum.ngsummary.json → src/amazonTranslateLanguages.enum.ngsummary.json} +0 -0
  20. package/esm2015/node_modules/idea-toolbox/dist/{announcement.model.ngsummary.json → src/announcement.model.ngsummary.json} +0 -0
  21. package/esm2015/node_modules/idea-toolbox/dist/{appointment.model.ngsummary.json → src/appointment.model.ngsummary.json} +0 -0
  22. package/esm2015/node_modules/idea-toolbox/dist/{attachment.model.ngsummary.json → src/attachment.model.ngsummary.json} +0 -0
  23. package/esm2015/node_modules/idea-toolbox/dist/{booleanChoices.enum.ngsummary.json → src/booleanChoices.enum.ngsummary.json} +0 -0
  24. package/esm2015/node_modules/idea-toolbox/dist/{cacheable.model.ngsummary.json → src/cacheable.model.ngsummary.json} +0 -0
  25. package/esm2015/node_modules/idea-toolbox/dist/{cacheableResource.model.ngsummary.json → src/cacheableResource.model.ngsummary.json} +0 -0
  26. package/esm2015/node_modules/idea-toolbox/dist/{calendar.model.ngsummary.json → src/calendar.model.ngsummary.json} +0 -0
  27. package/esm2015/node_modules/idea-toolbox/dist/{check.model.ngsummary.json → src/check.model.ngsummary.json} +0 -0
  28. package/esm2015/node_modules/idea-toolbox/dist/{clientInfo.model.ngsummary.json → src/clientInfo.model.ngsummary.json} +0 -0
  29. package/esm2015/node_modules/idea-toolbox/dist/src/cognitoUser.model.ngsummary.json +1 -0
  30. package/esm2015/node_modules/idea-toolbox/dist/{contactRequest.model.ngsummary.json → src/contactRequest.model.ngsummary.json} +0 -0
  31. package/esm2015/node_modules/idea-toolbox/dist/{contacts.model.ngsummary.json → src/contacts.model.ngsummary.json} +0 -0
  32. package/esm2015/node_modules/idea-toolbox/dist/{countries.enum.ngsummary.json → src/countries.enum.ngsummary.json} +0 -0
  33. package/esm2015/node_modules/idea-toolbox/dist/{customBlockMeta.model.ngsummary.json → src/customBlockMeta.model.ngsummary.json} +0 -0
  34. package/esm2015/node_modules/idea-toolbox/dist/{customFieldMeta.model.ngsummary.json → src/customFieldMeta.model.ngsummary.json} +0 -0
  35. package/esm2015/node_modules/idea-toolbox/dist/{customFieldTypes.enum.ngsummary.json → src/customFieldTypes.enum.ngsummary.json} +0 -0
  36. package/esm2015/node_modules/idea-toolbox/dist/{customSectionMeta.model.ngsummary.json → src/customSectionMeta.model.ngsummary.json} +0 -0
  37. package/esm2015/node_modules/idea-toolbox/dist/{delta.model.ngsummary.json → src/delta.model.ngsummary.json} +0 -0
  38. package/esm2015/node_modules/idea-toolbox/dist/{emailChangeRequest.model.ngsummary.json → src/emailChangeRequest.model.ngsummary.json} +0 -0
  39. package/esm2015/node_modules/idea-toolbox/dist/{emailData.model.ngsummary.json → src/emailData.model.ngsummary.json} +0 -0
  40. package/esm2015/node_modules/idea-toolbox/dist/{epoch.ngsummary.json → src/epoch.ngsummary.json} +0 -0
  41. package/esm2015/node_modules/idea-toolbox/dist/{errorReport.model.ngsummary.json → src/errorReport.model.ngsummary.json} +0 -0
  42. package/esm2015/node_modules/idea-toolbox/dist/{errorWhitelisted.model.ngsummary.json → src/errorWhitelisted.model.ngsummary.json} +0 -0
  43. package/esm2015/node_modules/idea-toolbox/dist/src/excelRow.model.ngsummary.json +1 -0
  44. package/esm2015/node_modules/idea-toolbox/dist/{invitation.model.ngsummary.json → src/invitation.model.ngsummary.json} +0 -0
  45. package/esm2015/node_modules/idea-toolbox/dist/{ionicons.enum.ngsummary.json → src/ionicons.enum.ngsummary.json} +0 -0
  46. package/esm2015/node_modules/idea-toolbox/dist/{label.model.ngsummary.json → src/label.model.ngsummary.json} +0 -0
  47. package/esm2015/node_modules/idea-toolbox/dist/{labelVariable.model.ngsummary.json → src/labelVariable.model.ngsummary.json} +0 -0
  48. package/esm2015/node_modules/idea-toolbox/dist/{languages.enum.ngsummary.json → src/languages.enum.ngsummary.json} +0 -0
  49. package/esm2015/node_modules/idea-toolbox/dist/{languages.model.ngsummary.json → src/languages.model.ngsummary.json} +0 -0
  50. package/esm2015/node_modules/idea-toolbox/dist/{limitCounter.model.ngsummary.json → src/limitCounter.model.ngsummary.json} +0 -0
  51. package/esm2015/node_modules/idea-toolbox/dist/{markdown.ngsummary.json → src/markdown.ngsummary.json} +0 -0
  52. package/esm2015/node_modules/idea-toolbox/dist/{membership.model.ngsummary.json → src/membership.model.ngsummary.json} +0 -0
  53. package/esm2015/node_modules/idea-toolbox/dist/{notification.model.ngsummary.json → src/notification.model.ngsummary.json} +0 -0
  54. package/esm2015/node_modules/idea-toolbox/dist/{pdfTemplate.model.ngsummary.json → src/pdfTemplate.model.ngsummary.json} +0 -0
  55. package/esm2015/node_modules/idea-toolbox/dist/{projectPlan.model.ngsummary.json → src/projectPlan.model.ngsummary.json} +0 -0
  56. package/esm2015/node_modules/idea-toolbox/dist/{projectSubscription.model.ngsummary.json → src/projectSubscription.model.ngsummary.json} +0 -0
  57. package/esm2015/node_modules/idea-toolbox/dist/{pushNotificationsDevice.model.ngsummary.json → src/pushNotificationsDevice.model.ngsummary.json} +0 -0
  58. package/esm2015/node_modules/idea-toolbox/dist/{pushNotificationsPlatforms.enum.ngsummary.json → src/pushNotificationsPlatforms.enum.ngsummary.json} +0 -0
  59. package/esm2015/node_modules/idea-toolbox/dist/{resource.model.ngsummary.json → src/resource.model.ngsummary.json} +0 -0
  60. package/esm2015/node_modules/idea-toolbox/dist/{sentiment.enum.ngsummary.json → src/sentiment.enum.ngsummary.json} +0 -0
  61. package/esm2015/node_modules/idea-toolbox/dist/{signature.model.ngsummary.json → src/signature.model.ngsummary.json} +0 -0
  62. package/esm2015/node_modules/idea-toolbox/dist/{signedURL.model.ngsummary.json → src/signedURL.model.ngsummary.json} +0 -0
  63. package/esm2015/node_modules/idea-toolbox/dist/{stringVariable.model.ngsummary.json → src/stringVariable.model.ngsummary.json} +0 -0
  64. package/esm2015/node_modules/idea-toolbox/dist/{suggestion.model.ngsummary.json → src/suggestion.model.ngsummary.json} +0 -0
  65. package/esm2015/node_modules/idea-toolbox/dist/{team.model.ngsummary.json → src/team.model.ngsummary.json} +0 -0
  66. package/esm2015/node_modules/idea-toolbox/dist/{teamModules.model.ngsummary.json → src/teamModules.model.ngsummary.json} +0 -0
  67. package/esm2015/node_modules/idea-toolbox/dist/{timeInterval.model.ngsummary.json → src/timeInterval.model.ngsummary.json} +0 -0
  68. package/esm2015/node_modules/idea-toolbox/dist/{user.model.ngsummary.json → src/user.model.ngsummary.json} +0 -0
  69. package/esm2015/node_modules/idea-toolbox/dist/{utils.ngsummary.json → src/utils.ngsummary.json} +0 -0
  70. package/esm2015/src/calendars.service.js +8 -7
  71. package/fesm2015/idea-ionic-agenda.js +7 -6
  72. package/fesm2015/idea-ionic-agenda.js.map +1 -1
  73. package/idea-ionic-agenda.metadata.json +1 -1
  74. package/package.json +3 -3
  75. package/esm2015/node_modules/@ionic/storage/ionic-storage.ngsummary.json +0 -1
  76. package/esm2015/node_modules/@ionic/storage/node_modules/tslib/tslib.ngsummary.json +0 -1
  77. package/esm2015/node_modules/localforage/typings/localforage.ngsummary.json +0 -1
package/README.md CHANGED
@@ -21,18 +21,11 @@ Then, add this imports into the `global.scss` file, after the import on the top
21
21
 
22
22
  To make sure the translations are loaded into the project:
23
23
 
24
- - in the project's `assets/configs/idea-config.js` file, add the string `'agenda'` to the array `window.IDEA_IONIC_MODULES`;
24
+ - add a reference to this module in the environment variable `idea.ionicExtraModules` (see `environment.ts`);
25
25
  - copy the `i18n/agenda` folder (you can filter the languages you need) of the module in the project's `assets/i18n` folder.
26
26
 
27
- Finally, add the according configuration (if needed) in the `assets/configs/idea-config.js`:
28
-
29
- ```
30
- window.IDEA_MICROSOFT_API_CLIENT_ID: string;
31
- window.IDEA_MICROSOFT_API_SCOPE: string;
32
- window.IDEA_GOOGLE_API_CLIENT_ID: string;
33
- window.IDEA_GOOGLE_API_SCOPE: string;
34
- window.IDEA_APP_URL: string;
35
- ```
27
+ Make sure that there is a path (tsconfig file) pointing to `@env` which contains the environment files (Angular standard).
28
+ Finally, add in the environments desired the variables you find in the `environment.ts` file of this module.
36
29
 
37
30
  ## Components
38
31
 
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('@ionic/angular'), require('angular-calendar'), require('angular-calendar/date-adapters/date-fns'), require('@idea-ionic/common'), require('rxjs'), require('date-fns'), require('color-parse'), require('idea-toolbox'), require('@capacitor/core')) :
3
- typeof define === 'function' && define.amd ? define('@idea-ionic/agenda', ['exports', '@angular/core', '@angular/common', '@angular/forms', '@ionic/angular', 'angular-calendar', 'angular-calendar/date-adapters/date-fns', '@idea-ionic/common', 'rxjs', 'date-fns', 'color-parse', 'idea-toolbox', '@capacitor/core'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['idea-ionic'] = global['idea-ionic'] || {}, global['idea-ionic'].agenda = {}), global.ng.core, global.ng.common, global.ng.forms, global['@ionic/angular'], global['angular-calendar'], global['angular-calendar/date-adapters/date-fns'], global['@idea-ionic/common'], global.rxjs, global['date-fns'], global['color-parse'], global['idea-toolbox'], global['@capacitor/core']));
5
- }(this, (function (exports, core, common, forms, angular, angularCalendar, dateFns$1, common$1, rxjs, dateFns, ColorParse, ideaToolbox, core$1) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('@ionic/angular'), require('angular-calendar'), require('angular-calendar/date-adapters/date-fns'), require('@idea-ionic/common'), require('rxjs'), require('date-fns'), require('color-parse'), require('idea-toolbox'), require('@capacitor/core'), require('@env')) :
3
+ typeof define === 'function' && define.amd ? define('@idea-ionic/agenda', ['exports', '@angular/core', '@angular/common', '@angular/forms', '@ionic/angular', 'angular-calendar', 'angular-calendar/date-adapters/date-fns', '@idea-ionic/common', 'rxjs', 'date-fns', 'color-parse', 'idea-toolbox', '@capacitor/core', '@env'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['idea-ionic'] = global['idea-ionic'] || {}, global['idea-ionic'].agenda = {}), global.ng.core, global.ng.common, global.ng.forms, global['@ionic/angular'], global['angular-calendar'], global['angular-calendar/date-adapters/date-fns'], global['@idea-ionic/common'], global.rxjs, global['date-fns'], global['color-parse'], global['idea-toolbox'], global['@capacitor/core'], global['@env']));
5
+ }(this, (function (exports, core, common, forms, angular, angularCalendar, dateFns$1, common$1, rxjs, dateFns, ColorParse, ideaToolbox, core$1, _env) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -32,6 +32,8 @@
32
32
  return extendStatics(d, b);
33
33
  };
34
34
  function __extends(d, b) {
35
+ if (typeof b !== "function" && b !== null)
36
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
35
37
  extendStatics(d, b);
36
38
  function __() { this.constructor = d; }
37
39
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -217,11 +219,13 @@
217
219
  }
218
220
  return ar;
219
221
  }
222
+ /** @deprecated */
220
223
  function __spread() {
221
224
  for (var ar = [], i = 0; i < arguments.length; i++)
222
225
  ar = ar.concat(__read(arguments[i]));
223
226
  return ar;
224
227
  }
228
+ /** @deprecated */
225
229
  function __spreadArrays() {
226
230
  for (var s = 0, i = 0, il = arguments.length; i < il; i++)
227
231
  s += arguments[i].length;
@@ -230,7 +234,17 @@
230
234
  r[k] = a[j];
231
235
  return r;
232
236
  }
233
- ;
237
+ function __spreadArray(to, from, pack) {
238
+ if (pack || arguments.length === 2)
239
+ for (var i = 0, l = from.length, ar; i < l; i++) {
240
+ if (ar || !(i in from)) {
241
+ if (!ar)
242
+ ar = Array.prototype.slice.call(from, 0, i);
243
+ ar[i] = from[i];
244
+ }
245
+ }
246
+ return to.concat(ar || Array.prototype.slice.call(from));
247
+ }
234
248
  function __await(v) {
235
249
  return this instanceof __await ? (this.v = v, this) : new __await(v);
236
250
  }
@@ -295,18 +309,21 @@
295
309
  function __importDefault(mod) {
296
310
  return (mod && mod.__esModule) ? mod : { default: mod };
297
311
  }
298
- function __classPrivateFieldGet(receiver, privateMap) {
299
- if (!privateMap.has(receiver)) {
300
- throw new TypeError("attempted to get private field on non-instance");
301
- }
302
- return privateMap.get(receiver);
312
+ function __classPrivateFieldGet(receiver, state, kind, f) {
313
+ if (kind === "a" && !f)
314
+ throw new TypeError("Private accessor was defined without a getter");
315
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
316
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
317
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
303
318
  }
304
- function __classPrivateFieldSet(receiver, privateMap, value) {
305
- if (!privateMap.has(receiver)) {
306
- throw new TypeError("attempted to set private field on non-instance");
307
- }
308
- privateMap.set(receiver, value);
309
- return value;
319
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
320
+ if (kind === "m")
321
+ throw new TypeError("Private method is not writable");
322
+ if (kind === "a" && !f)
323
+ throw new TypeError("Private accessor was defined without a setter");
324
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
325
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
326
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
310
327
  }
311
328
 
312
329
  var CustomDateFormatter = /** @class */ (function (_super) {
@@ -484,7 +501,6 @@
484
501
  changeEvent: [{ type: core.Output }],
485
502
  changeDate: [{ type: core.Output }]
486
503
  };
487
- exports.EventAttendance = void 0;
488
504
  (function (EventAttendance) {
489
505
  EventAttendance[EventAttendance["DECLINED"] = -1] = "DECLINED";
490
506
  EventAttendance[EventAttendance["NEEDS_ACTION"] = 0] = "NEEDS_ACTION";
@@ -561,22 +577,22 @@
561
577
  case ideaToolbox.ExternalCalendarSources.GOOGLE:
562
578
  url =
563
579
  'https://accounts.google.com/o/oauth2/v2/auth?' +
564
- ("client_id=" + encodeURIComponent(IDEA_GOOGLE_API_CLIENT_ID)) +
580
+ ("client_id=" + encodeURIComponent(_env.environment.google.apiClientId)) +
565
581
  '&response_type=code' +
566
- ("&redirect_uri=" + encodeURIComponent(IDEA_APP_URL.concat('/echo/google-calendars-integration'))) +
582
+ ("&redirect_uri=" + encodeURIComponent(_env.environment.idea.app.url.concat('/echo/google-calendars-integration'))) +
567
583
  '&include_granted_scopes=true' +
568
584
  '&access_type=offline&prompt=consent' +
569
- ("&scope=" + encodeURIComponent(IDEA_GOOGLE_API_SCOPE)) +
585
+ ("&scope=" + encodeURIComponent(_env.environment.google.apiScope)) +
570
586
  ("&state=" + encodeURIComponent(cal.calendarId));
571
587
  break;
572
588
  case ideaToolbox.ExternalCalendarSources.MICROSOFT:
573
589
  url =
574
590
  'https://login.microsoftonline.com/common/oauth2/v2.0/authorize?' +
575
- ("client_id=" + encodeURIComponent(IDEA_MICROSOFT_API_CLIENT_ID)) +
591
+ ("client_id=" + encodeURIComponent(_env.environment.microsoft.apiClientId)) +
576
592
  '&response_type=code' +
577
- ("&redirect_uri=" + encodeURIComponent(IDEA_APP_URL.concat('/echo/microsoft-calendars-integration'))) +
593
+ ("&redirect_uri=" + encodeURIComponent(_env.environment.idea.app.url.concat('/echo/microsoft-calendars-integration'))) +
578
594
  '&response_mode=query' +
579
- ("&scope=" + encodeURIComponent(IDEA_MICROSOFT_API_SCOPE)) +
595
+ ("&scope=" + encodeURIComponent(_env.environment.microsoft.apiScope)) +
580
596
  ("&state=" + encodeURIComponent(cal.calendarId));
581
597
  break;
582
598
  }
@@ -1091,7 +1107,6 @@
1091
1107
  fixScope: [{ type: core.Input }],
1092
1108
  onlyExternalCalendars: [{ type: core.Input }]
1093
1109
  };
1094
- exports.CalendarScopes = void 0;
1095
1110
  (function (CalendarScopes) {
1096
1111
  CalendarScopes["SHARED"] = "shared";
1097
1112
  CalendarScopes["PRIVATE"] = "private";
@@ -1 +1 @@
1
- {"version":3,"file":"idea-ionic-agenda.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../modules/agenda/src/dateFormatter.provider.ts","../../../modules/agenda/src/agenda.component.ts","../../../modules/agenda/src/calendars.service.ts","../../../modules/agenda/src/calendar.component.ts","../../../modules/agenda/src/calendarItem.component.ts","../../../modules/agenda/src/calendarCreation.component.ts","../../../modules/agenda/src/agenda.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { formatDate } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { CalendarDateFormatter, DateFormatterParams } from 'angular-calendar';\n\n@Injectable()\nexport class CustomDateFormatter extends CalendarDateFormatter {\n // MONTH VIEW\n public monthViewColumnHeader({ date, locale }: DateFormatterParams): string {\n return formatDate(date, 'EEE', locale);\n }\n public monthViewTitle({ date, locale }: DateFormatterParams): string {\n return formatDate(date, 'MMMM y', locale);\n }\n // WEEK VIEW\n public weekViewHour({ date, locale }: DateFormatterParams): string {\n return locale === 'it' ? formatDate(date, 'HH:mm', locale) : formatDate(date, 'h aa', locale);\n }\n public weekViewColumnHeader({ date, locale }: DateFormatterParams): string {\n return formatDate(date, 'EEE', locale);\n }\n public weekViewTitle({ date, locale }: DateFormatterParams): string {\n return formatDate(date, 'MMMM yyyy', locale);\n }\n // DAY VIEW\n public dayViewHour({ date, locale }: DateFormatterParams): string {\n return locale === 'it' ? formatDate(date, 'HH:mm', locale) : formatDate(date, 'h aa', locale);\n }\n public dayViewTitle({ date, locale }: DateFormatterParams): string {\n return locale === 'it'\n ? formatDate(date, 'EEEE, dd MMM yyyy', locale)\n : formatDate(date, 'EEEE, MMM dd, yyyy', locale);\n }\n}\n","import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter } from '@angular/core';\nimport { Platform } from '@ionic/angular';\nimport { Subject } from 'rxjs';\nimport { CalendarEvent, CalendarEventTimesChangedEvent, CalendarMonthViewDay, CalendarView } from 'angular-calendar';\nimport { isFuture, isToday, isSameDay } from 'date-fns';\n// @ts-ignore\nimport ColorParse from 'color-parse';\nimport { IDEATinCanService, IDEATranslationsService } from '@idea-ionic/common';\n\n/**\n * A local fallback URL for the avatars.\n */\nconst AVATAR_FALLBACK_URL = './assets/imgs/no-avatar.jpg';\n\n@Component({\n selector: 'idea-agenda',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: 'agenda.component.html',\n styleUrls: ['agenda.component.scss']\n})\nexport class IDEAAgendaComponent {\n /**\n * The events to display in the calendar.\n */\n @Input() public events: AgendaEvent[] = [];\n /**\n * An array of day indexes (0 = sunday, 1 = monday, etc.) that will be hidden on the view.\n */\n @Input() public excludeDays: number[] = [];\n /**\n * The day start hours in 24 hour time. Must be 0-23\n */\n @Input() public dayStartHour = 0;\n /**\n * The day start hours in 24 hour time. Must be 0-23\n */\n @Input() public dayEndHour = 23;\n /**\n * The number of segments in an hour. Must divide equally into 60.\n */\n @Input() public hourSegments = 2;\n /**\n * Whether to open the current day's details right away in month view.\n */\n @Input() public activeDayIsOpen = false;\n /**\n * The view mode for the agenda.\n */\n @Input() public view: CalendarView = CalendarView.Week;\n /**\n * Whether to block any day/slot in the past.\n */\n @Input() public onlyFuture = false;\n /**\n * URL to the fallback avatar to show in case the avatar of an event isn't found.\n */\n @Input() public fallbackAvatar: string;\n /**\n * Trigger when an event is selected.\n */\n @Output() public selectEvent = new EventEmitter<AgendaEvent>();\n /**\n * Trigger when a day is selected.\n */\n @Output() public selectDay = new EventEmitter<Date>();\n /**\n * Trigger when a time slot is selected.\n */\n @Output() public selectSlot = new EventEmitter<Date>();\n /**\n * Trigger when an event changed date (drag&drop or resize).\n */\n @Output() public changeEvent = new EventEmitter<AgendaEvent>();\n /**\n * Trigger when the view date of reference changed (because we moved inside the calendar).\n */\n @Output() public changeDate = new EventEmitter<Date>();\n /**\n * Helper to use the enum in the UX.\n */\n public CalendarView = CalendarView;\n /**\n * The currently selected date.\n */\n public viewDate: Date = new Date();\n /**\n * A controller to refresh the current view.\n */\n public refresh: Subject<any> = new Subject();\n /**\n * The locale used to format dates.\n * @hide\n */\n public locale: string;\n /**\n * The starting day for the week, according to the locale (0 = sunday).\n * @hide\n */\n public weekStartsOn: number;\n /**\n * Helper to use the enum in the UI.\n */\n public Attendance = EventAttendance;\n\n constructor(public platform: Platform, public tc: IDEATinCanService, public t: IDEATranslationsService) {}\n public ngOnInit() {\n this.locale = this.t.getCurrentLang();\n // in case of Italian locale the starting day for the week is monday (1), otherwise sunday (0)\n this.weekStartsOn = this.locale === 'it' ? 1 : 0;\n }\n\n /**\n * Run some checks before the month view is rendered (e.g. disable invalid days).\n */\n public beforeMonthViewRender({ body }: { body: CalendarMonthViewDay[] }) {\n body.forEach(day => {\n if (!this.dateIsValid(day.date, true)) day.cssClass = 'cal-disabled';\n });\n }\n /**\n * Run some checks before the weel/day view is rendered (e.g. disable invalid days).\n */\n public beforeWeekOrDayViewRender({ header }: { header: any }) {\n header.forEach((day: any) => {\n if (!this.dateIsValid(day.date, true)) day.cssClass = 'cal-disabled';\n });\n }\n\n /**\n * Check whether a date is valid based on the configured parameters.\n */\n public dateIsValid(date: Date, sameDayIsValid?: boolean): boolean {\n if (!this.onlyFuture) return true;\n return isFuture(date) || (sameDayIsValid ? isToday(date) : false);\n }\n\n /**\n * Change the current view for the agenda.\n */\n public setView(view: CalendarView) {\n this.view = view;\n }\n\n /**\n * Emit the change of the view date and close the detail component of the month view, if needed.\n */\n public viewDateChanged(newDate: Date) {\n if (this.view === CalendarView.Month) this.activeDayIsOpen = false;\n this.changeDate.emit(newDate);\n }\n\n /**\n * A day was selected: manage the detailed view.\n */\n public changeDay({ date, events }: { date: Date; events: AgendaEvent[] }) {\n // skip if the date isn't valid\n if (!this.dateIsValid(date, true)) return;\n // if the selected day changed, if the new day has events, open the details in month view (otherwise close them)\n if ((isSameDay(this.viewDate, date) && this.activeDayIsOpen === true) || !events || events.length === 0)\n this.activeDayIsOpen = false;\n else this.activeDayIsOpen = true;\n // update the current date in the agenda\n this.viewDate = date;\n }\n\n /**\n * The time of an event was changed.\n */\n public eventTimesChanged({ event, newStart, newEnd }: CalendarEventTimesChangedEvent) {\n // update the event\n event.start = newStart;\n event.end = newEnd;\n // re-map the array to trigger the UI refresh\n this.events = this.events.slice();\n // trigger the event to the parent component\n this.changeEvent.emit(event);\n }\n\n /**\n * Given a color, it returns an opaque version of it.\n */\n public getAlternateColor(color: string, amount: number, opacity?: number): string {\n const alt = ColorParse(color);\n const r = Math.max(Math.min(255, Number(alt.values[0]) + amount), 0);\n const g = Math.max(Math.min(255, Number(alt.values[1]) + amount), 0);\n const b = Math.max(Math.min(255, Number(alt.values[2]) + amount), 0);\n return `rgba(${r}, ${g}, ${b}, ${opacity || 1})`;\n }\n\n /**\n * Get the content of the tooltip based on the event.\n */\n public getTooltipContent(event: AgendaEvent): string {\n if (!event) return '';\n let str = event.title ? '<b>' + event.title + '</b>' : '';\n if (event.description) str = str.concat('<br>', event.description);\n if (event.icons) event.icons.forEach(x => (str = str.concat('<br>', '<i>', x.title, '</i>')));\n if (event.avatars && event.avatars.length) {\n str = str.concat('<br><br>~');\n event.avatars.forEach(x => (str = str.concat('<br>', x.title)));\n }\n return str;\n }\n\n /**\n * Get a shortened version of the description as preview.\n */\n public getPreviewDescription(description: string): string {\n return description && description.length > 100 ? description.slice(0, 100).concat('...') : description;\n }\n\n /**\n * Load a fallback url when the avatar is missing.\n */\n public loadFallbackAvatar(targetImg: any) {\n const fallback = this.fallbackAvatar || AVATAR_FALLBACK_URL;\n if (targetImg && targetImg.src !== fallback) targetImg.src = fallback;\n }\n}\n\n/**\n * A richer version of the classic CalendarEvent.\n */\nexport interface AgendaEvent extends CalendarEvent {\n /**\n * A brief description for the event (e.g. customer, address, etc.).\n */\n description?: string;\n /**\n * The location of the event.\n */\n location?: string;\n /**\n * A list of URLs of images to show as small avatars.\n */\n avatars?: { id: string; url: string; title: string }[];\n /**\n * A list of ion-icons to show.\n */\n icons?: { name: string; title: string }[];\n /**\n * Whether the event is external; external events are less important UI-wise.\n */\n external?: boolean;\n /**\n * The attendance status to this event, if any.\n */\n attendance?: EventAttendance;\n /**\n * A standard and unique id for the event, valid across multiple sources.\n */\n iCalUID?: string;\n}\n\n/**\n * Possible attendance statuses for the event.\n */\nexport enum EventAttendance {\n DECLINED = -1,\n NEEDS_ACTION = 0,\n TENTATIVE,\n ACCEPTED\n}\n","import { Injectable } from '@angular/core';\nimport { AlertController, ModalController } from '@ionic/angular';\nimport { Plugins } from '@capacitor/core';\nconst { Browser } = Plugins;\nimport { Calendar, ExternalCalendarSources, Suggestion } from 'idea-toolbox';\nimport {\n IDEALoadingService,\n IDEAAWSAPIService,\n IDEAMessageService,\n IDEATranslationsService,\n IDEASuggestionsComponent\n} from '@idea-ionic/common';\n\n// from idea-config.js\ndeclare const IDEA_MICROSOFT_API_CLIENT_ID: string;\ndeclare const IDEA_MICROSOFT_API_SCOPE: string;\ndeclare const IDEA_GOOGLE_API_CLIENT_ID: string;\ndeclare const IDEA_GOOGLE_API_SCOPE: string;\ndeclare const IDEA_APP_URL: string;\n\n/**\n * Note: to test locally, you need to temporarily change the redirect URI:\n * - in the lambda `idea_calendars`, e.g. `SCARLETT_URL`;\n * - in the client config file: `APP_URL`.\n * In both cases, the value should be set to `http://localhost:8100` (or according to the local URL).\n */\n@Injectable()\nexport class IDEACalendarsService {\n constructor(\n public modalCtrl: ModalController,\n public alertCtrl: AlertController,\n public message: IDEAMessageService,\n public loading: IDEALoadingService,\n public API: IDEAAWSAPIService,\n public t: IDEATranslationsService\n ) {}\n\n /**\n * Get the ion-icon of an external service from its name.\n */\n public getServiceIcon(service: ExternalCalendarSources): string {\n switch (service) {\n case ExternalCalendarSources.GOOGLE:\n return 'logo-google';\n case ExternalCalendarSources.MICROSOFT:\n return 'logo-windows';\n default:\n return 'help';\n }\n }\n /**\n * Get the base URL for API request (shared/private calendar).\n */\n public getRequestURL(calendar: Calendar): string {\n return (calendar.teamId ? `teams/${calendar.teamId}/` : '').concat('calendars');\n }\n\n /**\n * Create a new calendar.\n */\n public postCalendar(cal: Calendar): Promise<Calendar> {\n return new Promise((resolve, reject) => {\n this.API.postResource(this.getRequestURL(cal), { idea: true, body: cal })\n .then((res: Calendar) => resolve(new Calendar(res)))\n .catch(err => reject(err));\n });\n }\n /**\n * Update an existing calendar.\n */\n public putCalendar(cal: Calendar): Promise<Calendar> {\n return new Promise((resolve, reject) => {\n this.API.putResource(this.getRequestURL(cal), { idea: true, resourceId: cal.calendarId, body: cal })\n .then((res: Calendar) => resolve(new Calendar(res)))\n .catch(err => reject(err));\n });\n }\n /**\n * Delete a calendar.\n */\n public deleteCalendar(cal: Calendar): Promise<void> {\n return new Promise((resolve, reject) => {\n this.API.deleteResource(this.getRequestURL(cal), { idea: true, resourceId: cal.calendarId })\n .then(() => resolve())\n .catch(err => reject(err));\n });\n }\n /**\n * Associate an external calendar with the given calendar.\n */\n public setExternalCalendar(cal: Calendar, externalId: string): Promise<Calendar> {\n return new Promise((resolve, reject) => {\n this.API.patchResource(this.getRequestURL(cal), {\n idea: true,\n resourceId: cal.calendarId,\n body: { action: 'SET_EXTERNAL_CALENDAR', externalId }\n })\n .then(res => resolve(new Calendar(res)))\n .catch(err => reject(err));\n });\n }\n\n /**\n * Link the calendar with the chosen external service (auth flow).\n */\n public linkExtService(cal: Calendar): Promise<void> {\n return new Promise((resolve, reject) => {\n if (!cal.external) return reject(new Error('NOT_EXTERNAL'));\n let url: string;\n switch (cal.external.service) {\n case ExternalCalendarSources.GOOGLE:\n url =\n 'https://accounts.google.com/o/oauth2/v2/auth?' +\n `client_id=${encodeURIComponent(IDEA_GOOGLE_API_CLIENT_ID)}` +\n '&response_type=code' +\n `&redirect_uri=${encodeURIComponent(IDEA_APP_URL.concat('/echo/google-calendars-integration'))}` +\n '&include_granted_scopes=true' +\n '&access_type=offline&prompt=consent' +\n `&scope=${encodeURIComponent(IDEA_GOOGLE_API_SCOPE)}` +\n `&state=${encodeURIComponent(cal.calendarId)}`;\n break;\n case ExternalCalendarSources.MICROSOFT:\n url =\n 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize?' +\n `client_id=${encodeURIComponent(IDEA_MICROSOFT_API_CLIENT_ID)}` +\n '&response_type=code' +\n `&redirect_uri=${encodeURIComponent(IDEA_APP_URL.concat('/echo/microsoft-calendars-integration'))}` +\n '&response_mode=query' +\n `&scope=${encodeURIComponent(IDEA_MICROSOFT_API_SCOPE)}` +\n `&state=${encodeURIComponent(cal.calendarId)}`;\n break;\n }\n if (!url) return reject(new Error('INVALID_SERVICE'));\n // start the auth flow in the browser\n Browser.open({ url }).then(() => {\n // since we don't know when/if the auth flow will finish, we wait\n this.alertCtrl\n .create({\n header: this.t._('IDEA_AGENDA.CALENDARS.LINKING_CALENDAR'),\n message: this.t._('IDEA_AGENDA.CALENDARS.LINKING_CALENDAR_CONFIRM_ONCE_DONE'),\n backdropDismiss: false,\n buttons: [{ text: this.t._('COMMON.DONE'), handler: () => resolve() }]\n })\n .then(alert => alert.present());\n });\n });\n }\n\n /**\n * Get the external calendars list of the external service.\n */\n public getExternalCalendars(cal: Calendar): Promise<ExtCalendar[]> {\n return new Promise((resolve, reject) => {\n if (!cal.external) return reject(new Error('NOT_EXTERNAL'));\n // get the access token to make requests; in case it fails, proceed to link the external service\n this.API.patchResource(this.getRequestURL(cal), {\n idea: true,\n resourceId: cal.calendarId,\n body: { action: 'GET_ACCESS_TOKEN' }\n })\n .then((result: any) => {\n // prepare the headers (authorization) for the request to the external service\n const headers = { Authorization: 'Bearer '.concat(result.token) };\n // acquire and return the calendars\n switch (cal.external.service) {\n case ExternalCalendarSources.GOOGLE:\n this.API.rawRequest()\n .get('https://www.googleapis.com/calendar/v3/users/me/calendarList', { headers })\n .toPromise()\n .then((res: any) => resolve(res.items.map((c: any) => ({ name: c.summary, id: c.id } as ExtCalendar))))\n .catch(err => reject(err));\n break;\n case ExternalCalendarSources.MICROSOFT:\n this.API.rawRequest()\n .get('https://graph.microsoft.com/v1.0/me/calendars', { headers })\n .toPromise()\n .then((res: any) => resolve(res.value.map((c: any) => ({ name: c.name, id: c.id } as ExtCalendar))))\n .catch(err => reject(err));\n break;\n }\n })\n .catch(err => reject(err));\n });\n }\n\n /**\n * If the external service is linked, choose an external calendar and set it for the chosen calendar.\n * @return the updated calendar.\n */\n public chooseAndSetExternalCalendar(cal: Calendar): Promise<Calendar> {\n return new Promise((resolve, reject) => {\n this.openModalAndPickExternalCalendar(cal)\n .then(extCalId => {\n // the external calendar will be set later on\n if (!extCalId) return resolve(null);\n // an external calendar was chosen: set it right away\n this.setExternalCalendar(cal, extCalId)\n .then(res => resolve(res))\n .catch(err => reject(err));\n })\n .catch(err => reject(err));\n });\n }\n /**\n * Open the modal to pick a calendar from the external service.\n * @return the id of the external calendar.\n */\n private async openModalAndPickExternalCalendar(cal: Calendar): Promise<string> {\n await this.loading.show();\n return new Promise((resolve, reject) => {\n this.getExternalCalendars(cal)\n .then((extCals: ExtCalendar[]) => {\n if (!extCals.length) return reject(new Error('NO_EXTERNAL_CALENDARS'));\n // let the user to choose the external calendar to associate\n this.modalCtrl\n .create({\n component: IDEASuggestionsComponent,\n componentProps: {\n data: extCals.map(c => new Suggestion({ value: c.id, name: c.name })),\n searchPlaceholder: this.t._('IDEA_AGENDA.CALENDARS.CHOOSE_AN_EXTERNAL_CALENDAR_TO_LINK'),\n sortData: true,\n hideIdFromUI: true,\n hideClearButton: true,\n mustChoose: true\n },\n backdropDismiss: false\n })\n .then(modal => {\n modal.onDidDismiss().then(res => resolve(res.data ? res.data.value : null));\n modal.present();\n });\n })\n .catch(err => reject(err))\n .finally(() => this.loading.hide());\n });\n }\n\n /**\n * First sync of the extenal calendar.\n */\n public syncCalendar(cal: Calendar): Promise<void> {\n return new Promise((resolve, reject) => this.syncCalendarHelper(cal, err => (err ? reject(err) : resolve())));\n }\n /**\n * Helper to recursively sync an the extenal calendar.\n */\n private syncCalendarHelper(cal: Calendar, done: (err?: Error) => void) {\n // this is a recursive operation: the API returns if the sync has to continue or it finished\n this.API.patchResource(this.getRequestURL(cal), {\n idea: true,\n resourceId: cal.calendarId,\n body: { action: 'SYNC_EXTERNAL_CALENDAR', firstSync: true }\n })\n .then((res: any) => {\n if (res.moreData) this.syncCalendarHelper(cal, done);\n else done();\n })\n .catch(err => done(err));\n }\n}\n\n/**\n * Helper structure to define external services' calendars (basic info).\n */\ninterface ExtCalendar {\n id: string;\n name: string;\n}\n","import { Component, Input } from '@angular/core';\nimport { ModalController, AlertController } from '@ionic/angular';\nimport { Calendar, Check, Membership } from 'idea-toolbox';\nimport {\n IDEALoadingService,\n IDEAAWSAPIService,\n IDEATinCanService,\n IDEAMessageService,\n IDEATranslationsService\n} from '@idea-ionic/common';\n\nimport { IDEACalendarsService } from './calendars.service';\n\n@Component({\n selector: 'idea-calendar',\n templateUrl: 'calendar.component.html',\n styleUrls: ['calendar.component.scss']\n})\nexport class IDEACalendarComponent {\n /**\n * The calendar to manage.\n */\n @Input() public calendar: Calendar;\n /**\n * Whether we want to enable advanced permissions (based on the memberships) on the calendar.\n */\n @Input() public advancedPermissions: boolean;\n /**\n * Whether the calendar color is an important detail or it shouldn't be shown.\n */\n @Input() public hideColor: boolean;\n\n /**\n * Working copy of the calendar, to update only when confirmed.\n */\n public _calendar: Calendar;\n /**\n * Helper to allow selecting memberships.\n */\n public membershipsChecks: Check[];\n /**\n * The current membership.\n */\n public membership: Membership;\n /**\n * Errors while validating the entity.\n */\n public errors: Set<string> = new Set<string>();\n /**\n * The default color for a calendar.\n */\n public DEFAULT_COLOR = '#555';\n\n constructor(\n public calendars: IDEACalendarsService,\n public modalCtrl: ModalController,\n public alertCtrl: AlertController,\n public tc: IDEATinCanService,\n public loading: IDEALoadingService,\n public message: IDEAMessageService,\n public API: IDEAAWSAPIService,\n public t: IDEATranslationsService\n ) {}\n public ngOnInit() {\n this.membership = this.tc.get('membership');\n // work on a copy\n this._calendar = new Calendar(this.calendar);\n // load the teammates to use for shared calendars permissions\n this.API.getResource(`teams/${this.membership.teamId}/memberships`)\n .then(\n (memberships: Membership[]) =>\n (this.membershipsChecks = memberships.map(\n m =>\n new Check({\n value: m.userId,\n name: m.name,\n checked: (this._calendar.usersCanManageAppointments || []).some(x => x === m.userId)\n })\n ))\n )\n .catch(() => {});\n }\n\n /**\n * Set the support array to display errors in the UI.\n */\n public hasFieldAnError(field: string): boolean {\n return this.errors.has(field);\n }\n\n /**\n * Save a calendar with the new info.\n */\n public async save() {\n // set the default color, in case none was selected\n if (!this._calendar.color) this._calendar.color = this.DEFAULT_COLOR;\n // map the memberships able to manage appointments\n if (this._calendar.isShared() && this.advancedPermissions)\n this._calendar.usersCanManageAppointments = this.membershipsChecks\n .filter(x => x.checked)\n .map(x => String(x.value));\n else delete this._calendar.usersCanManageAppointments;\n // checkings\n this.errors = new Set(this._calendar.validate());\n if (this.errors.size) return this.message.error('COMMON.FORM_HAS_ERROR_TO_CHECK');\n // send a put request\n await this.loading.show();\n this.calendars\n .putCalendar(this._calendar)\n .then((res: Calendar) => {\n this.calendar.load(res);\n this.message.success('IDEA_AGENDA.CALENDARS.CALENDAR_SAVED');\n this.modalCtrl.dismiss(this.calendar);\n })\n .catch(() => this.message.error('COMMON.OPERATION_FAILED'))\n .finally(() => this.loading.hide());\n }\n\n /**\n * Delete the calendar.\n */\n public delete() {\n this.alertCtrl\n .create({\n header: this.t._('COMMON.ARE_YOU_SURE'),\n subHeader: this.t._('IDEA_AGENDA.CALENDARS.DELETE_CALENDAR'),\n message: this.t._('IDEA_AGENDA.CALENDARS.DELETE_CALENDAR_HINT'),\n buttons: [\n { text: this.t._('COMMON.CANCEL'), role: 'cancel' },\n {\n text: this.t._('COMMON.DELETE'),\n handler: async () => {\n await this.loading.show();\n this.calendars\n .deleteCalendar(this._calendar)\n .then(() => {\n this.message.success('IDEA_AGENDA.CALENDARS.CALENDAR_DELETED');\n this.modalCtrl.dismiss(true);\n })\n .catch(() => this.message.error('COMMON.OPERATION_FAILED'))\n .finally(() => this.loading.hide());\n }\n }\n ]\n })\n .then(alert => alert.present());\n }\n\n /**\n * Close the component.\n */\n public close() {\n this.modalCtrl.dismiss();\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlertController, ModalController } from '@ionic/angular';\nimport { Calendar } from 'idea-toolbox';\nimport { IDEALoadingService, IDEAMessageService, IDEATranslationsService } from '@idea-ionic/common';\n\nimport { IDEACalendarsService } from './calendars.service';\nimport { IDEACalendarComponent } from './calendar.component';\n\n@Component({\n selector: 'idea-calendar-item',\n templateUrl: 'calendarItem.component.html',\n styleUrls: ['calendarItem.component.scss']\n})\nexport class IDEACalendarItemComponent {\n /**\n * The calendar to show.\n */\n @Input() public calendar: Calendar;\n /**\n * Whether the component is disabled.\n */\n @Input() public disabled: boolean;\n /**\n * Whether we want to enable advanced permissions (based on the memberships) on the calendar.\n */\n @Input() public advancedPermissions: boolean;\n /**\n * Whether the calendar color is an important detail or it shouldn't be shown.\n */\n @Input() public hideColor: boolean;\n /**\n * Report to parent components a change.\n */\n @Output() public somethingChanged = new EventEmitter<Calendar>();\n\n constructor(\n public calendars: IDEACalendarsService,\n public alertCtrl: AlertController,\n public modalCtrl: ModalController,\n public message: IDEAMessageService,\n public loading: IDEALoadingService,\n public t: IDEATranslationsService\n ) {}\n\n /**\n * Open the modal to manage the calendar.\n */\n public manageCalendar() {\n if (this.disabled) return;\n this.modalCtrl\n .create({\n component: IDEACalendarComponent,\n componentProps: {\n calendar: this.calendar,\n advancedPermissions: this.advancedPermissions,\n hideColor: this.hideColor\n }\n })\n .then(modal => {\n modal.onDidDismiss().then(res => {\n const cal = res.data;\n // nothing changed\n if (cal === undefined) return;\n // the calendar was deleted\n else if (cal === null) this.calendar = null;\n // the calendar was updated\n else this.calendar.load(cal);\n // report changes to parent components\n this.somethingChanged.emit();\n });\n modal.present();\n });\n }\n\n /**\n * Continue the auth flow to link an external service and set an external calendar;\n * otherwise, the calendar can be deleted.\n */\n public linkExtCalendarOrDelete() {\n if (this.disabled) return;\n // let the user pick an external calendar, in case the external service is linked\n this.calendars\n .chooseAndSetExternalCalendar(this.calendar)\n .then(async cal => {\n if (!cal) return new Error('NO_EXTERNAL_CALENDAR_CHOSEN');\n this.calendar.load(cal);\n this.message.success('IDEA_AGENDA.CALENDARS.CALENDAR_LINKED');\n // run a first sync for the linked external calendar\n await this.loading.show(this.t._('IDEA_AGENDA.CALENDARS.FIRST_SYNC_MAY_TAKE_A_WHILE'));\n this.calendars\n .syncCalendar(this.calendar)\n .then(() => this.message.success('IDEA_AGENDA.CALENDARS.FIRST_SYNC_COMPLETED'))\n .catch(() => this.message.error('COMMON.OPERATION_FAILED'))\n .finally(() => {\n this.loading.hide();\n // report changes to parent components\n this.somethingChanged.emit();\n });\n })\n .catch(() => {\n // the external service isn't linked yet (we don't have a token): link or delete\n this.alertCtrl\n .create({\n header: this.t._('IDEA_AGENDA.CALENDARS.CALENDAR_NOT_YET_LINKED'),\n message: this.t._('IDEA_AGENDA.CALENDARS.DO_YOU_WANT_PROCEED_LINKING_OR_DELETE'),\n buttons: [\n {\n text: this.t._('COMMON.DELETE'),\n handler: async () => {\n // request the calendar deletion\n await this.loading.show();\n this.calendars\n .deleteCalendar(this.calendar)\n .then(() => {\n this.message.success('COMMON.OPERATION_COMPLETED');\n // report changes to parent components\n this.somethingChanged.emit();\n })\n .catch(() => this.message.error('COMMON.OPERATION_FAILED'))\n .finally(() => this.loading.hide());\n }\n },\n {\n text: this.t._('IDEA_AGENDA.CALENDARS.LINK'),\n handler: () =>\n // try again to link the service\n this.calendars\n .linkExtService(this.calendar)\n // if the service was successfully linked, go recursive to choose and set the external calendar\n .then(() => this.linkExtCalendarOrDelete())\n .catch(() => this.message.error('COMMON.OPERATION_FAILED'))\n }\n ]\n })\n .then(alert => alert.present());\n });\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { ModalController } from '@ionic/angular';\nimport { Calendar, ExternalCalendarInfo, ExternalCalendarSources, Membership } from 'idea-toolbox';\nimport {\n IDEALoadingService,\n IDEAAWSAPIService,\n IDEATinCanService,\n IDEAMessageService,\n IDEATranslationsService\n} from '@idea-ionic/common';\n\nimport { IDEACalendarsService } from './calendars.service';\n\n@Component({\n selector: 'idea-calendar-creation',\n templateUrl: 'calendarCreation.component.html',\n styleUrls: ['calendarCreation.component.scss']\n})\nexport class IDEACalendarCreationComponent {\n /**\n * Whether we want to allow the creation of only a particular type of calendar, based on the scope.\n */\n @Input() public fixScope: CalendarScopes;\n /**\n * Whether we want to allow the creation of local calendars.\n */\n @Input() public onlyExternalCalendars: boolean;\n /**\n * The current membership (generic).\n */\n public membership: Membership;\n /**\n * The calendar to create.\n */\n public calendar: Calendar;\n /**\n * The default color for a new calendar.\n */\n public DEFAULT_COLOR = '#555';\n /**\n * The possible external services for the new calendar.\n */\n public SOURCES = Object.keys(ExternalCalendarSources);\n\n constructor(\n public calendars: IDEACalendarsService,\n public modalCtrl: ModalController,\n public tc: IDEATinCanService,\n public loading: IDEALoadingService,\n public message: IDEAMessageService,\n public API: IDEAAWSAPIService,\n public t: IDEATranslationsService\n ) {}\n public ngOnInit() {\n this.calendar = new Calendar();\n this.membership = this.tc.get('membership');\n if (this.fixScope === CalendarScopes.SHARED) this.calendar.teamId = this.membership.teamId;\n if (this.fixScope === CalendarScopes.PRIVATE) this.calendar.userId = this.membership.userId;\n }\n\n /**\n * If allowed by the component configuration, reset the scope of the calendar (private/shared).\n */\n public resetScope() {\n if (this.canChangeScope()) this.calendar.teamId = this.calendar.userId = null;\n }\n /**\n * Whether we can change the scope of the calendar (private/shared).\n */\n public canChangeScope(): boolean {\n return !this.fixScope && this.scopeIsSet();\n }\n /**\n * Whether the scope has been set already.\n */\n public scopeIsSet(): boolean {\n return Boolean(this.calendar.userId) || Boolean(this.calendar.teamId);\n }\n\n /**\n * Add a new calendar based on the configuration set.\n */\n public async saveNewCalendar(service?: ExternalCalendarSources) {\n // be sure the scope of the calendar was chosen\n if (!this.scopeIsSet()) return;\n // be sure we are allowed to create the calendar\n if (!service && this.onlyExternalCalendars) return;\n // flag the calendar so it has to be linked to an externals service (the procedure follows the creation)\n if (service) {\n this.calendar.external = new ExternalCalendarInfo({ service });\n this.calendar.name = '-'; // it will be substituted with the external name\n } else {\n // default values for local calendars\n this.calendar.name = this.calendar.userId\n ? this.t._('IDEA_AGENDA.CALENDARS.DEFAULT_PERSONAL_CALENDAR_NAME')\n : this.t._('IDEA_AGENDA.CALENDARS.DEFAULT_TEAM_CALENDAR_NAME');\n this.calendar.color = this.DEFAULT_COLOR;\n }\n // save (create) the new calendar\n await this.loading.show();\n this.calendars\n .postCalendar(this.calendar)\n .then(cal => {\n this.calendar.load(cal);\n this.message.success('IDEA_AGENDA.CALENDARS.CALENDAR_CREATED');\n // if the calendar is local, no further action is needed\n if (!cal.external) return this.modalCtrl.dismiss(this.calendar);\n // if the calendar should be linked to an external service, proceed\n this.calendars\n .linkExtService(this.calendar)\n // if the link was successful, let the user pick an external calendar to set\n .then(() => this.calendars.chooseAndSetExternalCalendar(this.calendar))\n .then(async res => {\n // if a calendar wasn't set, it can be done later on\n if (!res) return this.modalCtrl.dismiss(this.calendar);\n // if an external calendar was set, update the calendar\n this.calendar.load(res);\n // run a first sync for the linked external calendar\n await this.loading.show(this.t._('IDEA_AGENDA.CALENDARS.FIRST_SYNC_MAY_TAKE_A_WHILE'));\n this.calendars\n .syncCalendar(this.calendar)\n .then(() => this.message.success('IDEA_AGENDA.CALENDARS.FIRST_SYNC_COMPLETED'))\n .catch(() => this.message.error('COMMON.OPERATION_FAILED'))\n .finally(() => {\n this.loading.hide();\n // the calendar is ready to go\n this.modalCtrl.dismiss(this.calendar);\n });\n })\n .catch(() => {\n this.message.error('COMMON.OPERATION_FAILED');\n // the operation can be retried later on; close the modal anyway\n this.modalCtrl.dismiss(this.calendar);\n });\n })\n .catch(() => this.message.error('COMMON.OPERATION_FAILED'))\n .finally(() => this.loading.hide());\n }\n\n /**\n * Close the component.\n */\n public close() {\n this.modalCtrl.dismiss();\n }\n}\n\n/**\n * The possible scopes of the calendar.\n */\nexport enum CalendarScopes {\n SHARED = 'shared', // teamId\n PRIVATE = 'private' // userId\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { IonicModule } from '@ionic/angular';\n\nimport { CalendarDateFormatter, CalendarModule, DateAdapter } from 'angular-calendar';\nimport { adapterFactory } from 'angular-calendar/date-adapters/date-fns';\nimport { CustomDateFormatter } from './dateFormatter.provider';\n\nimport { IDEATranslationsModule, IDEAColorPickerModule, IDEACheckerModule } from '@idea-ionic/common';\n\nimport { IDEAAgendaComponent } from './agenda.component';\nimport { IDEACalendarComponent } from './calendar.component';\nimport { IDEACalendarItemComponent } from './calendarItem.component';\nimport { IDEACalendarCreationComponent } from './calendarCreation.component';\n\nimport { IDEACalendarsService } from './calendars.service';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n IDEATranslationsModule,\n IDEAColorPickerModule,\n IDEACheckerModule,\n CalendarModule.forRoot({ provide: DateAdapter, useFactory: adapterFactory })\n ],\n declarations: [IDEAAgendaComponent, IDEACalendarComponent, IDEACalendarItemComponent, IDEACalendarCreationComponent],\n entryComponents: [\n IDEAAgendaComponent,\n IDEACalendarComponent,\n IDEACalendarItemComponent,\n IDEACalendarCreationComponent\n ],\n exports: [IDEAAgendaComponent, IDEACalendarComponent, IDEACalendarItemComponent, IDEACalendarCreationComponent],\n providers: [{ provide: CalendarDateFormatter, useClass: CustomDateFormatter }, IDEACalendarsService]\n})\nexport class IDEAAgendaModule {}\n"],"names":["formatDate","CalendarDateFormatter","Injectable","CalendarView","EventEmitter","Subject","EventAttendance","isFuture","isToday","isSameDay","ColorParse","Component","ChangeDetectionStrategy","Platform","IDEATinCanService","IDEATranslationsService","Input","Output","Plugins","ExternalCalendarSources","Calendar","IDEASuggestionsComponent","Suggestion","ModalController","AlertController","IDEAMessageService","IDEALoadingService","IDEAAWSAPIService","Check","CalendarScopes","ExternalCalendarInfo","adapterFactory","NgModule","CommonModule","FormsModule","IonicModule","IDEATranslationsModule","IDEAColorPickerModule","IDEACheckerModule","CalendarModule","DateAdapter"],"mappings":"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"}
1
+ {"version":3,"file":"idea-ionic-agenda.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../modules/agenda/src/dateFormatter.provider.ts","../../../modules/agenda/src/agenda.component.ts","../../../modules/agenda/src/calendars.service.ts","../../../modules/agenda/src/calendar.component.ts","../../../modules/agenda/src/calendarItem.component.ts","../../../modules/agenda/src/calendarCreation.component.ts","../../../modules/agenda/src/agenda.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { formatDate } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { CalendarDateFormatter, DateFormatterParams } from 'angular-calendar';\n\n@Injectable()\nexport class CustomDateFormatter extends CalendarDateFormatter {\n // MONTH VIEW\n public monthViewColumnHeader({ date, locale }: DateFormatterParams): string {\n return formatDate(date, 'EEE', locale);\n }\n public monthViewTitle({ date, locale }: DateFormatterParams): string {\n return formatDate(date, 'MMMM y', locale);\n }\n // WEEK VIEW\n public weekViewHour({ date, locale }: DateFormatterParams): string {\n return locale === 'it' ? formatDate(date, 'HH:mm', locale) : formatDate(date, 'h aa', locale);\n }\n public weekViewColumnHeader({ date, locale }: DateFormatterParams): string {\n return formatDate(date, 'EEE', locale);\n }\n public weekViewTitle({ date, locale }: DateFormatterParams): string {\n return formatDate(date, 'MMMM yyyy', locale);\n }\n // DAY VIEW\n public dayViewHour({ date, locale }: DateFormatterParams): string {\n return locale === 'it' ? formatDate(date, 'HH:mm', locale) : formatDate(date, 'h aa', locale);\n }\n public dayViewTitle({ date, locale }: DateFormatterParams): string {\n return locale === 'it'\n ? formatDate(date, 'EEEE, dd MMM yyyy', locale)\n : formatDate(date, 'EEEE, MMM dd, yyyy', locale);\n }\n}\n","import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter } from '@angular/core';\nimport { Platform } from '@ionic/angular';\nimport { Subject } from 'rxjs';\nimport { CalendarEvent, CalendarEventTimesChangedEvent, CalendarMonthViewDay, CalendarView } from 'angular-calendar';\nimport { isFuture, isToday, isSameDay } from 'date-fns';\n// @ts-ignore\nimport ColorParse from 'color-parse';\nimport { IDEATinCanService, IDEATranslationsService } from '@idea-ionic/common';\n\n/**\n * A local fallback URL for the avatars.\n */\nconst AVATAR_FALLBACK_URL = './assets/imgs/no-avatar.jpg';\n\n@Component({\n selector: 'idea-agenda',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: 'agenda.component.html',\n styleUrls: ['agenda.component.scss']\n})\nexport class IDEAAgendaComponent {\n /**\n * The events to display in the calendar.\n */\n @Input() public events: AgendaEvent[] = [];\n /**\n * An array of day indexes (0 = sunday, 1 = monday, etc.) that will be hidden on the view.\n */\n @Input() public excludeDays: number[] = [];\n /**\n * The day start hours in 24 hour time. Must be 0-23\n */\n @Input() public dayStartHour = 0;\n /**\n * The day start hours in 24 hour time. Must be 0-23\n */\n @Input() public dayEndHour = 23;\n /**\n * The number of segments in an hour. Must divide equally into 60.\n */\n @Input() public hourSegments = 2;\n /**\n * Whether to open the current day's details right away in month view.\n */\n @Input() public activeDayIsOpen = false;\n /**\n * The view mode for the agenda.\n */\n @Input() public view: CalendarView = CalendarView.Week;\n /**\n * Whether to block any day/slot in the past.\n */\n @Input() public onlyFuture = false;\n /**\n * URL to the fallback avatar to show in case the avatar of an event isn't found.\n */\n @Input() public fallbackAvatar: string;\n /**\n * Trigger when an event is selected.\n */\n @Output() public selectEvent = new EventEmitter<AgendaEvent>();\n /**\n * Trigger when a day is selected.\n */\n @Output() public selectDay = new EventEmitter<Date>();\n /**\n * Trigger when a time slot is selected.\n */\n @Output() public selectSlot = new EventEmitter<Date>();\n /**\n * Trigger when an event changed date (drag&drop or resize).\n */\n @Output() public changeEvent = new EventEmitter<AgendaEvent>();\n /**\n * Trigger when the view date of reference changed (because we moved inside the calendar).\n */\n @Output() public changeDate = new EventEmitter<Date>();\n /**\n * Helper to use the enum in the UX.\n */\n public CalendarView = CalendarView;\n /**\n * The currently selected date.\n */\n public viewDate: Date = new Date();\n /**\n * A controller to refresh the current view.\n */\n public refresh: Subject<any> = new Subject();\n /**\n * The locale used to format dates.\n * @hide\n */\n public locale: string;\n /**\n * The starting day for the week, according to the locale (0 = sunday).\n * @hide\n */\n public weekStartsOn: number;\n /**\n * Helper to use the enum in the UI.\n */\n public Attendance = EventAttendance;\n\n constructor(public platform: Platform, public tc: IDEATinCanService, public t: IDEATranslationsService) {}\n public ngOnInit() {\n this.locale = this.t.getCurrentLang();\n // in case of Italian locale the starting day for the week is monday (1), otherwise sunday (0)\n this.weekStartsOn = this.locale === 'it' ? 1 : 0;\n }\n\n /**\n * Run some checks before the month view is rendered (e.g. disable invalid days).\n */\n public beforeMonthViewRender({ body }: { body: CalendarMonthViewDay[] }) {\n body.forEach(day => {\n if (!this.dateIsValid(day.date, true)) day.cssClass = 'cal-disabled';\n });\n }\n /**\n * Run some checks before the weel/day view is rendered (e.g. disable invalid days).\n */\n public beforeWeekOrDayViewRender({ header }: { header: any }) {\n header.forEach((day: any) => {\n if (!this.dateIsValid(day.date, true)) day.cssClass = 'cal-disabled';\n });\n }\n\n /**\n * Check whether a date is valid based on the configured parameters.\n */\n public dateIsValid(date: Date, sameDayIsValid?: boolean): boolean {\n if (!this.onlyFuture) return true;\n return isFuture(date) || (sameDayIsValid ? isToday(date) : false);\n }\n\n /**\n * Change the current view for the agenda.\n */\n public setView(view: CalendarView) {\n this.view = view;\n }\n\n /**\n * Emit the change of the view date and close the detail component of the month view, if needed.\n */\n public viewDateChanged(newDate: Date) {\n if (this.view === CalendarView.Month) this.activeDayIsOpen = false;\n this.changeDate.emit(newDate);\n }\n\n /**\n * A day was selected: manage the detailed view.\n */\n public changeDay({ date, events }: { date: Date; events: AgendaEvent[] }) {\n // skip if the date isn't valid\n if (!this.dateIsValid(date, true)) return;\n // if the selected day changed, if the new day has events, open the details in month view (otherwise close them)\n if ((isSameDay(this.viewDate, date) && this.activeDayIsOpen === true) || !events || events.length === 0)\n this.activeDayIsOpen = false;\n else this.activeDayIsOpen = true;\n // update the current date in the agenda\n this.viewDate = date;\n }\n\n /**\n * The time of an event was changed.\n */\n public eventTimesChanged({ event, newStart, newEnd }: CalendarEventTimesChangedEvent) {\n // update the event\n event.start = newStart;\n event.end = newEnd;\n // re-map the array to trigger the UI refresh\n this.events = this.events.slice();\n // trigger the event to the parent component\n this.changeEvent.emit(event);\n }\n\n /**\n * Given a color, it returns an opaque version of it.\n */\n public getAlternateColor(color: string, amount: number, opacity?: number): string {\n const alt = ColorParse(color);\n const r = Math.max(Math.min(255, Number(alt.values[0]) + amount), 0);\n const g = Math.max(Math.min(255, Number(alt.values[1]) + amount), 0);\n const b = Math.max(Math.min(255, Number(alt.values[2]) + amount), 0);\n return `rgba(${r}, ${g}, ${b}, ${opacity || 1})`;\n }\n\n /**\n * Get the content of the tooltip based on the event.\n */\n public getTooltipContent(event: AgendaEvent): string {\n if (!event) return '';\n let str = event.title ? '<b>' + event.title + '</b>' : '';\n if (event.description) str = str.concat('<br>', event.description);\n if (event.icons) event.icons.forEach(x => (str = str.concat('<br>', '<i>', x.title, '</i>')));\n if (event.avatars && event.avatars.length) {\n str = str.concat('<br><br>~');\n event.avatars.forEach(x => (str = str.concat('<br>', x.title)));\n }\n return str;\n }\n\n /**\n * Get a shortened version of the description as preview.\n */\n public getPreviewDescription(description: string): string {\n return description && description.length > 100 ? description.slice(0, 100).concat('...') : description;\n }\n\n /**\n * Load a fallback url when the avatar is missing.\n */\n public loadFallbackAvatar(targetImg: any) {\n const fallback = this.fallbackAvatar || AVATAR_FALLBACK_URL;\n if (targetImg && targetImg.src !== fallback) targetImg.src = fallback;\n }\n}\n\n/**\n * A richer version of the classic CalendarEvent.\n */\nexport interface AgendaEvent extends CalendarEvent {\n /**\n * A brief description for the event (e.g. customer, address, etc.).\n */\n description?: string;\n /**\n * The location of the event.\n */\n location?: string;\n /**\n * A list of URLs of images to show as small avatars.\n */\n avatars?: { id: string; url: string; title: string }[];\n /**\n * A list of ion-icons to show.\n */\n icons?: { name: string; title: string }[];\n /**\n * Whether the event is external; external events are less important UI-wise.\n */\n external?: boolean;\n /**\n * The attendance status to this event, if any.\n */\n attendance?: EventAttendance;\n /**\n * A standard and unique id for the event, valid across multiple sources.\n */\n iCalUID?: string;\n}\n\n/**\n * Possible attendance statuses for the event.\n */\nexport enum EventAttendance {\n DECLINED = -1,\n NEEDS_ACTION = 0,\n TENTATIVE,\n ACCEPTED\n}\n","import { Injectable } from '@angular/core';\nimport { AlertController, ModalController } from '@ionic/angular';\nimport { Plugins } from '@capacitor/core';\nconst { Browser } = Plugins;\nimport { Calendar, ExternalCalendarSources, Suggestion } from 'idea-toolbox';\nimport {\n IDEALoadingService,\n IDEAAWSAPIService,\n IDEAMessageService,\n IDEATranslationsService,\n IDEASuggestionsComponent\n} from '@idea-ionic/common';\nimport { environment as env } from '@env';\n\n/**\n * Note: to test locally, you need to temporarily change the redirect URI:\n * - in the lambda `idea_calendars`, e.g. `SCARLETT_URL`;\n * - in the client config file: `APP_URL`.\n * In both cases, the value should be set to `http://localhost:8100` (or according to the local URL).\n */\n@Injectable()\nexport class IDEACalendarsService {\n constructor(\n public modalCtrl: ModalController,\n public alertCtrl: AlertController,\n public message: IDEAMessageService,\n public loading: IDEALoadingService,\n public API: IDEAAWSAPIService,\n public t: IDEATranslationsService\n ) {}\n\n /**\n * Get the ion-icon of an external service from its name.\n */\n public getServiceIcon(service: ExternalCalendarSources): string {\n switch (service) {\n case ExternalCalendarSources.GOOGLE:\n return 'logo-google';\n case ExternalCalendarSources.MICROSOFT:\n return 'logo-windows';\n default:\n return 'help';\n }\n }\n /**\n * Get the base URL for API request (shared/private calendar).\n */\n public getRequestURL(calendar: Calendar): string {\n return (calendar.teamId ? `teams/${calendar.teamId}/` : '').concat('calendars');\n }\n\n /**\n * Create a new calendar.\n */\n public postCalendar(cal: Calendar): Promise<Calendar> {\n return new Promise((resolve, reject) => {\n this.API.postResource(this.getRequestURL(cal), { idea: true, body: cal })\n .then((res: Calendar) => resolve(new Calendar(res)))\n .catch(err => reject(err));\n });\n }\n /**\n * Update an existing calendar.\n */\n public putCalendar(cal: Calendar): Promise<Calendar> {\n return new Promise((resolve, reject) => {\n this.API.putResource(this.getRequestURL(cal), { idea: true, resourceId: cal.calendarId, body: cal })\n .then((res: Calendar) => resolve(new Calendar(res)))\n .catch(err => reject(err));\n });\n }\n /**\n * Delete a calendar.\n */\n public deleteCalendar(cal: Calendar): Promise<void> {\n return new Promise((resolve, reject) => {\n this.API.deleteResource(this.getRequestURL(cal), { idea: true, resourceId: cal.calendarId })\n .then(() => resolve())\n .catch(err => reject(err));\n });\n }\n /**\n * Associate an external calendar with the given calendar.\n */\n public setExternalCalendar(cal: Calendar, externalId: string): Promise<Calendar> {\n return new Promise((resolve, reject) => {\n this.API.patchResource(this.getRequestURL(cal), {\n idea: true,\n resourceId: cal.calendarId,\n body: { action: 'SET_EXTERNAL_CALENDAR', externalId }\n })\n .then(res => resolve(new Calendar(res)))\n .catch(err => reject(err));\n });\n }\n\n /**\n * Link the calendar with the chosen external service (auth flow).\n */\n public linkExtService(cal: Calendar): Promise<void> {\n return new Promise((resolve, reject) => {\n if (!cal.external) return reject(new Error('NOT_EXTERNAL'));\n let url: string;\n switch (cal.external.service) {\n case ExternalCalendarSources.GOOGLE:\n url =\n 'https://accounts.google.com/o/oauth2/v2/auth?' +\n `client_id=${encodeURIComponent(env.google.apiClientId)}` +\n '&response_type=code' +\n `&redirect_uri=${encodeURIComponent(env.idea.app.url.concat('/echo/google-calendars-integration'))}` +\n '&include_granted_scopes=true' +\n '&access_type=offline&prompt=consent' +\n `&scope=${encodeURIComponent(env.google.apiScope)}` +\n `&state=${encodeURIComponent(cal.calendarId)}`;\n break;\n case ExternalCalendarSources.MICROSOFT:\n url =\n 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize?' +\n `client_id=${encodeURIComponent(env.microsoft.apiClientId)}` +\n '&response_type=code' +\n `&redirect_uri=${encodeURIComponent(env.idea.app.url.concat('/echo/microsoft-calendars-integration'))}` +\n '&response_mode=query' +\n `&scope=${encodeURIComponent(env.microsoft.apiScope)}` +\n `&state=${encodeURIComponent(cal.calendarId)}`;\n break;\n }\n if (!url) return reject(new Error('INVALID_SERVICE'));\n // start the auth flow in the browser\n Browser.open({ url }).then(() => {\n // since we don't know when/if the auth flow will finish, we wait\n this.alertCtrl\n .create({\n header: this.t._('IDEA_AGENDA.CALENDARS.LINKING_CALENDAR'),\n message: this.t._('IDEA_AGENDA.CALENDARS.LINKING_CALENDAR_CONFIRM_ONCE_DONE'),\n backdropDismiss: false,\n buttons: [{ text: this.t._('COMMON.DONE'), handler: () => resolve() }]\n })\n .then(alert => alert.present());\n });\n });\n }\n\n /**\n * Get the external calendars list of the external service.\n */\n public getExternalCalendars(cal: Calendar): Promise<ExtCalendar[]> {\n return new Promise((resolve, reject) => {\n if (!cal.external) return reject(new Error('NOT_EXTERNAL'));\n // get the access token to make requests; in case it fails, proceed to link the external service\n this.API.patchResource(this.getRequestURL(cal), {\n idea: true,\n resourceId: cal.calendarId,\n body: { action: 'GET_ACCESS_TOKEN' }\n })\n .then((result: any) => {\n // prepare the headers (authorization) for the request to the external service\n const headers = { Authorization: 'Bearer '.concat(result.token) };\n // acquire and return the calendars\n switch (cal.external.service) {\n case ExternalCalendarSources.GOOGLE:\n this.API.rawRequest()\n .get('https://www.googleapis.com/calendar/v3/users/me/calendarList', { headers })\n .toPromise()\n .then((res: any) => resolve(res.items.map((c: any) => ({ name: c.summary, id: c.id } as ExtCalendar))))\n .catch(err => reject(err));\n break;\n case ExternalCalendarSources.MICROSOFT:\n this.API.rawRequest()\n .get('https://graph.microsoft.com/v1.0/me/calendars', { headers })\n .toPromise()\n .then((res: any) => resolve(res.value.map((c: any) => ({ name: c.name, id: c.id } as ExtCalendar))))\n .catch(err => reject(err));\n break;\n }\n })\n .catch(err => reject(err));\n });\n }\n\n /**\n * If the external service is linked, choose an external calendar and set it for the chosen calendar.\n * @return the updated calendar.\n */\n public chooseAndSetExternalCalendar(cal: Calendar): Promise<Calendar> {\n return new Promise((resolve, reject) => {\n this.openModalAndPickExternalCalendar(cal)\n .then(extCalId => {\n // the external calendar will be set later on\n if (!extCalId) return resolve(null);\n // an external calendar was chosen: set it right away\n this.setExternalCalendar(cal, extCalId)\n .then(res => resolve(res))\n .catch(err => reject(err));\n })\n .catch(err => reject(err));\n });\n }\n /**\n * Open the modal to pick a calendar from the external service.\n * @return the id of the external calendar.\n */\n private async openModalAndPickExternalCalendar(cal: Calendar): Promise<string> {\n await this.loading.show();\n return new Promise((resolve, reject) => {\n this.getExternalCalendars(cal)\n .then((extCals: ExtCalendar[]) => {\n if (!extCals.length) return reject(new Error('NO_EXTERNAL_CALENDARS'));\n // let the user to choose the external calendar to associate\n this.modalCtrl\n .create({\n component: IDEASuggestionsComponent,\n componentProps: {\n data: extCals.map(c => new Suggestion({ value: c.id, name: c.name })),\n searchPlaceholder: this.t._('IDEA_AGENDA.CALENDARS.CHOOSE_AN_EXTERNAL_CALENDAR_TO_LINK'),\n sortData: true,\n hideIdFromUI: true,\n hideClearButton: true,\n mustChoose: true\n },\n backdropDismiss: false\n })\n .then(modal => {\n modal.onDidDismiss().then(res => resolve(res.data ? res.data.value : null));\n modal.present();\n });\n })\n .catch(err => reject(err))\n .finally(() => this.loading.hide());\n });\n }\n\n /**\n * First sync of the extenal calendar.\n */\n public syncCalendar(cal: Calendar): Promise<void> {\n return new Promise((resolve, reject) => this.syncCalendarHelper(cal, err => (err ? reject(err) : resolve())));\n }\n /**\n * Helper to recursively sync an the extenal calendar.\n */\n private syncCalendarHelper(cal: Calendar, done: (err?: Error) => void) {\n // this is a recursive operation: the API returns if the sync has to continue or it finished\n this.API.patchResource(this.getRequestURL(cal), {\n idea: true,\n resourceId: cal.calendarId,\n body: { action: 'SYNC_EXTERNAL_CALENDAR', firstSync: true }\n })\n .then((res: any) => {\n if (res.moreData) this.syncCalendarHelper(cal, done);\n else done();\n })\n .catch(err => done(err));\n }\n}\n\n/**\n * Helper structure to define external services' calendars (basic info).\n */\ninterface ExtCalendar {\n id: string;\n name: string;\n}\n","import { Component, Input } from '@angular/core';\nimport { ModalController, AlertController } from '@ionic/angular';\nimport { Calendar, Check, Membership } from 'idea-toolbox';\nimport {\n IDEALoadingService,\n IDEAAWSAPIService,\n IDEATinCanService,\n IDEAMessageService,\n IDEATranslationsService\n} from '@idea-ionic/common';\n\nimport { IDEACalendarsService } from './calendars.service';\n\n@Component({\n selector: 'idea-calendar',\n templateUrl: 'calendar.component.html',\n styleUrls: ['calendar.component.scss']\n})\nexport class IDEACalendarComponent {\n /**\n * The calendar to manage.\n */\n @Input() public calendar: Calendar;\n /**\n * Whether we want to enable advanced permissions (based on the memberships) on the calendar.\n */\n @Input() public advancedPermissions: boolean;\n /**\n * Whether the calendar color is an important detail or it shouldn't be shown.\n */\n @Input() public hideColor: boolean;\n\n /**\n * Working copy of the calendar, to update only when confirmed.\n */\n public _calendar: Calendar;\n /**\n * Helper to allow selecting memberships.\n */\n public membershipsChecks: Check[];\n /**\n * The current membership.\n */\n public membership: Membership;\n /**\n * Errors while validating the entity.\n */\n public errors: Set<string> = new Set<string>();\n /**\n * The default color for a calendar.\n */\n public DEFAULT_COLOR = '#555';\n\n constructor(\n public calendars: IDEACalendarsService,\n public modalCtrl: ModalController,\n public alertCtrl: AlertController,\n public tc: IDEATinCanService,\n public loading: IDEALoadingService,\n public message: IDEAMessageService,\n public API: IDEAAWSAPIService,\n public t: IDEATranslationsService\n ) {}\n public ngOnInit() {\n this.membership = this.tc.get('membership');\n // work on a copy\n this._calendar = new Calendar(this.calendar);\n // load the teammates to use for shared calendars permissions\n this.API.getResource(`teams/${this.membership.teamId}/memberships`)\n .then(\n (memberships: Membership[]) =>\n (this.membershipsChecks = memberships.map(\n m =>\n new Check({\n value: m.userId,\n name: m.name,\n checked: (this._calendar.usersCanManageAppointments || []).some(x => x === m.userId)\n })\n ))\n )\n .catch(() => {});\n }\n\n /**\n * Set the support array to display errors in the UI.\n */\n public hasFieldAnError(field: string): boolean {\n return this.errors.has(field);\n }\n\n /**\n * Save a calendar with the new info.\n */\n public async save() {\n // set the default color, in case none was selected\n if (!this._calendar.color) this._calendar.color = this.DEFAULT_COLOR;\n // map the memberships able to manage appointments\n if (this._calendar.isShared() && this.advancedPermissions)\n this._calendar.usersCanManageAppointments = this.membershipsChecks\n .filter(x => x.checked)\n .map(x => String(x.value));\n else delete this._calendar.usersCanManageAppointments;\n // checkings\n this.errors = new Set(this._calendar.validate());\n if (this.errors.size) return this.message.error('COMMON.FORM_HAS_ERROR_TO_CHECK');\n // send a put request\n await this.loading.show();\n this.calendars\n .putCalendar(this._calendar)\n .then((res: Calendar) => {\n this.calendar.load(res);\n this.message.success('IDEA_AGENDA.CALENDARS.CALENDAR_SAVED');\n this.modalCtrl.dismiss(this.calendar);\n })\n .catch(() => this.message.error('COMMON.OPERATION_FAILED'))\n .finally(() => this.loading.hide());\n }\n\n /**\n * Delete the calendar.\n */\n public delete() {\n this.alertCtrl\n .create({\n header: this.t._('COMMON.ARE_YOU_SURE'),\n subHeader: this.t._('IDEA_AGENDA.CALENDARS.DELETE_CALENDAR'),\n message: this.t._('IDEA_AGENDA.CALENDARS.DELETE_CALENDAR_HINT'),\n buttons: [\n { text: this.t._('COMMON.CANCEL'), role: 'cancel' },\n {\n text: this.t._('COMMON.DELETE'),\n handler: async () => {\n await this.loading.show();\n this.calendars\n .deleteCalendar(this._calendar)\n .then(() => {\n this.message.success('IDEA_AGENDA.CALENDARS.CALENDAR_DELETED');\n this.modalCtrl.dismiss(true);\n })\n .catch(() => this.message.error('COMMON.OPERATION_FAILED'))\n .finally(() => this.loading.hide());\n }\n }\n ]\n })\n .then(alert => alert.present());\n }\n\n /**\n * Close the component.\n */\n public close() {\n this.modalCtrl.dismiss();\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlertController, ModalController } from '@ionic/angular';\nimport { Calendar } from 'idea-toolbox';\nimport { IDEALoadingService, IDEAMessageService, IDEATranslationsService } from '@idea-ionic/common';\n\nimport { IDEACalendarsService } from './calendars.service';\nimport { IDEACalendarComponent } from './calendar.component';\n\n@Component({\n selector: 'idea-calendar-item',\n templateUrl: 'calendarItem.component.html',\n styleUrls: ['calendarItem.component.scss']\n})\nexport class IDEACalendarItemComponent {\n /**\n * The calendar to show.\n */\n @Input() public calendar: Calendar;\n /**\n * Whether the component is disabled.\n */\n @Input() public disabled: boolean;\n /**\n * Whether we want to enable advanced permissions (based on the memberships) on the calendar.\n */\n @Input() public advancedPermissions: boolean;\n /**\n * Whether the calendar color is an important detail or it shouldn't be shown.\n */\n @Input() public hideColor: boolean;\n /**\n * Report to parent components a change.\n */\n @Output() public somethingChanged = new EventEmitter<Calendar>();\n\n constructor(\n public calendars: IDEACalendarsService,\n public alertCtrl: AlertController,\n public modalCtrl: ModalController,\n public message: IDEAMessageService,\n public loading: IDEALoadingService,\n public t: IDEATranslationsService\n ) {}\n\n /**\n * Open the modal to manage the calendar.\n */\n public manageCalendar() {\n if (this.disabled) return;\n this.modalCtrl\n .create({\n component: IDEACalendarComponent,\n componentProps: {\n calendar: this.calendar,\n advancedPermissions: this.advancedPermissions,\n hideColor: this.hideColor\n }\n })\n .then(modal => {\n modal.onDidDismiss().then(res => {\n const cal = res.data;\n // nothing changed\n if (cal === undefined) return;\n // the calendar was deleted\n else if (cal === null) this.calendar = null;\n // the calendar was updated\n else this.calendar.load(cal);\n // report changes to parent components\n this.somethingChanged.emit();\n });\n modal.present();\n });\n }\n\n /**\n * Continue the auth flow to link an external service and set an external calendar;\n * otherwise, the calendar can be deleted.\n */\n public linkExtCalendarOrDelete() {\n if (this.disabled) return;\n // let the user pick an external calendar, in case the external service is linked\n this.calendars\n .chooseAndSetExternalCalendar(this.calendar)\n .then(async cal => {\n if (!cal) return new Error('NO_EXTERNAL_CALENDAR_CHOSEN');\n this.calendar.load(cal);\n this.message.success('IDEA_AGENDA.CALENDARS.CALENDAR_LINKED');\n // run a first sync for the linked external calendar\n await this.loading.show(this.t._('IDEA_AGENDA.CALENDARS.FIRST_SYNC_MAY_TAKE_A_WHILE'));\n this.calendars\n .syncCalendar(this.calendar)\n .then(() => this.message.success('IDEA_AGENDA.CALENDARS.FIRST_SYNC_COMPLETED'))\n .catch(() => this.message.error('COMMON.OPERATION_FAILED'))\n .finally(() => {\n this.loading.hide();\n // report changes to parent components\n this.somethingChanged.emit();\n });\n })\n .catch(() => {\n // the external service isn't linked yet (we don't have a token): link or delete\n this.alertCtrl\n .create({\n header: this.t._('IDEA_AGENDA.CALENDARS.CALENDAR_NOT_YET_LINKED'),\n message: this.t._('IDEA_AGENDA.CALENDARS.DO_YOU_WANT_PROCEED_LINKING_OR_DELETE'),\n buttons: [\n {\n text: this.t._('COMMON.DELETE'),\n handler: async () => {\n // request the calendar deletion\n await this.loading.show();\n this.calendars\n .deleteCalendar(this.calendar)\n .then(() => {\n this.message.success('COMMON.OPERATION_COMPLETED');\n // report changes to parent components\n this.somethingChanged.emit();\n })\n .catch(() => this.message.error('COMMON.OPERATION_FAILED'))\n .finally(() => this.loading.hide());\n }\n },\n {\n text: this.t._('IDEA_AGENDA.CALENDARS.LINK'),\n handler: () =>\n // try again to link the service\n this.calendars\n .linkExtService(this.calendar)\n // if the service was successfully linked, go recursive to choose and set the external calendar\n .then(() => this.linkExtCalendarOrDelete())\n .catch(() => this.message.error('COMMON.OPERATION_FAILED'))\n }\n ]\n })\n .then(alert => alert.present());\n });\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { ModalController } from '@ionic/angular';\nimport { Calendar, ExternalCalendarInfo, ExternalCalendarSources, Membership } from 'idea-toolbox';\nimport {\n IDEALoadingService,\n IDEAAWSAPIService,\n IDEATinCanService,\n IDEAMessageService,\n IDEATranslationsService\n} from '@idea-ionic/common';\n\nimport { IDEACalendarsService } from './calendars.service';\n\n@Component({\n selector: 'idea-calendar-creation',\n templateUrl: 'calendarCreation.component.html',\n styleUrls: ['calendarCreation.component.scss']\n})\nexport class IDEACalendarCreationComponent {\n /**\n * Whether we want to allow the creation of only a particular type of calendar, based on the scope.\n */\n @Input() public fixScope: CalendarScopes;\n /**\n * Whether we want to allow the creation of local calendars.\n */\n @Input() public onlyExternalCalendars: boolean;\n /**\n * The current membership (generic).\n */\n public membership: Membership;\n /**\n * The calendar to create.\n */\n public calendar: Calendar;\n /**\n * The default color for a new calendar.\n */\n public DEFAULT_COLOR = '#555';\n /**\n * The possible external services for the new calendar.\n */\n public SOURCES = Object.keys(ExternalCalendarSources);\n\n constructor(\n public calendars: IDEACalendarsService,\n public modalCtrl: ModalController,\n public tc: IDEATinCanService,\n public loading: IDEALoadingService,\n public message: IDEAMessageService,\n public API: IDEAAWSAPIService,\n public t: IDEATranslationsService\n ) {}\n public ngOnInit() {\n this.calendar = new Calendar();\n this.membership = this.tc.get('membership');\n if (this.fixScope === CalendarScopes.SHARED) this.calendar.teamId = this.membership.teamId;\n if (this.fixScope === CalendarScopes.PRIVATE) this.calendar.userId = this.membership.userId;\n }\n\n /**\n * If allowed by the component configuration, reset the scope of the calendar (private/shared).\n */\n public resetScope() {\n if (this.canChangeScope()) this.calendar.teamId = this.calendar.userId = null;\n }\n /**\n * Whether we can change the scope of the calendar (private/shared).\n */\n public canChangeScope(): boolean {\n return !this.fixScope && this.scopeIsSet();\n }\n /**\n * Whether the scope has been set already.\n */\n public scopeIsSet(): boolean {\n return Boolean(this.calendar.userId) || Boolean(this.calendar.teamId);\n }\n\n /**\n * Add a new calendar based on the configuration set.\n */\n public async saveNewCalendar(service?: ExternalCalendarSources) {\n // be sure the scope of the calendar was chosen\n if (!this.scopeIsSet()) return;\n // be sure we are allowed to create the calendar\n if (!service && this.onlyExternalCalendars) return;\n // flag the calendar so it has to be linked to an externals service (the procedure follows the creation)\n if (service) {\n this.calendar.external = new ExternalCalendarInfo({ service });\n this.calendar.name = '-'; // it will be substituted with the external name\n } else {\n // default values for local calendars\n this.calendar.name = this.calendar.userId\n ? this.t._('IDEA_AGENDA.CALENDARS.DEFAULT_PERSONAL_CALENDAR_NAME')\n : this.t._('IDEA_AGENDA.CALENDARS.DEFAULT_TEAM_CALENDAR_NAME');\n this.calendar.color = this.DEFAULT_COLOR;\n }\n // save (create) the new calendar\n await this.loading.show();\n this.calendars\n .postCalendar(this.calendar)\n .then(cal => {\n this.calendar.load(cal);\n this.message.success('IDEA_AGENDA.CALENDARS.CALENDAR_CREATED');\n // if the calendar is local, no further action is needed\n if (!cal.external) return this.modalCtrl.dismiss(this.calendar);\n // if the calendar should be linked to an external service, proceed\n this.calendars\n .linkExtService(this.calendar)\n // if the link was successful, let the user pick an external calendar to set\n .then(() => this.calendars.chooseAndSetExternalCalendar(this.calendar))\n .then(async res => {\n // if a calendar wasn't set, it can be done later on\n if (!res) return this.modalCtrl.dismiss(this.calendar);\n // if an external calendar was set, update the calendar\n this.calendar.load(res);\n // run a first sync for the linked external calendar\n await this.loading.show(this.t._('IDEA_AGENDA.CALENDARS.FIRST_SYNC_MAY_TAKE_A_WHILE'));\n this.calendars\n .syncCalendar(this.calendar)\n .then(() => this.message.success('IDEA_AGENDA.CALENDARS.FIRST_SYNC_COMPLETED'))\n .catch(() => this.message.error('COMMON.OPERATION_FAILED'))\n .finally(() => {\n this.loading.hide();\n // the calendar is ready to go\n this.modalCtrl.dismiss(this.calendar);\n });\n })\n .catch(() => {\n this.message.error('COMMON.OPERATION_FAILED');\n // the operation can be retried later on; close the modal anyway\n this.modalCtrl.dismiss(this.calendar);\n });\n })\n .catch(() => this.message.error('COMMON.OPERATION_FAILED'))\n .finally(() => this.loading.hide());\n }\n\n /**\n * Close the component.\n */\n public close() {\n this.modalCtrl.dismiss();\n }\n}\n\n/**\n * The possible scopes of the calendar.\n */\nexport enum CalendarScopes {\n SHARED = 'shared', // teamId\n PRIVATE = 'private' // userId\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { IonicModule } from '@ionic/angular';\n\nimport { CalendarDateFormatter, CalendarModule, DateAdapter } from 'angular-calendar';\nimport { adapterFactory } from 'angular-calendar/date-adapters/date-fns';\nimport { CustomDateFormatter } from './dateFormatter.provider';\n\nimport { IDEATranslationsModule, IDEAColorPickerModule, IDEACheckerModule } from '@idea-ionic/common';\n\nimport { IDEAAgendaComponent } from './agenda.component';\nimport { IDEACalendarComponent } from './calendar.component';\nimport { IDEACalendarItemComponent } from './calendarItem.component';\nimport { IDEACalendarCreationComponent } from './calendarCreation.component';\n\nimport { IDEACalendarsService } from './calendars.service';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n IDEATranslationsModule,\n IDEAColorPickerModule,\n IDEACheckerModule,\n CalendarModule.forRoot({ provide: DateAdapter, useFactory: adapterFactory })\n ],\n declarations: [IDEAAgendaComponent, IDEACalendarComponent, IDEACalendarItemComponent, IDEACalendarCreationComponent],\n entryComponents: [\n IDEAAgendaComponent,\n IDEACalendarComponent,\n IDEACalendarItemComponent,\n IDEACalendarCreationComponent\n ],\n exports: [IDEAAgendaComponent, IDEACalendarComponent, IDEACalendarItemComponent, IDEACalendarCreationComponent],\n providers: [{ provide: CalendarDateFormatter, useClass: CustomDateFormatter }, IDEACalendarsService]\n})\nexport class IDEAAgendaModule {}\n"],"names":["formatDate","CalendarDateFormatter","Injectable","CalendarView","EventEmitter","Subject","EventAttendance","isFuture","isToday","isSameDay","ColorParse","Component","ChangeDetectionStrategy","Platform","IDEATinCanService","IDEATranslationsService","Input","Output","Plugins","ExternalCalendarSources","Calendar","env","IDEASuggestionsComponent","Suggestion","ModalController","AlertController","IDEAMessageService","IDEALoadingService","IDEAAWSAPIService","Check","CalendarScopes","ExternalCalendarInfo","adapterFactory","NgModule","CommonModule","FormsModule","IonicModule","IDEATranslationsModule","IDEAColorPickerModule","IDEACheckerModule","CalendarModule","DateAdapter"],"mappings":"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"}