@idea-ionic/agenda 8.2.8 → 8.2.10

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.
@@ -12,7 +12,7 @@ import { adapterFactory } from 'angular-calendar/date-adapters/date-fns';
12
12
  import * as i3 from '@idea-ionic/common';
13
13
  import { IDEATranslationsService, IDEAEnvironment, IDEALoadingService, IDEASuggestionsComponent, IDEAMessageService, IDEATranslationsModule, IDEACheckerComponent, IDEAUserAvatarComponent } from '@idea-ionic/common';
14
14
  import * as i3$1 from '@idea-ionic/uncommon';
15
- import { IDEAAWSAPIService, IDEATinCanService, IDEAColorPickerModule } from '@idea-ionic/uncommon';
15
+ import { IDEAAWSAPIService, IDEATinCanService, IDEAColorPickerComponent } from '@idea-ionic/uncommon';
16
16
  import { Platform, ModalController, AlertController } from '@ionic/angular/standalone';
17
17
  import { Subject, fromEvent, finalize, takeUntil } from 'rxjs';
18
18
  import { isFuture, isToday, isSameDay, endOfWeek, addMinutes, addDays } from 'date-fns';
@@ -417,10 +417,11 @@ class IDEACalendarsService {
417
417
  /**
418
418
  * Link the calendar with the chosen external service (auth flow).
419
419
  */
420
- async linkExtService(cal) {
420
+ async linkExtService(cal, baseURL) {
421
421
  if (!cal.external)
422
422
  throw new Error('NOT_EXTERNAL');
423
- const baseURL = window.location.protocol.concat('//', window.location.hostname);
423
+ if (!baseURL)
424
+ baseURL = window.location.protocol.concat('//', window.location.hostname);
424
425
  let url;
425
426
  switch (cal.external.service) {
426
427
  case ExternalCalendarSources.GOOGLE:
@@ -729,7 +730,7 @@ class IDEACalendarItemComponent {
729
730
  };
730
731
  const doLink = async () => {
731
732
  try {
732
- await this._calendars.linkExtService(this.calendar);
733
+ await this._calendars.linkExtService(this.calendar, this.baseURL);
733
734
  this.linkExtCalendarOrDelete();
734
735
  }
735
736
  catch (error) {
@@ -747,7 +748,7 @@ class IDEACalendarItemComponent {
747
748
  }
748
749
  }
749
750
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEACalendarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
750
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: IDEACalendarItemComponent, selector: "idea-calendar-item", inputs: { calendar: "calendar", disabled: "disabled", advancedPermissions: "advancedPermissions", hideColor: "hideColor" }, outputs: { somethingChanged: "somethingChanged" }, ngImport: i0, template: "@if (calendar) {\n <ion-item\n class=\"calendarItem\"\n [button]=\"!disabled\"\n [title]=\"'IDEA_AGENDA.CALENDARS.EDIT_CALENDAR' | translate\"\n (click)=\"calendar.external && !calendar.external.calendarId ? linkExtCalendarOrDelete() : manageCalendar()\"\n >\n @if (!hideColor) {\n <ion-avatar slot=\"start\" class=\"colorCircle\" [style.background-color]=\"calendar.color\" />\n }\n <ion-label>\n {{ calendar.name }}\n <p>\n @if (calendar.external && !calendar.external.calendarId) {\n <ion-text color=\"danger\">\n {{ 'IDEA_AGENDA.CALENDARS.TAP_TO_CONFIGURE' | translate }}\n </ion-text>\n }\n {{ calendar.description }}\n </p>\n </ion-label>\n @if (calendar.external && !calendar.external.calendarId) {\n <ion-icon\n slot=\"end\"\n color=\"danger\"\n name=\"flash-off\"\n [title]=\"'IDEA_AGENDA.CALENDARS.CALENDAR_NOT_YET_LINKED_HINT' | translate\"\n />\n }\n @if (calendar.external?.service) {\n <ion-icon\n slot=\"end\"\n [name]=\"_calendars.getServiceIcon(calendar.external.service)\"\n [title]=\"\n ('IDEA_AGENDA.CALENDARS.LINKED_TO' | translate) +\n ' ' +\n ('IDEA_AGENDA.CALENDARS.SERVICES.' + calendar.external.service | translate)\n \"\n />\n }\n </ion-item>\n}\n", styles: [".calendarItem ion-avatar.colorCircle{width:20px;height:20px;background-color:#555}\n"], dependencies: [{ kind: "component", type: i2.IonAvatar, selector: "ion-avatar" }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "pipe", type: i3.IDEATranslatePipe, name: "translate" }] }); }
751
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: IDEACalendarItemComponent, selector: "idea-calendar-item", inputs: { calendar: "calendar", disabled: "disabled", advancedPermissions: "advancedPermissions", hideColor: "hideColor", baseURL: "baseURL" }, outputs: { somethingChanged: "somethingChanged" }, ngImport: i0, template: "@if (calendar) {\n <ion-item\n class=\"calendarItem\"\n [button]=\"!disabled\"\n [title]=\"'IDEA_AGENDA.CALENDARS.EDIT_CALENDAR' | translate\"\n (click)=\"calendar.external && !calendar.external.calendarId ? linkExtCalendarOrDelete() : manageCalendar()\"\n >\n @if (!hideColor) {\n <ion-avatar slot=\"start\" class=\"colorCircle\" [style.background-color]=\"calendar.color\" />\n }\n <ion-label>\n {{ calendar.name }}\n <p>\n @if (calendar.external && !calendar.external.calendarId) {\n <ion-text color=\"danger\">\n {{ 'IDEA_AGENDA.CALENDARS.TAP_TO_CONFIGURE' | translate }}\n </ion-text>\n }\n {{ calendar.description }}\n </p>\n </ion-label>\n @if (calendar.external && !calendar.external.calendarId) {\n <ion-icon\n slot=\"end\"\n color=\"danger\"\n name=\"flash-off\"\n [title]=\"'IDEA_AGENDA.CALENDARS.CALENDAR_NOT_YET_LINKED_HINT' | translate\"\n />\n }\n @if (calendar.external?.service) {\n <ion-icon\n slot=\"end\"\n [name]=\"_calendars.getServiceIcon(calendar.external.service)\"\n [title]=\"\n ('IDEA_AGENDA.CALENDARS.LINKED_TO' | translate) +\n ' ' +\n ('IDEA_AGENDA.CALENDARS.SERVICES.' + calendar.external.service | translate)\n \"\n />\n }\n </ion-item>\n}\n", styles: [".calendarItem ion-avatar.colorCircle{width:20px;height:20px;background-color:#555}\n"], dependencies: [{ kind: "component", type: i2.IonAvatar, selector: "ion-avatar" }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "pipe", type: i3.IDEATranslatePipe, name: "translate" }] }); }
751
752
  }
