@glissandoo/lib 1.30.1 → 1.32.0

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.
@@ -35,6 +35,15 @@ export declare enum AppScenes {
35
35
  EventGroupPlayer = "eventGroupPlayer",
36
36
  EventHistoricList = "EventsHistoric",
37
37
  EventHistoricFilter = "EventsFilter",
38
+ EventSettings = "EventSettings",
39
+ EventSettingsTitle = "EventSettingsTitle",
40
+ EventSettingsComments = "EventSettingsComments",
41
+ EventSettingsDate = "EventSettingsDate",
42
+ EventSettingsTime = "EventSettingsTime",
43
+ EventSettingsAddress = "EventSettingsAddress",
44
+ EventSettingsRepertoire = "EventSettingsRepertoire",
45
+ EventSettingsMembers = "EventSettingsMembers",
46
+ EventSettingsMembersTemplate = "EventSettingsMembersTemplate",
38
47
  Repertory = "repertory",
39
48
  Theme = "theme",
40
49
  VisorPDF = "visorPDF",
@@ -43,5 +52,13 @@ export declare enum AppScenes {
43
52
  GroupsNavigation = "GroupsNavigation",
44
53
  VisorImage = "visorImage",
45
54
  AutocompleteLocality = "AutoCompleteLocality",
46
- Modal = "Modal"
55
+ Modal = "Modal",
56
+ CreateEvent = "CreateEvent",
57
+ CreateEventSelectType = "CreateEventSelectType",
58
+ CreateEventTitle = "CreateEventTitle",
59
+ CreateEventAddress = "CreateEventAddress",
60
+ CreateEventDatetime = "CreateEventDatetime",
61
+ CreateEventRepertoire = "CreateEventRepertoire",
62
+ CreateEventMembers = "CreateEventMembers",
63
+ CreateEventTemplates = "CreateEventTemplates"
47
64
  }
@@ -39,6 +39,15 @@ var AppScenes;
39
39
  AppScenes["EventGroupPlayer"] = "eventGroupPlayer";
40
40
  AppScenes["EventHistoricList"] = "EventsHistoric";
41
41
  AppScenes["EventHistoricFilter"] = "EventsFilter";
42
+ AppScenes["EventSettings"] = "EventSettings";
43
+ AppScenes["EventSettingsTitle"] = "EventSettingsTitle";
44
+ AppScenes["EventSettingsComments"] = "EventSettingsComments";
45
+ AppScenes["EventSettingsDate"] = "EventSettingsDate";
46
+ AppScenes["EventSettingsTime"] = "EventSettingsTime";
47
+ AppScenes["EventSettingsAddress"] = "EventSettingsAddress";
48
+ AppScenes["EventSettingsRepertoire"] = "EventSettingsRepertoire";
49
+ AppScenes["EventSettingsMembers"] = "EventSettingsMembers";
50
+ AppScenes["EventSettingsMembersTemplate"] = "EventSettingsMembersTemplate";
42
51
  AppScenes["Repertory"] = "repertory";
43
52
  AppScenes["Theme"] = "theme";
44
53
  AppScenes["VisorPDF"] = "visorPDF";
@@ -48,4 +57,12 @@ var AppScenes;
48
57
  AppScenes["VisorImage"] = "visorImage";
49
58
  AppScenes["AutocompleteLocality"] = "AutoCompleteLocality";
50
59
  AppScenes["Modal"] = "Modal";
60
+ AppScenes["CreateEvent"] = "CreateEvent";
61
+ AppScenes["CreateEventSelectType"] = "CreateEventSelectType";
62
+ AppScenes["CreateEventTitle"] = "CreateEventTitle";
63
+ AppScenes["CreateEventAddress"] = "CreateEventAddress";
64
+ AppScenes["CreateEventDatetime"] = "CreateEventDatetime";
65
+ AppScenes["CreateEventRepertoire"] = "CreateEventRepertoire";
66
+ AppScenes["CreateEventMembers"] = "CreateEventMembers";
67
+ AppScenes["CreateEventTemplates"] = "CreateEventTemplates";
51
68
  })(AppScenes = exports.AppScenes || (exports.AppScenes = {}));
@@ -2,6 +2,6 @@ import { LanguagesTypes } from '../lang';
2
2
  import { MetaNotificationData } from '../models/User/Notification/types';
3
3
  import { Descendant } from './slate';
4
4
  export declare const replaceVarsBrackets: (string: string, values: MetaNotificationData) => string;
5
- export declare const replaceKeysNotification: (string: string, values: MetaNotificationData, lang: LanguagesTypes) => string;
5
+ export declare const replaceKeysNotification: (text: string, values: MetaNotificationData, lang: LanguagesTypes) => string;
6
6
  export declare const serializeSlateBlock: (nodes: Descendant[]) => string;
