@forcecalendar/interface 1.0.42 → 1.0.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forcecalendar/interface",
3
- "version": "1.0.42",
3
+ "version": "1.0.44",
4
4
  "type": "module",
5
5
  "description": "Official interface layer for forceCalendar Core - Enterprise calendar components",
6
6
  "main": "dist/force-calendar-interface.umd.js",
@@ -19,6 +19,12 @@ import { DayViewRenderer } from '../renderers/DayViewRenderer.js';
19
19
  import './EventForm.js';
20
20
 
21
21
  export class ForceCalendar extends BaseComponent {
22
+ static RENDERERS = {
23
+ month: MonthViewRenderer,
24
+ week: WeekViewRenderer,
25
+ day: DayViewRenderer
26
+ };
27
+
22
28
  static get observedAttributes() {
23
29
  return ['view', 'date', 'locale', 'timezone', 'week-starts-on', 'height'];
24
30
  }
@@ -204,13 +210,7 @@ export class ForceCalendar extends BaseComponent {
204
210
 
205
211
  // Create new view using renderer classes
206
212
  try {
207
- const renderers = {
208
- month: MonthViewRenderer,
209
- week: WeekViewRenderer,
210
- day: DayViewRenderer
211
- };
212
-
213
- const RendererClass = renderers[this.currentView] || MonthViewRenderer;
213
+ const RendererClass = ForceCalendar.RENDERERS[this.currentView] || MonthViewRenderer;
214
214
  const viewRenderer = new RendererClass(container, this.stateManager);
215
215
  viewRenderer._viewType = this.currentView;
216
216
  this._currentViewInstance = viewRenderer;
@@ -747,13 +747,7 @@ export class ForceCalendar extends BaseComponent {
747
747
 
748
748
  // Create view renderer using the appropriate renderer class
749
749
  try {
750
- const renderers = {
751
- month: MonthViewRenderer,
752
- week: WeekViewRenderer,
753
- day: DayViewRenderer
754
- };
755
-
756
- const RendererClass = renderers[this.currentView] || MonthViewRenderer;
750
+ const RendererClass = ForceCalendar.RENDERERS[this.currentView] || MonthViewRenderer;
757
751
  const viewRenderer = new RendererClass(container, this.stateManager);
758
752
  viewRenderer._viewType = this.currentView;
759
753
  this._currentViewInstance = viewRenderer;
@@ -812,23 +806,6 @@ export class ForceCalendar extends BaseComponent {
812
806
  this._hasRendered = true;
813
807
  }
814
808
 
815
- /**
816
- * Create a view renderer instance for the given view type
817
- * Uses pure JavaScript renderer classes for Salesforce Locker Service compatibility
818
- * @param {string} viewName - 'month', 'week', or 'day'
819
- * @returns {BaseViewRenderer} Renderer instance
820
- */
821
- _createViewRenderer(viewName) {
822
- const renderers = {
823
- month: MonthViewRenderer,
824
- week: WeekViewRenderer,
825
- day: DayViewRenderer
826
- };
827
-
828
- const RendererClass = renderers[viewName] || MonthViewRenderer;
829
- return new RendererClass(null, null); // Container and stateManager set after creation
830
- }
831
-
832
809
  handleNavigation(event) {
833
810
  const action = event.currentTarget.dataset.action;
834
811
  switch (action) {
@@ -120,14 +120,11 @@ class EventBus {
120
120
  }
121
121
 
122
122
  /**
123
- * Emit an event
123
+ * Emit an event synchronously
124
124
  * @param {string} eventName - Event name
125
125
  * @param {*} data - Event data
126
- * @returns {Promise} Resolves when all handlers complete
127
126
  */
128
- async emit(eventName, data) {
129
- const promises = [];
130
-
127
+ emit(eventName, data) {
131
128
  // Handle direct subscriptions
132
129
  if (this.events.has(eventName)) {
133
130
  const handlers = [...this.events.get(eventName)];
@@ -140,10 +137,7 @@ class EventBus {
140
137
  }
141
138
 
142
139
  try {
143
- const result = handler(data, eventName);
144
- if (result instanceof Promise) {
145
- promises.push(result);
146
- }
140
+ handler(data, eventName);
147
141
  } catch (error) {
148
142
  console.error(`Error in event handler for ${eventName}:`, error);
149
143
  }
@@ -161,10 +155,7 @@ class EventBus {
161
155
  }
162
156
 
163
157
  try {
164
- const result = handler(data, eventName);
165
- if (result instanceof Promise) {
166
- promises.push(result);
167
- }
158
+ handler(data, eventName);
168
159
  } catch (error) {
169
160
  console.error(`Error in wildcard handler for ${eventName}:`, error);
170
161
  }
@@ -172,8 +163,6 @@ class EventBus {
172
163
  }
173
164
  // Remove one-time handlers after iteration
174
165
  toRemove.forEach(sub => this.wildcardHandlers.delete(sub));
175
-
176
- return Promise.all(promises);
177
166
  }
178
167
 
179
168
  /**