752
753
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEACalendarItemComponent, decorators: [{
753
754
  type: Component,
@@ -760,6 +761,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
760
761
  type: Input
761
762
  }], hideColor: [{
762
763
  type: Input
764
+ }], baseURL: [{
765
+ type: Input
763
766
  }], somethingChanged: [{
764
767
  type: Output
765
768
  }] } });
@@ -815,46 +818,47 @@ class IDEACalendarCreationComponent {
815
818
  this.calendar.load(cal);
816
819
  this._message.success('IDEA_AGENDA.CALENDARS.CALENDAR_CREATED');
817
820
  if (!cal.external) {
818
- this._modal.dismiss(this.calendar);
821
+ await this._modal.dismiss(this.calendar);
819
822
  return;
820
823
  }
821
824
  try {
822
- await this._calendars.linkExtService(this.calendar);
825
+ await this._loading.hide();
826
+ await this._calendars.linkExtService(this.calendar, this.baseURL);
823
827
  const res = await this._calendars.chooseAndSetExternalCalendar(this.calendar);
824
828
  if (!res) {
825
- this._modal.dismiss(this.calendar);
829
+ await this._modal.dismiss(this.calendar);
826
830
  return;
827
831
  }
828
832
  this.calendar.load(res);
829
- await this._loading.show(this._translate._('IDEA_AGENDA.CALENDARS.FIRST_SYNC_MAY_TAKE_A_WHILE'));
830
833
  try {
834
+ await this._loading.show(this._translate._('IDEA_AGENDA.CALENDARS.FIRST_SYNC_MAY_TAKE_A_WHILE'));
831
835
  await this._calendars.syncCalendar(this.calendar);
832
- this._message.success('IDEA_AGENDA.CALENDARS.FIRST_SYNC_COMPLETED');
836
+ await this._message.success('IDEA_AGENDA.CALENDARS.FIRST_SYNC_COMPLETED');
833
837
  }
834
838
  catch (error) {
835
- this._message.error('COMMON.OPERATION_FAILED');
839
+ await this._message.error('COMMON.OPERATION_FAILED');
836
840
  }
837
841
  finally {
838
- this._modal.dismiss(this.calendar);
842
+ await this._modal.dismiss(this.calendar);
839
843
  }
840
844
  }
841
845
  catch (error) {
842
- this._message.error('COMMON.OPERATION_FAILED');
843
- this._modal.dismiss(this.calendar);
846
+ await this._message.error('COMMON.OPERATION_FAILED');
847
+ await this._modal.dismiss(this.calendar);
844
848
  }
845
849
  }
846
850
  catch (error) {
847
- this._message.error('COMMON.OPERATION_FAILED');
851
+ await this._message.error('COMMON.OPERATION_FAILED');
848
852
  }
849
853
  finally {
850
- this._loading.hide();
854
+ await this._loading.hide();
851
855
  }
852
856
  }
853
857
  close() {
854
858
  this._modal.dismiss();
855
859
  }
856
860
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEACalendarCreationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
857
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: IDEACalendarCreationComponent, selector: "idea-calendar-creation", inputs: { fixScope: "fixScope", onlyExternalCalendars: "onlyExternalCalendars" }, ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"ideaToolbar\">\n <ion-buttons slot=\"start\">\n @if (!canChangeScope()) {\n <ion-button [title]=\"'COMMON.CLOSE' | translate\" (click)=\"close()\">\n <ion-icon name=\"close\" slot=\"icon-only\" />\n </ion-button>\n }\n @if (canChangeScope()) {\n <ion-button (click)=\"resetScope()\">\n <ion-icon name=\"arrow-back\" slot=\"icon-only\" />\n </ion-button>\n }\n </ion-buttons>\n <ion-title>\n @if (!scopeIsSet()) {\n <span>{{ 'IDEA_AGENDA.CALENDARS.ADD_A_CALENDAR' | translate }}</span>\n }\n @if (calendar.userId) {\n <span>{{ 'IDEA_AGENDA.CALENDARS.PERSONAL_CALENDAR' | translate }}</span>\n }\n @if (calendar.teamId) {\n <span>\n {{ 'IDEA_AGENDA.CALENDARS.TEAM_CALENDAR' | translate: { team: team.name } }}\n </span>\n }\n </ion-title>\n </ion-toolbar>\n</ion-header>\n<ion-content>\n <!-- 1st STEP -->\n @if (!scopeIsSet()) {\n <ion-grid class=\"ion-padding choiceGrid\">\n <ion-row>\n <ion-col class=\"ion-text-center\">\n <h1>{{ 'IDEA_AGENDA.CALENDARS.CREATE_PRIVATE_OR_TEAM' | translate }}</h1>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-align-items-center\">\n <ion-col class=\"ion-text-center\" [size]=\"12\" [sizeSm]=\"6\">\n <ion-card [button]=\"true\" (click)=\"calendar.userId = membership.userId\">\n <ion-card-header>\n <ion-card-title>\n <ion-icon name=\"person\" />\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <h1>{{ 'IDEA_AGENDA.CALENDARS.PERSONAL_CALENDAR' | translate }}</h1>\n <p>{{ 'IDEA_AGENDA.CALENDARS.PERSONAL_CALENDAR_HINT' | translate }}</p>\n </ion-card-content>\n </ion-card>\n </ion-col>\n <ion-col class=\"ion-text-center\" [size]=\"12\" [sizeSm]=\"6\">\n <ion-card [button]=\"true\" (click)=\"calendar.teamId = membership.teamId\">\n <ion-card-header>\n <ion-card-title>\n <ion-icon name=\"people\" />\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <h1>{{ 'IDEA_AGENDA.CALENDARS.TEAM_CALENDAR' | translate }}</h1>\n <p>{{ 'IDEA_AGENDA.CALENDARS.TEAM_CALENDAR_HINT' | translate }}</p>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n }\n <!-- 2nd STEP -->\n @if (scopeIsSet()) {\n <ion-grid class=\"ion-padding choiceGrid\">\n <ion-row>\n <ion-col class=\"ion-text-center\">\n <h1>{{ 'IDEA_AGENDA.CALENDARS.WHICH_EXTERNAL_SERVICE_TO_LINK' | translate }}</h1>\n <p>{{ 'IDEA_AGENDA.CALENDARS.WHICH_EXTERNAL_SERVICE_TO_LINK_HINT' | translate }}</p>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-align-items-center\">\n @if (!onlyExternalCalendars) {\n <ion-col class=\"ion-text-center\" [size]=\"12\">\n <ion-card class=\"step2\" [button]=\"true\" (click)=\"saveNewCalendar()\">\n <ion-card-header>\n <ion-card-title>\n <ion-icon name=\"remove\" />\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <h1>{{ 'IDEA_AGENDA.CALENDARS.DONT_LINK' | translate }}</h1>\n <p>{{ 'IDEA_AGENDA.CALENDARS.DONT_LINK_HINT' | translate }}</p>\n </ion-card-content>\n </ion-card>\n </ion-col>\n }\n @for (s of SOURCES; track s) {\n <ion-col class=\"ion-text-center\" [size]=\"12\">\n <ion-card class=\"step2\" [button]=\"true\" (click)=\"saveNewCalendar(s)\">\n <ion-card-header>\n <ion-card-title>\n <ion-icon [name]=\"_calendars.getServiceIcon(s)\" />\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <h1>\n {{ 'IDEA_AGENDA.CALENDARS.LINK_TO' | translate }}\n {{ 'IDEA_AGENDA.CALENDARS.SERVICES.' + s | translate }}\n </h1>\n <p>{{ 'IDEA_AGENDA.CALENDARS.LINK_TO_HINT' | translate }}</p>\n </ion-card-content>\n </ion-card>\n </ion-col>\n }\n </ion-row>\n </ion-grid>\n }\n</ion-content>\n", styles: ["ion-content{--background: var(--ion-color-white-shade)}.choiceGrid ion-row ion-col>h1{margin:10px 0 0;font-size:1.1em}.choiceGrid ion-row ion-col>p{margin-top:0;margin-bottom:0;font-size:.9em}.choiceGrid ion-row:first-child ion-col{padding-bottom:25px}.choiceGrid ion-card{--ion-item-background: var(--ion-color-white);--color: var(--ion-color-dark-tint);height:240px;margin:0 auto;text-align:center}.choiceGrid ion-card ion-card-header{padding-bottom:10px}.choiceGrid ion-card ion-card-header ion-card-title{font-size:2.5em}.choiceGrid ion-card ion-card-content h1{font-size:1.4em;height:60px}.choiceGrid ion-card.step2{height:135px}.choiceGrid ion-card.step2 ion-card-header{padding-top:10px;padding-bottom:0}.choiceGrid ion-card.step2 ion-card-content h1{height:auto}\n"], dependencies: [{ kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i2.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i2.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i2.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i2.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonRow, selector: "ion-row" }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "pipe", type: i3.IDEATranslatePipe, name: "translate" }] }); }
861
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: IDEACalendarCreationComponent, selector: "idea-calendar-creation", inputs: { fixScope: "fixScope", onlyExternalCalendars: "onlyExternalCalendars", baseURL: "baseURL" }, ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"ideaToolbar\">\n <ion-buttons slot=\"start\">\n @if (!canChangeScope()) {\n <ion-button [title]=\"'COMMON.CLOSE' | translate\" (click)=\"close()\">\n <ion-icon name=\"close\" slot=\"icon-only\" />\n </ion-button>\n }\n @if (canChangeScope()) {\n <ion-button (click)=\"resetScope()\">\n <ion-icon name=\"arrow-back\" slot=\"icon-only\" />\n </ion-button>\n }\n </ion-buttons>\n <ion-title>\n @if (!scopeIsSet()) {\n <span>{{ 'IDEA_AGENDA.CALENDARS.ADD_A_CALENDAR' | translate }}</span>\n }\n @if (calendar.userId) {\n <span>{{ 'IDEA_AGENDA.CALENDARS.PERSONAL_CALENDAR' | translate }}</span>\n }\n @if (calendar.teamId) {\n <span>\n {{ 'IDEA_AGENDA.CALENDARS.TEAM_CALENDAR' | translate: { team: team.name } }}\n </span>\n }\n </ion-title>\n </ion-toolbar>\n</ion-header>\n<ion-content>\n <!-- 1st STEP -->\n @if (!scopeIsSet()) {\n <ion-grid class=\"ion-padding choiceGrid\">\n <ion-row>\n <ion-col class=\"ion-text-center\">\n <h1>{{ 'IDEA_AGENDA.CALENDARS.CREATE_PRIVATE_OR_TEAM' | translate }}</h1>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-align-items-center\">\n <ion-col class=\"ion-text-center\" [size]=\"12\" [sizeSm]=\"6\">\n <ion-card [button]=\"true\" (click)=\"calendar.userId = membership.userId\">\n <ion-card-header>\n <ion-card-title>\n <ion-icon name=\"person\" />\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <h1>{{ 'IDEA_AGENDA.CALENDARS.PERSONAL_CALENDAR' | translate }}</h1>\n <p>{{ 'IDEA_AGENDA.CALENDARS.PERSONAL_CALENDAR_HINT' | translate }}</p>\n </ion-card-content>\n </ion-card>\n </ion-col>\n <ion-col class=\"ion-text-center\" [size]=\"12\" [sizeSm]=\"6\">\n <ion-card [button]=\"true\" (click)=\"calendar.teamId = membership.teamId\">\n <ion-card-header>\n <ion-card-title>\n <ion-icon name=\"people\" />\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <h1>{{ 'IDEA_AGENDA.CALENDARS.TEAM_CALENDAR' | translate }}</h1>\n <p>{{ 'IDEA_AGENDA.CALENDARS.TEAM_CALENDAR_HINT' | translate }}</p>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n }\n <!-- 2nd STEP -->\n @if (scopeIsSet()) {\n <ion-grid class=\"ion-padding choiceGrid\">\n <ion-row>\n <ion-col class=\"ion-text-center\">\n <h1>{{ 'IDEA_AGENDA.CALENDARS.WHICH_EXTERNAL_SERVICE_TO_LINK' | translate }}</h1>\n <p>{{ 'IDEA_AGENDA.CALENDARS.WHICH_EXTERNAL_SERVICE_TO_LINK_HINT' | translate }}</p>\n </ion-col>\n </ion-row>\n <ion-row class=\"ion-align-items-center\">\n @if (!onlyExternalCalendars) {\n <ion-col class=\"ion-text-center\" [size]=\"12\">\n <ion-card class=\"step2\" [button]=\"true\" (click)=\"saveNewCalendar()\">\n <ion-card-header>\n <ion-card-title>\n <ion-icon name=\"remove\" />\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <h1>{{ 'IDEA_AGENDA.CALENDARS.DONT_LINK' | translate }}</h1>\n <p>{{ 'IDEA_AGENDA.CALENDARS.DONT_LINK_HINT' | translate }}</p>\n </ion-card-content>\n </ion-card>\n </ion-col>\n }\n @for (s of SOURCES; track s) {\n <ion-col class=\"ion-text-center\" [size]=\"12\">\n <ion-card class=\"step2\" [button]=\"true\" (click)=\"saveNewCalendar(s)\">\n <ion-card-header>\n <ion-card-title>\n <ion-icon [name]=\"_calendars.getServiceIcon(s)\" />\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <h1>\n {{ 'IDEA_AGENDA.CALENDARS.LINK_TO' | translate }}\n {{ 'IDEA_AGENDA.CALENDARS.SERVICES.' + s | translate }}\n </h1>\n <p>{{ 'IDEA_AGENDA.CALENDARS.LINK_TO_HINT' | translate }}</p>\n </ion-card-content>\n </ion-card>\n </ion-col>\n }\n </ion-row>\n </ion-grid>\n }\n</ion-content>\n", styles: ["ion-content{--background: var(--ion-color-white-shade)}.choiceGrid ion-row ion-col>h1{margin:10px 0 0;font-size:1.1em}.choiceGrid ion-row ion-col>p{margin-top:0;margin-bottom:0;font-size:.9em}.choiceGrid ion-row:first-child ion-col{padding-bottom:25px}.choiceGrid ion-card{--ion-item-background: var(--ion-color-white);--color: var(--ion-color-dark-tint);height:240px;margin:0 auto;text-align:center}.choiceGrid ion-card ion-card-header{padding-bottom:10px}.choiceGrid ion-card ion-card-header ion-card-title{font-size:2.5em}.choiceGrid ion-card ion-card-content h1{font-size:1.4em;height:60px}.choiceGrid ion-card.step2{height:135px}.choiceGrid ion-card.step2 ion-card-header{padding-top:10px;padding-bottom:0}.choiceGrid ion-card.step2 ion-card-content h1{height:auto}\n"], dependencies: [{ kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i2.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i2.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i2.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i2.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonRow, selector: "ion-row" }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "pipe", type: i3.IDEATranslatePipe, name: "translate" }] }); }
858
862
  }
