@forcecalendar/interface 1.0.4 → 1.0.6
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/dist/force-calendar-interface.esm.js +1519 -1503
- package/dist/force-calendar-interface.esm.js.map +1 -1
- package/dist/force-calendar-interface.umd.js +23 -23
- package/dist/force-calendar-interface.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/components/EventForm.js +2 -2
- package/src/components/ForceCalendar.js +26 -14
- package/src/components/views/DayView.js +6 -0
- package/src/components/views/MonthView.js +17 -0
- package/src/components/views/WeekView.js +6 -0
package/package.json
CHANGED
|
@@ -414,6 +414,6 @@ export class EventForm extends BaseComponent {
|
|
|
414
414
|
}
|
|
415
415
|
}
|
|
416
416
|
|
|
417
|
-
if (!customElements.get('
|
|
418
|
-
customElements.define('
|
|
417
|
+
if (!customElements.get('forcecal-event-form')) {
|
|
418
|
+
customElements.define('forcecal-event-form', EventForm);
|
|
419
419
|
}
|
|
@@ -17,14 +17,14 @@ import { DayView } from './views/DayView.js';
|
|
|
17
17
|
import { EventForm } from './EventForm.js'; // Import EventForm
|
|
18
18
|
|
|
19
19
|
// Register view components
|
|
20
|
-
if (!customElements.get('
|
|
21
|
-
customElements.define('
|
|
20
|
+
if (!customElements.get('forcecal-month')) {
|
|
21
|
+
customElements.define('forcecal-month', MonthView);
|
|
22
22
|
}
|
|
23
|
-
if (!customElements.get('
|
|
24
|
-
customElements.define('
|
|
23
|
+
if (!customElements.get('forcecal-week')) {
|
|
24
|
+
customElements.define('forcecal-week', WeekView);
|
|
25
25
|
}
|
|
26
|
-
if (!customElements.get('
|
|
27
|
-
customElements.define('
|
|
26
|
+
if (!customElements.get('forcecal-day')) {
|
|
27
|
+
customElements.define('forcecal-day', DayView);
|
|
28
28
|
}
|
|
29
29
|
// EventForm is self-registering in its file
|
|
30
30
|
|
|
@@ -273,9 +273,9 @@ export class ForceCalendar extends BaseComponent {
|
|
|
273
273
|
}
|
|
274
274
|
|
|
275
275
|
/* Ensure view components have proper dimensions */
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
276
|
+
forcecal-month,
|
|
277
|
+
forcecal-week,
|
|
278
|
+
forcecal-day {
|
|
279
279
|
display: block;
|
|
280
280
|
width: 100%;
|
|
281
281
|
height: 100%;
|
|
@@ -415,7 +415,7 @@ export class ForceCalendar extends BaseComponent {
|
|
|
415
415
|
`}
|
|
416
416
|
</div>
|
|
417
417
|
|
|
418
|
-
<
|
|
418
|
+
<forcecal-event-form id="event-modal"></forcecal-event-form>
|
|
419
419
|
</div>
|
|
420
420
|
`;
|
|
421
421
|
}
|
|
@@ -425,15 +425,27 @@ export class ForceCalendar extends BaseComponent {
|
|
|
425
425
|
return '<div>Loading view...</div>';
|
|
426
426
|
}
|
|
427
427
|
|
|
428
|
-
const tagName = `
|
|
428
|
+
const tagName = `forcecal-${this.currentView}`;
|
|
429
429
|
return `<${tagName} id="calendar-view"></${tagName}>`;
|
|
430
430
|
}
|
|
431
431
|
|
|
432
432
|
afterRender() {
|
|
433
433
|
// Set up view component
|
|
434
434
|
const viewElement = this.$('#calendar-view');
|
|
435
|
+
console.log('[ForceCalendar] afterRender - viewElement:', viewElement);
|
|
436
|
+
console.log('[ForceCalendar] afterRender - stateManager:', !!this.stateManager);
|
|
435
437
|
if (viewElement && this.stateManager) {
|
|
436
|
-
|
|
438
|
+
// Use method call for Salesforce Locker Service compatibility
|
|
439
|
+
// Property setters may not work through Locker Service proxies
|
|
440
|
+
if (typeof viewElement.setStateManager === 'function') {
|
|
441
|
+
console.log('[ForceCalendar] Using setStateManager method');
|
|
442
|
+
viewElement.setStateManager(this.stateManager);
|
|
443
|
+
} else {
|
|
444
|
+
console.log('[ForceCalendar] Using stateManager property setter');
|
|
445
|
+
viewElement.stateManager = this.stateManager;
|
|
446
|
+
}
|
|
447
|
+
} else {
|
|
448
|
+
console.log('[ForceCalendar] Could not set stateManager - viewElement:', !!viewElement, 'stateManager:', !!this.stateManager);
|
|
437
449
|
}
|
|
438
450
|
|
|
439
451
|
// Add event listeners for buttons using tracked addListener
|
|
@@ -585,6 +597,6 @@ export class ForceCalendar extends BaseComponent {
|
|
|
585
597
|
}
|
|
586
598
|
|
|
587
599
|
// Register component
|
|
588
|
-
if (!customElements.get('
|
|
589
|
-
customElements.define('
|
|
600
|
+
if (!customElements.get('forcecal-main')) {
|
|
601
|
+
customElements.define('forcecal-main', ForceCalendar);
|
|
590
602
|
}
|
|
@@ -18,6 +18,12 @@ export class DayView extends BaseComponent {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
set stateManager(manager) {
|
|
21
|
+
this.setStateManager(manager);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Method alternative for Salesforce Locker Service compatibility
|
|
25
|
+
setStateManager(manager) {
|
|
26
|
+
if (this._stateManager === manager) return;
|
|
21
27
|
this._stateManager = manager;
|
|
22
28
|
if (manager) {
|
|
23
29
|
this.unsubscribe = manager.subscribe(this.handleStateUpdate.bind(this));
|
|
@@ -20,8 +20,21 @@ export class MonthView extends BaseComponent {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
set stateManager(manager) {
|
|
23
|
+
console.log('[MonthView] stateManager setter called with:', !!manager);
|
|
24
|
+
this.setStateManager(manager);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Method alternative for Salesforce Locker Service compatibility
|
|
28
|
+
setStateManager(manager) {
|
|
29
|
+
console.log('[MonthView] setStateManager method called with:', !!manager);
|
|
30
|
+
// Prevent re-initialization if same manager
|
|
31
|
+
if (this._stateManager === manager) {
|
|
32
|
+
console.log('[MonthView] stateManager already set, skipping');
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
23
35
|
this._stateManager = manager;
|
|
24
36
|
if (manager) {
|
|
37
|
+
console.log('[MonthView] Subscribing to state changes and loading view data');
|
|
25
38
|
// Subscribe to state changes
|
|
26
39
|
this.unsubscribe = manager.subscribe(this.handleStateUpdate.bind(this));
|
|
27
40
|
this.loadViewData();
|
|
@@ -67,11 +80,15 @@ export class MonthView extends BaseComponent {
|
|
|
67
80
|
}
|
|
68
81
|
|
|
69
82
|
loadViewData() {
|
|
83
|
+
console.log('[MonthView] loadViewData called, stateManager:', !!this.stateManager);
|
|
70
84
|
if (!this.stateManager) return;
|
|
71
85
|
|
|
72
86
|
const viewData = this.stateManager.getViewData();
|
|
87
|
+
console.log('[MonthView] viewData from stateManager:', viewData);
|
|
73
88
|
this.viewData = this.processViewData(viewData);
|
|
89
|
+
console.log('[MonthView] processed viewData:', this.viewData);
|
|
74
90
|
this.render();
|
|
91
|
+
console.log('[MonthView] render completed');
|
|
75
92
|
}
|
|
76
93
|
|
|
77
94
|
processViewData(viewData) {
|
|
@@ -18,6 +18,12 @@ export class WeekView extends BaseComponent {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
set stateManager(manager) {
|
|
21
|
+
this.setStateManager(manager);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Method alternative for Salesforce Locker Service compatibility
|
|
25
|
+
setStateManager(manager) {
|
|
26
|
+
if (this._stateManager === manager) return;
|
|
21
27
|
this._stateManager = manager;
|
|
22
28
|
if (manager) {
|
|
23
29
|
this.unsubscribe = manager.subscribe(this.handleStateUpdate.bind(this));
|