7
7
  export declare const orderByMatch: <T>(list: T[], field: keyof T, order: string[]) => T[];
package/helpers/utils.js CHANGED
@@ -21,54 +21,59 @@ const replaceVarsBrackets = (string, values) => {
21
21
  return replaceString;
22
22
  };
23
23
  exports.replaceVarsBrackets = replaceVarsBrackets;
24
- const replaceKeysNotification = (string, values, lang) => {
24
+ const replaceKeysNotification = (text, values, lang) => {
25
25
  const dateLang = (0, lang_1.getDateLang)(lang);
26
- const matches = string.match(/(\{).+?(\})/g);
26
+ const matches = text.match(/(\{).+?(\})/g);
27
27
  const { extra, ...other } = values;
28
28
  const newValues = { extra };
29
29
  Object.keys(other || {}).forEach((key) => Object.assign(newValues, {
30
30
  [key]: Object.values((0, get_1.default)(other, key)),
31
31
  }));
32
- let replaceString = string;
33
- if (matches && matches.length > 0) {
34
- matches.forEach((match) => {
35
- const value = match.slice(1, -1);
36
- const typeKeyMatch = value.split(':');
37
- const type = typeKeyMatch[0];
38
- const key = typeKeyMatch[1];
39
- switch (type) {
40
- case 'instrument': {
41
- const instrumentId = (0, get_1.default)(newValues, key.split('.'));
42
- const instrument = new Instrument_1.default(instrumentId, lang);
43
- if (instrument) {
44
- replaceString = replaceString.replace(match, instrument.name.toLowerCase());
45
- }
46
- break;
47
- }
48
- case 'date': {
49
- const timestamp = (0, get_1.default)(newValues, key.split('.'));
50
- if (!timestamp) {
51
- replaceString = replaceString.replace(match, '');
52
- }
53
- else {
54
- const dateUTC = (0, date_fns_tz_1.utcToZonedTime)(timestamp.toDate(), 'Europe/Madrid');
55
- const formatValue = typeKeyMatch[2] || 'shortDate';
56
- const dateFormat = (0, date_fns_1.format)(dateUTC, (0, get_1.default)(dateLang.format, formatValue), {
57
- locale: dateLang.locale,
58
- });
59
- replaceString = replaceString.replace(match, dateFormat);
60
- }
61
- break;
32
+ let replaceString = text;
33
+ if (!matches || matches.length === 0) {
34
+ return replaceString;
35
+ }
36
+ for (const match of matches) {
37
+ const value = match.slice(1, -1);
38
+ const typeKeyMatch = value.split(':');
39
+ const type = typeKeyMatch[0];
40
+ const key = typeKeyMatch[1];
41
+ const path = key.split('.');
42
+ switch (type) {
43
+ case 'instrument': {
44
+ const instrumentId = (0, get_1.default)(newValues, path);
45
+ const instrument = new Instrument_1.default(instrumentId, lang);
46
+ if (instrument) {
47
+ replaceString = replaceString.replace(match, instrument.name.toLowerCase());
62
48
  }
63
- case 'string': {
64
- replaceString = replaceString.replace(match, (0, get_1.default)(newValues, key.split('.')));
65
- break;
49
+ break;
50
+ }
51
+ case 'date': {
52
+ const timestamp = (0, get_1.default)(newValues, path);
53
+ if (!timestamp) {
54
+ replaceString = replaceString.replace(match, '');
66
55
  }
67
- default: {
68
- break;
56
+ else {
57
+ const timezonePath = path;
58
+ timezonePath[path.length - 1] = 'timezone';
59
+ const timezone = (0, get_1.default)(newValues, timezonePath) || 'Europe/Madrid';
60
+ const dateUTC = (0, date_fns_tz_1.utcToZonedTime)(timestamp.toDate(), timezone);
61
+ const formatValue = typeKeyMatch[2] || 'shortDate';
62
+ const dateFormat = (0, date_fns_1.format)(dateUTC, (0, get_1.default)(dateLang.format, formatValue), {
63
+ locale: dateLang.locale,
64
+ });
65
+ replaceString = replaceString.replace(match, dateFormat);
69
66
  }
67
+ break;
70
68
  }
71
- });
69
+ case 'string': {
70
+ replaceString = replaceString.replace(match, (0, get_1.default)(newValues, path));
71
+ break;
72
+ }
73
+ default: {
74
+ break;
75
+ }
76
+ }
72
77
  }
73
78
  return replaceString;
74
79
  };
@@ -18,4 +18,5 @@ export default class EventoBasic<D> extends ModelWithLang<EventBasicData & D> {
18
18
  get duration(): number;
19
19
  get isOutDate(): boolean;
20
20
  get isHappening(): boolean;
21
+ get timezone(): string;
21
22
  }
@@ -16,6 +16,7 @@ class EventoBasic extends lang_2.default {
16
16
  displayName: this.displayName,
17
17
  datetime: this.datetime,
18
18
  type: this.type,
19
+ timezone: this.data.timezone,
19
20
  };
20
21
  }
21
22
  get basicInfo() {
@@ -26,6 +27,7 @@ class EventoBasic extends lang_2.default {
26
27
  datetime: this.datetime,
27
28
  datetimeEnd: this.datetimeEnd,
28
29
  type: this.type,
30
+ timezone: this.data.timezone,
29
31
  };
30
32
  }
31
33
  get displayName() {
@@ -67,5 +69,8 @@ class EventoBasic extends lang_2.default {
67
69
  get isHappening() {
68
70
  return (0, date_fns_1.isPast)(this.datetime.toDate()) && (0, date_fns_1.isFuture)(this.datetimeEnd.toDate());
69
71
  }
72
+ get timezone() {
73
+ return this.data.timezone || 'Europe/Madrid';
74
+ }
70
75
  }
71
76
  exports.default = EventoBasic;
@@ -53,19 +53,8 @@ export default class Evento extends EventoPromoter<EventData> {
53
53
  get declinedRollCallPlayers(): string[];
54
54
  get isRollCalled(): boolean;
55
55
  get isActiveRollCall(): boolean;
56
- /** @deprecated */
57
- get viewers(): Record<string, import("./types").EventViewer>;
58
- /** @deprecated */
59
- get listViewers(): (import("./types").EventViewer & {
60
- id: string;
61
- })[];
62
- /** @deprecated */
63
- get totalViews(): number;
64
56
  get templateId(): string | null;
65
57
  get repeat(): import("./types").EventRepeatType | null;
66
- get timezone(): string;
67
- /** @deprecated */
68
- getViewer(userId: string): import("./types").EventViewer | null;
69
58
  isPlayer: (userId: string) => boolean;
70
59
  getPlayer: (userId: string) => EventPlayerBasicData | null;
71
60
  isPlayerConfirmed(player: EventPlayerBasicData): boolean;
@@ -152,33 +152,12 @@ class Evento extends promoter_1.default {
152
152
  get isActiveRollCall() {
153
153
  return (0, date_fns_1.isPast)((0, date_fns_1.addHours)(this.datetime.toDate(), -1));
154
154
  }
155
- /** @deprecated */
156
- get viewers() {
157
- return this.data.viewers || {};
158
- }
159
- /** @deprecated */
160
- get listViewers() {
161
- return Object.keys(this.viewers).map((userId) => Object.assign(this.viewers[userId], { id: userId }));
162
- }
163
- /** @deprecated */
164
- get totalViews() {
165
- return this.listViewers
166
- .map((viewer) => viewer.count || 0)
167
- .reduce((acc, current) => acc + current);
168
- }
169
155
  get templateId() {
170
156
  return this.data.templateId || null;
171
157
  }
172
158
  get repeat() {
173
159
  return this.data.repeat || null;
174
160
  }
175
- get timezone() {
176
- return this.data.timezone || 'Europe/Madrid';
177
- }
178
- /** @deprecated */
179
- getViewer(userId) {
180
- return userId in this.viewers ? this.viewers[userId] : null;
181
- }
182
161
  isPlayerConfirmed(player) {
183
162
  return player.status === types_1.EventPlayerStatus.Confirmed;
184
163
  }
@@ -11,4 +11,5 @@ export default class EventoTiny {
11
11
  get isPractice(): boolean;
12
12
  get isPerformance(): boolean;
13
13
  get datetime(): FirebaseFirestore.Timestamp;
14
+ get timezone(): string;
14
15
  }
@@ -29,5 +29,8 @@ class EventoTiny {
29
29
  get datetime() {
30
30
  return this.data.datetime;
31
31
  }
32
+ get timezone() {
33
+ return this.data.timezone || 'Europe/Madrid';
34
+ }
32
35
  }
33
36
  exports.default = EventoTiny;
@@ -59,6 +59,7 @@ export interface EventTinyData {
59
59
  displayName: string | null;
60
60
  datetime: Timestamp;
61
61
  type: EventType;
62
+ timezone: string;
62
63
  }
63
64
  export interface EventBasicData extends EventTinyData {
64
65
  locality: string | null;
@@ -94,7 +95,6 @@ export interface EventData extends EventPromoterData {
94
95
  repeat: EventRepeatType | null;
95
96
  stage: EventStage | null;
96
97
  stageTemplateId: string | null;
97
- timezone: string;
98
98
  readonly owner: DocumentReference;
99
99
  readonly createdAt: Timestamp;
100
100
  readonly createdOn: EventCreatedOn;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glissandoo/lib",
3
- "version": "1.30.1",
3
+ "version": "1.32.0",
4
4
  "description": "Glissandoo library js",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",