859
863
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEACalendarCreationComponent, decorators: [{
860
864
  type: Component,
@@ -863,6 +867,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
863
867
  type: Input
864
868
  }], onlyExternalCalendars: [{
865
869
  type: Input
870
+ }], baseURL: [{
871
+ type: Input
866
872
  }] } });
867
873
  /**
868
874
  * The possible scopes of the calendar.
@@ -879,14 +885,14 @@ class IDEAAgendaModule {
879
885
  FormsModule,
880
886
  IonicModule,
881
887
  IDEATranslationsModule,
882
- IDEAColorPickerModule,
888
+ IDEAColorPickerComponent,
883
889
  IDEACheckerComponent,
884
890
  IDEAUserAvatarComponent, i4.CalendarModule], exports: [IDEAAgendaComponent, IDEACalendarComponent, IDEACalendarItemComponent, IDEACalendarCreationComponent] }); }
885
891
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEAAgendaModule, providers: [{ provide: CalendarDateFormatter, useClass: CustomDateFormatter }, IDEACalendarsService], imports: [CommonModule,
886
892
  FormsModule,
887
893
  IonicModule,
888
894
  IDEATranslationsModule,
889
- IDEAColorPickerModule,
895
+ IDEAColorPickerComponent,
890
896
  IDEACheckerComponent,
891
897
  IDEAUserAvatarComponent,
892
898
  CalendarModule.forRoot({ provide: DateAdapter, useFactory: adapterFactory })] }); }
@@ -899,7 +905,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
899
905
  FormsModule,
900
906
  IonicModule,
901
907
  IDEATranslationsModule,
902
- IDEAColorPickerModule,
908
+ IDEAColorPickerComponent,
903
909
  IDEACheckerComponent,
904
910
  IDEAUserAvatarComponent,
905
911
  CalendarModule.forRoot({ provide: DateAdapter, useFactory: adapterFactory })