Upgrades @novadi/core and refactors dependency registration
Updates package dependencies to latest version of @novadi/core Simplifies dependency and service registration by removing automatic array resolution of stores, API repositories, and entity services Adds DateColumnDataSource as a new column data source implementation
This commit is contained in:
parent
cd2466426b
commit
871f5c5682
3 changed files with 9 additions and 17 deletions
8
package-lock.json
generated
8
package-lock.json
generated
|
|
@ -8,7 +8,7 @@
|
|||
"name": "calendar-plantempus",
|
||||
"version": "1.0.0",
|
||||
"dependencies": {
|
||||
"@novadi/core": "^0.5.5",
|
||||
"@novadi/core": "^0.6.0",
|
||||
"@rollup/rollup-win32-x64-msvc": "^4.52.2",
|
||||
"dayjs": "^1.11.19",
|
||||
"fuse.js": "^7.1.0"
|
||||
|
|
@ -728,9 +728,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@novadi/core": {
|
||||
"version": "0.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@novadi/core/-/core-0.5.5.tgz",
|
||||
"integrity": "sha512-i4r08cyZjdjbNLNEq3Ul2QMnfCBNJZboCwVLvgL5wAR6+jQ4PDBCmdqfMMnF6kegwGD8R7DdhO/TocdjkGZ+qw==",
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@novadi/core/-/core-0.6.0.tgz",
|
||||
"integrity": "sha512-CU1134Nd7ULMg9OQbID5oP+FLtrMkNiLJ17+dmy4jjmPDcPK/dVzKTFxvJmbBvEfZEc9WtmkmJjqw11ABU7Jxw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"unplugin": "^2.3.10"
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
"vitest": "^3.2.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"@novadi/core": "^0.5.5",
|
||||
"@novadi/core": "^0.6.0",
|
||||
"@rollup/rollup-win32-x64-msvc": "^4.52.2",
|
||||
"dayjs": "^1.11.19",
|
||||
"fuse.js": "^7.1.0"
|
||||
|
|
|
|||
14
src/index.ts
14
src/index.ts
|
|
@ -63,6 +63,8 @@ import { AllDayLayoutEngine } from './utils/AllDayLayoutEngine';
|
|||
import { WorkHoursManager } from './managers/WorkHoursManager';
|
||||
import { EventStackManager } from './managers/EventStackManager';
|
||||
import { EventLayoutCoordinator } from './managers/EventLayoutCoordinator';
|
||||
import { IColumnDataSource } from './types/ColumnDataSource';
|
||||
import { DateColumnDataSource } from './datasources/DateColumnDataSource';
|
||||
|
||||
/**
|
||||
* Handle deep linking functionality after managers are initialized
|
||||
|
|
@ -115,9 +117,6 @@ async function initializeCalendar(): Promise<void> {
|
|||
builder.registerType(ResourceStore).as<IStore>();
|
||||
builder.registerType(EventStore).as<IStore>();
|
||||
|
||||
// Resolve all IStore implementations and register as array
|
||||
const stores = container.resolveTypeAll<IStore>();
|
||||
builder.registerInstance(stores).as<IStore[]>();
|
||||
|
||||
// Register storage and repository services
|
||||
builder.registerType(IndexedDBService).as<IndexedDBService>();
|
||||
|
|
@ -130,10 +129,7 @@ async function initializeCalendar(): Promise<void> {
|
|||
builder.registerType(ApiCustomerRepository).as<IApiRepository<any>>();
|
||||
builder.registerType(ApiResourceRepository).as<IApiRepository<any>>();
|
||||
|
||||
// Resolve all API repositories and register as array for SyncManager
|
||||
const apiRepositories = container.resolveTypeAll<IApiRepository<any>>();
|
||||
builder.registerInstance(apiRepositories).as<IApiRepository<any>[]>();
|
||||
|
||||
builder.registerType(DateColumnDataSource).as<IColumnDataSource>();
|
||||
// Register entity services (sync status management)
|
||||
// Open/Closed Principle: Adding new entity only requires adding one line here
|
||||
builder.registerType(EventService).as<IEntityService<any>>();
|
||||
|
|
@ -141,10 +137,6 @@ async function initializeCalendar(): Promise<void> {
|
|||
builder.registerType(CustomerService).as<IEntityService<any>>();
|
||||
builder.registerType(ResourceService).as<IEntityService<any>>();
|
||||
|
||||
// Resolve all IEntityService implementations and register as array for SyncManager
|
||||
const entityServices = container.resolveTypeAll<IEntityService<any>>();
|
||||
builder.registerInstance(entityServices).as<IEntityService<any>[]>();
|
||||
|
||||
// Register IndexedDB repositories (offline-first)
|
||||
builder.registerType(IndexedDBEventRepository).as<IEventRepository>();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue