@elqnt/entity 2.0.7 → 2.1.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.
- package/dist/api/index.d.mts +45 -0
- package/dist/api/index.d.ts +45 -0
- package/dist/api/index.js +34 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/index.mjs +34 -0
- package/dist/api/index.mjs.map +1 -0
- package/dist/chunk-2ESVAJLT.mjs +204 -0
- package/dist/chunk-2ESVAJLT.mjs.map +1 -0
- package/dist/chunk-FVMQRPOM.js +204 -0
- package/dist/chunk-FVMQRPOM.js.map +1 -0
- package/dist/chunk-SXBB42DJ.js +80 -0
- package/dist/chunk-SXBB42DJ.js.map +1 -0
- package/dist/chunk-UHASYUCH.mjs +80 -0
- package/dist/chunk-UHASYUCH.mjs.map +1 -0
- package/dist/hooks/index.d.mts +46 -0
- package/dist/hooks/index.d.ts +46 -0
- package/dist/hooks/index.js +10 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/index.mjs +10 -0
- package/dist/hooks/index.mjs.map +1 -0
- package/dist/index.d.mts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +35 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +35 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +19 -7
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../store/entity-definition-slice.ts","../store/entity-record-slice.ts","../consts/colors.ts"],"sourcesContent":["// store/entityDefinitionSlice.ts\nimport { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { EntityDefinition, EntityView } from \"../models\";\nexport interface EntityDefinitionState {\n definitions: Record<string, EntityDefinition>;\n selectedDefinition?: EntityDefinition;\n views: Record<string, EntityView[]>;\n selectedView?: EntityView;\n isLoading: boolean;\n error?: string;\n loadingStates: Record<string, boolean>;\n}\n\nexport interface EntityDefinitionSelector {\n entityDefinition: EntityDefinitionState;\n}\n\nconst initialState: EntityDefinitionState = {\n definitions: {},\n views: {},\n isLoading: false,\n loadingStates: {},\n};\n\nconst entityDefinitionSlice = createSlice({\n name: \"entityDefinition\",\n initialState,\n reducers: {\n setLoading: (state, action: PayloadAction<boolean>) => {\n state.isLoading = action.payload;\n },\n setOperationLoading: (\n state,\n action: PayloadAction<{ operation: string; loading: boolean }>\n ) => {\n state.loadingStates[action.payload.operation] = action.payload.loading;\n },\n setError: (state, action: PayloadAction<string | undefined>) => {\n state.error = action.payload;\n },\n setDefinitions: (state, action: PayloadAction<EntityDefinition[]>) => {\n state.definitions = action.payload.reduce(\n (acc, def) => {\n acc[def.name] = def;\n return acc;\n },\n {} as Record<string, EntityDefinition>\n );\n },\n addDefinition: (state, action: PayloadAction<EntityDefinition>) => {\n const definition = action.payload;\n state.definitions[definition.name] = definition;\n },\n updateDefinition: (state, action: PayloadAction<EntityDefinition>) => {\n const definition = action.payload;\n state.definitions[definition.name] = definition;\n if (state.selectedDefinition?.name === definition.name) {\n state.selectedDefinition = definition;\n }\n },\n removeDefinition: (state, action: PayloadAction<string>) => {\n delete state.definitions[action.payload];\n if (state.selectedDefinition?.name === action.payload) {\n state.selectedDefinition = undefined;\n }\n },\n setSelectedDefinition: (\n state,\n action: PayloadAction<EntityDefinition | undefined>\n ) => {\n state.selectedDefinition = action.payload;\n },\n setViews: (\n state,\n action: PayloadAction<{ entityName: string; views: EntityView[] }>\n ) => {\n const { entityName, views } = action.payload;\n state.views[entityName] = views;\n },\n addView: (\n state,\n action: PayloadAction<{ entityName: string; view: EntityView }>\n ) => {\n const { entityName, view } = action.payload;\n if (!state.views[entityName]) {\n state.views[entityName] = [];\n }\n state.views[entityName].push(view);\n },\n updateView: (\n state,\n action: PayloadAction<{ entityName: string; view: EntityView }>\n ) => {\n const { entityName, view } = action.payload;\n const views = state.views[entityName];\n if (views) {\n const index = views.findIndex((v) => v.id === view.id);\n if (index !== -1) {\n views[index] = view;\n if (state.selectedView?.id === view.id) {\n state.selectedView = view;\n }\n }\n }\n },\n removeView: (\n state,\n action: PayloadAction<{ entityName: string; viewId: string }>\n ) => {\n const { entityName, viewId } = action.payload;\n const views = state.views[entityName];\n if (views) {\n state.views[entityName] = views.filter((v) => v.id !== viewId);\n if (state.selectedView?.id === viewId) {\n state.selectedView = undefined;\n }\n }\n },\n setSelectedView: (state, action: PayloadAction<EntityView | undefined>) => {\n state.selectedView = action.payload;\n },\n },\n});\n\nexport const {\n setLoading,\n setOperationLoading,\n setError,\n setDefinitions,\n addDefinition,\n updateDefinition,\n removeDefinition,\n setSelectedDefinition,\n setViews,\n addView,\n updateView,\n removeView,\n setSelectedView,\n} = entityDefinitionSlice.actions;\n\nexport const entityDefinitionReducer = entityDefinitionSlice.reducer;\n","// store/entity-record-slice.ts\nimport { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { EntityQuery, EntityRecord, EntityView, ListResult } from \"../models\";\n\nexport interface EntityRecordState {\n records: {\n [entityName: string]: {\n items: Record<string, EntityRecord>;\n params: EntityQuery;\n meta: ListResult<EntityRecord>;\n selected: string[]; // Selected record IDs\n };\n };\n selectedRecord?: EntityRecord;\n activeView?: EntityView;\n isLoading: boolean;\n error?: string;\n loadingStates: Record<string, boolean>;\n}\n\nexport interface EntityRecordSelector {\n entityRecord: EntityRecordState;\n}\n\nconst initialState: EntityRecordState = {\n records: {},\n isLoading: false,\n loadingStates: {},\n};\n\nconst entityRecordSlice = createSlice({\n name: \"entityRecord\",\n initialState,\n reducers: {\n setLoading: (state, action: PayloadAction<boolean>) => {\n state.isLoading = action.payload;\n },\n\n setOperationLoading: (\n state,\n action: PayloadAction<{ operation: string; loading: boolean }>\n ) => {\n state.loadingStates[action.payload.operation] = action.payload.loading;\n },\n\n setError: (state, action: PayloadAction<string | undefined>) => {\n state.error = action.payload;\n },\n\n setRecords: (\n state,\n action: PayloadAction<{\n entityName: string;\n records: ListResult<EntityRecord>;\n params: EntityQuery;\n }>\n ) => {\n const { entityName, records, params } = action.payload;\n state.records[entityName] = {\n items: records.items.reduce(\n (acc, record) => {\n acc[record.id] = record;\n return acc;\n },\n {} as Record<string, EntityRecord>\n ),\n params,\n meta: records,\n selected: [],\n };\n },\n\n addRecord: (\n state,\n action: PayloadAction<{ entityName: string; record: EntityRecord }>\n ) => {\n const { entityName, record } = action.payload;\n if (state.records[entityName]) {\n state.records[entityName].items[record.id] = record;\n }\n },\n\n updateRecord: (\n state,\n action: PayloadAction<{ entityName: string; record: EntityRecord }>\n ) => {\n const { entityName, record } = action.payload;\n if (state.records[entityName]) {\n state.records[entityName].items[record.id] = record;\n }\n },\n\n removeRecord: (\n state,\n action: PayloadAction<{ entityName: string; recordId: string }>\n ) => {\n const { entityName, recordId } = action.payload;\n if (state.records[entityName]) {\n delete state.records[entityName].items[recordId];\n state.records[entityName].selected = state.records[\n entityName\n ].selected.filter((id) => id !== recordId);\n }\n },\n\n setSelected: (\n state,\n action: PayloadAction<{ entityName: string; ids: string[] }>\n ) => {\n const { entityName, ids } = action.payload;\n if (state.records[entityName]) {\n state.records[entityName].selected = ids;\n }\n },\n\n setActiveView: (state, action: PayloadAction<EntityView | undefined>) => {\n state.activeView = action.payload;\n },\n\n updateQueryParams: (\n state,\n action: PayloadAction<{\n entityName: string;\n params: Partial<EntityQuery>;\n }>\n ) => {\n const { entityName, params } = action.payload;\n if (state.records[entityName]) {\n state.records[entityName].params = {\n ...state.records[entityName].params,\n ...params,\n };\n }\n },\n\n setSelectedRecord: (\n state,\n action: PayloadAction<{ record: EntityRecord }>\n ) => {\n const { record } = action.payload;\n state.selectedRecord = record;\n },\n },\n});\n\nexport const {\n setLoading,\n setOperationLoading,\n setError,\n setRecords,\n addRecord,\n updateRecord,\n removeRecord,\n setSelected,\n setSelectedRecord,\n setActiveView,\n updateQueryParams,\n} = entityRecordSlice.actions;\n\nexport const entityRecordReducer = entityRecordSlice.reducer;\n","// Predefined colors with their display names\nexport const PREDEFINED_COLORS = [\n { value: \"#EF4444\", name: \"Red\" },\n { value: \"#F97316\", name: \"Orange\" },\n { value: \"#EAB308\", name: \"Yellow\" },\n { value: \"#22C55E\", name: \"Green\" },\n { value: \"#06B6D4\", name: \"Cyan\" },\n { value: \"#3B82F6\", name: \"Blue\" },\n { value: \"#6366F1\", name: \"Indigo\" },\n { value: \"#A855F7\", name: \"Purple\" },\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,mBAAkC;AAgB3C,IAAM,eAAsC;AAAA,EAC1C,aAAa,CAAC;AAAA,EACd,OAAO,CAAC;AAAA,EACR,WAAW;AAAA,EACX,eAAe,CAAC;AAClB;AAEA,IAAM,wBAAwB,YAAY;AAAA,EACxC,MAAM;AAAA,EACN;AAAA,EACA,UAAU;AAAA,IACR,YAAY,CAAC,OAAO,WAAmC;AACrD,YAAM,YAAY,OAAO;AAAA,IAC3B;AAAA,IACA,qBAAqB,CACnB,OACA,WACG;AACH,YAAM,cAAc,OAAO,QAAQ,SAAS,IAAI,OAAO,QAAQ;AAAA,IACjE;AAAA,IACA,UAAU,CAAC,OAAO,WAA8C;AAC9D,YAAM,QAAQ,OAAO;AAAA,IACvB;AAAA,IACA,gBAAgB,CAAC,OAAO,WAA8C;AACpE,YAAM,cAAc,OAAO,QAAQ;AAAA,QACjC,CAAC,KAAK,QAAQ;AACZ,cAAI,IAAI,IAAI,IAAI;AAChB,iBAAO;AAAA,QACT;AAAA,QACA,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,eAAe,CAAC,OAAO,WAA4C;AACjE,YAAM,aAAa,OAAO;AAC1B,YAAM,YAAY,WAAW,IAAI,IAAI;AAAA,IACvC;AAAA,IACA,kBAAkB,CAAC,OAAO,WAA4C;AACpE,YAAM,aAAa,OAAO;AAC1B,YAAM,YAAY,WAAW,IAAI,IAAI;AACrC,UAAI,MAAM,oBAAoB,SAAS,WAAW,MAAM;AACtD,cAAM,qBAAqB;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,OAAO,WAAkC;AAC1D,aAAO,MAAM,YAAY,OAAO,OAAO;AACvC,UAAI,MAAM,oBAAoB,SAAS,OAAO,SAAS;AACrD,cAAM,qBAAqB;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,uBAAuB,CACrB,OACA,WACG;AACH,YAAM,qBAAqB,OAAO;AAAA,IACpC;AAAA,IACA,UAAU,CACR,OACA,WACG;AACH,YAAM,EAAE,YAAY,MAAM,IAAI,OAAO;AACrC,YAAM,MAAM,UAAU,IAAI;AAAA,IAC5B;AAAA,IACA,SAAS,CACP,OACA,WACG;AACH,YAAM,EAAE,YAAY,KAAK,IAAI,OAAO;AACpC,UAAI,CAAC,MAAM,MAAM,UAAU,GAAG;AAC5B,cAAM,MAAM,UAAU,IAAI,CAAC;AAAA,MAC7B;AACA,YAAM,MAAM,UAAU,EAAE,KAAK,IAAI;AAAA,IACnC;AAAA,IACA,YAAY,CACV,OACA,WACG;AACH,YAAM,EAAE,YAAY,KAAK,IAAI,OAAO;AACpC,YAAM,QAAQ,MAAM,MAAM,UAAU;AACpC,UAAI,OAAO;AACT,cAAM,QAAQ,MAAM,UAAU,CAAC,MAAM,EAAE,OAAO,KAAK,EAAE;AACrD,YAAI,UAAU,IAAI;AAChB,gBAAM,KAAK,IAAI;AACf,cAAI,MAAM,cAAc,OAAO,KAAK,IAAI;AACtC,kBAAM,eAAe;AAAA,UACvB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,YAAY,CACV,OACA,WACG;AACH,YAAM,EAAE,YAAY,OAAO,IAAI,OAAO;AACtC,YAAM,QAAQ,MAAM,MAAM,UAAU;AACpC,UAAI,OAAO;AACT,cAAM,MAAM,UAAU,IAAI,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,MAAM;AAC7D,YAAI,MAAM,cAAc,OAAO,QAAQ;AACrC,gBAAM,eAAe;AAAA,QACvB;AAAA,MACF;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,OAAO,WAAkD;AACzE,YAAM,eAAe,OAAO;AAAA,IAC9B;AAAA,EACF;AACF,CAAC;AAEM,IAAM;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAI,sBAAsB;AAEnB,IAAM,0BAA0B,sBAAsB;;;AC3I7D,SAAS,eAAAA,oBAAkC;AAuB3C,IAAMC,gBAAkC;AAAA,EACtC,SAAS,CAAC;AAAA,EACV,WAAW;AAAA,EACX,eAAe,CAAC;AAClB;AAEA,IAAM,oBAAoBD,aAAY;AAAA,EACpC,MAAM;AAAA,EACN,cAAAC;AAAA,EACA,UAAU;AAAA,IACR,YAAY,CAAC,OAAO,WAAmC;AACrD,YAAM,YAAY,OAAO;AAAA,IAC3B;AAAA,IAEA,qBAAqB,CACnB,OACA,WACG;AACH,YAAM,cAAc,OAAO,QAAQ,SAAS,IAAI,OAAO,QAAQ;AAAA,IACjE;AAAA,IAEA,UAAU,CAAC,OAAO,WAA8C;AAC9D,YAAM,QAAQ,OAAO;AAAA,IACvB;AAAA,IAEA,YAAY,CACV,OACA,WAKG;AACH,YAAM,EAAE,YAAY,SAAS,OAAO,IAAI,OAAO;AAC/C,YAAM,QAAQ,UAAU,IAAI;AAAA,QAC1B,OAAO,QAAQ,MAAM;AAAA,UACnB,CAAC,KAAK,WAAW;AACf,gBAAI,OAAO,EAAE,IAAI;AACjB,mBAAO;AAAA,UACT;AAAA,UACA,CAAC;AAAA,QACH;AAAA,QACA;AAAA,QACA,MAAM;AAAA,QACN,UAAU,CAAC;AAAA,MACb;AAAA,IACF;AAAA,IAEA,WAAW,CACT,OACA,WACG;AACH,YAAM,EAAE,YAAY,OAAO,IAAI,OAAO;AACtC,UAAI,MAAM,QAAQ,UAAU,GAAG;AAC7B,cAAM,QAAQ,UAAU,EAAE,MAAM,OAAO,EAAE,IAAI;AAAA,MAC/C;AAAA,IACF;AAAA,IAEA,cAAc,CACZ,OACA,WACG;AACH,YAAM,EAAE,YAAY,OAAO,IAAI,OAAO;AACtC,UAAI,MAAM,QAAQ,UAAU,GAAG;AAC7B,cAAM,QAAQ,UAAU,EAAE,MAAM,OAAO,EAAE,IAAI;AAAA,MAC/C;AAAA,IACF;AAAA,IAEA,cAAc,CACZ,OACA,WACG;AACH,YAAM,EAAE,YAAY,SAAS,IAAI,OAAO;AACxC,UAAI,MAAM,QAAQ,UAAU,GAAG;AAC7B,eAAO,MAAM,QAAQ,UAAU,EAAE,MAAM,QAAQ;AAC/C,cAAM,QAAQ,UAAU,EAAE,WAAW,MAAM,QACzC,UACF,EAAE,SAAS,OAAO,CAAC,OAAO,OAAO,QAAQ;AAAA,MAC3C;AAAA,IACF;AAAA,IAEA,aAAa,CACX,OACA,WACG;AACH,YAAM,EAAE,YAAY,IAAI,IAAI,OAAO;AACnC,UAAI,MAAM,QAAQ,UAAU,GAAG;AAC7B,cAAM,QAAQ,UAAU,EAAE,WAAW;AAAA,MACvC;AAAA,IACF;AAAA,IAEA,eAAe,CAAC,OAAO,WAAkD;AACvE,YAAM,aAAa,OAAO;AAAA,IAC5B;AAAA,IAEA,mBAAmB,CACjB,OACA,WAIG;AACH,YAAM,EAAE,YAAY,OAAO,IAAI,OAAO;AACtC,UAAI,MAAM,QAAQ,UAAU,GAAG;AAC7B,cAAM,QAAQ,UAAU,EAAE,SAAS;AAAA,UACjC,GAAG,MAAM,QAAQ,UAAU,EAAE;AAAA,UAC7B,GAAG;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAAA,IAEA,mBAAmB,CACjB,OACA,WACG;AACH,YAAM,EAAE,OAAO,IAAI,OAAO;AAC1B,YAAM,iBAAiB;AAAA,IACzB;AAAA,EACF;AACF,CAAC;AAEM,IAAM;AAAA,EACX,YAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,UAAAC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAI,kBAAkB;AAEf,IAAM,sBAAsB,kBAAkB;;;AC9J9C,IAAM,oBAAoB;AAAA,EAC/B,EAAE,OAAO,WAAW,MAAM,MAAM;AAAA,EAChC,EAAE,OAAO,WAAW,MAAM,SAAS;AAAA,EACnC,EAAE,OAAO,WAAW,MAAM,SAAS;AAAA,EACnC,EAAE,OAAO,WAAW,MAAM,QAAQ;AAAA,EAClC,EAAE,OAAO,WAAW,MAAM,OAAO;AAAA,EACjC,EAAE,OAAO,WAAW,MAAM,OAAO;AAAA,EACjC,EAAE,OAAO,WAAW,MAAM,SAAS;AAAA,EACnC,EAAE,OAAO,WAAW,MAAM,SAAS;AACrC;","names":["createSlice","initialState","setLoading","setOperationLoading","setError"]}
|
|
1
|
+
{"version":3,"sources":["../store/entity-definition-slice.ts","../store/entity-record-slice.ts","../consts/colors.ts"],"sourcesContent":["// store/entityDefinitionSlice.ts\nimport { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { EntityDefinition, EntityView } from \"../models\";\nexport interface EntityDefinitionState {\n definitions: Record<string, EntityDefinition>;\n selectedDefinition?: EntityDefinition;\n views: Record<string, EntityView[]>;\n selectedView?: EntityView;\n isLoading: boolean;\n error?: string;\n loadingStates: Record<string, boolean>;\n}\n\nexport interface EntityDefinitionSelector {\n entityDefinition: EntityDefinitionState;\n}\n\nconst initialState: EntityDefinitionState = {\n definitions: {},\n views: {},\n isLoading: false,\n loadingStates: {},\n};\n\nconst entityDefinitionSlice = createSlice({\n name: \"entityDefinition\",\n initialState,\n reducers: {\n setLoading: (state, action: PayloadAction<boolean>) => {\n state.isLoading = action.payload;\n },\n setOperationLoading: (\n state,\n action: PayloadAction<{ operation: string; loading: boolean }>\n ) => {\n state.loadingStates[action.payload.operation] = action.payload.loading;\n },\n setError: (state, action: PayloadAction<string | undefined>) => {\n state.error = action.payload;\n },\n setDefinitions: (state, action: PayloadAction<EntityDefinition[]>) => {\n state.definitions = action.payload.reduce(\n (acc, def) => {\n acc[def.name] = def;\n return acc;\n },\n {} as Record<string, EntityDefinition>\n );\n },\n addDefinition: (state, action: PayloadAction<EntityDefinition>) => {\n const definition = action.payload;\n state.definitions[definition.name] = definition;\n },\n updateDefinition: (state, action: PayloadAction<EntityDefinition>) => {\n const definition = action.payload;\n state.definitions[definition.name] = definition;\n if (state.selectedDefinition?.name === definition.name) {\n state.selectedDefinition = definition;\n }\n },\n removeDefinition: (state, action: PayloadAction<string>) => {\n delete state.definitions[action.payload];\n if (state.selectedDefinition?.name === action.payload) {\n state.selectedDefinition = undefined;\n }\n },\n setSelectedDefinition: (\n state,\n action: PayloadAction<EntityDefinition | undefined>\n ) => {\n state.selectedDefinition = action.payload;\n },\n setViews: (\n state,\n action: PayloadAction<{ entityName: string; views: EntityView[] }>\n ) => {\n const { entityName, views } = action.payload;\n state.views[entityName] = views;\n },\n addView: (\n state,\n action: PayloadAction<{ entityName: string; view: EntityView }>\n ) => {\n const { entityName, view } = action.payload;\n if (!state.views[entityName]) {\n state.views[entityName] = [];\n }\n state.views[entityName].push(view);\n },\n updateView: (\n state,\n action: PayloadAction<{ entityName: string; view: EntityView }>\n ) => {\n const { entityName, view } = action.payload;\n const views = state.views[entityName];\n if (views) {\n const index = views.findIndex((v) => v.id === view.id);\n if (index !== -1) {\n views[index] = view;\n if (state.selectedView?.id === view.id) {\n state.selectedView = view;\n }\n }\n }\n },\n removeView: (\n state,\n action: PayloadAction<{ entityName: string; viewId: string }>\n ) => {\n const { entityName, viewId } = action.payload;\n const views = state.views[entityName];\n if (views) {\n state.views[entityName] = views.filter((v) => v.id !== viewId);\n if (state.selectedView?.id === viewId) {\n state.selectedView = undefined;\n }\n }\n },\n setSelectedView: (state, action: PayloadAction<EntityView | undefined>) => {\n state.selectedView = action.payload;\n },\n },\n});\n\nexport const {\n setLoading,\n setOperationLoading,\n setError,\n setDefinitions,\n addDefinition,\n updateDefinition,\n removeDefinition,\n setSelectedDefinition,\n setViews,\n addView,\n updateView,\n removeView,\n setSelectedView,\n} = entityDefinitionSlice.actions;\n\nexport const entityDefinitionReducer = entityDefinitionSlice.reducer;\n","// store/entity-record-slice.ts\nimport { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { EntityQuery, EntityRecord, EntityView, ListResult } from \"../models\";\n\nexport interface EntityRecordState {\n records: {\n [entityName: string]: {\n items: Record<string, EntityRecord>;\n params: EntityQuery;\n meta: ListResult<EntityRecord>;\n selected: string[]; // Selected record IDs\n };\n };\n selectedRecord?: EntityRecord;\n activeView?: EntityView;\n isLoading: boolean;\n error?: string;\n loadingStates: Record<string, boolean>;\n}\n\nexport interface EntityRecordSelector {\n entityRecord: EntityRecordState;\n}\n\nconst initialState: EntityRecordState = {\n records: {},\n isLoading: false,\n loadingStates: {},\n};\n\nconst entityRecordSlice = createSlice({\n name: \"entityRecord\",\n initialState,\n reducers: {\n setLoading: (state, action: PayloadAction<boolean>) => {\n state.isLoading = action.payload;\n },\n\n setOperationLoading: (\n state,\n action: PayloadAction<{ operation: string; loading: boolean }>\n ) => {\n state.loadingStates[action.payload.operation] = action.payload.loading;\n },\n\n setError: (state, action: PayloadAction<string | undefined>) => {\n state.error = action.payload;\n },\n\n setRecords: (\n state,\n action: PayloadAction<{\n entityName: string;\n records: ListResult<EntityRecord>;\n params: EntityQuery;\n }>\n ) => {\n const { entityName, records, params } = action.payload;\n state.records[entityName] = {\n items: records.items.reduce(\n (acc, record) => {\n acc[record.id] = record;\n return acc;\n },\n {} as Record<string, EntityRecord>\n ),\n params,\n meta: records,\n selected: [],\n };\n },\n\n addRecord: (\n state,\n action: PayloadAction<{ entityName: string; record: EntityRecord }>\n ) => {\n const { entityName, record } = action.payload;\n if (state.records[entityName]) {\n state.records[entityName].items[record.id] = record;\n }\n },\n\n updateRecord: (\n state,\n action: PayloadAction<{ entityName: string; record: EntityRecord }>\n ) => {\n const { entityName, record } = action.payload;\n if (state.records[entityName]) {\n state.records[entityName].items[record.id] = record;\n }\n },\n\n removeRecord: (\n state,\n action: PayloadAction<{ entityName: string; recordId: string }>\n ) => {\n const { entityName, recordId } = action.payload;\n if (state.records[entityName]) {\n delete state.records[entityName].items[recordId];\n state.records[entityName].selected = state.records[\n entityName\n ].selected.filter((id) => id !== recordId);\n }\n },\n\n setSelected: (\n state,\n action: PayloadAction<{ entityName: string; ids: string[] }>\n ) => {\n const { entityName, ids } = action.payload;\n if (state.records[entityName]) {\n state.records[entityName].selected = ids;\n }\n },\n\n setActiveView: (state, action: PayloadAction<EntityView | undefined>) => {\n state.activeView = action.payload;\n },\n\n updateQueryParams: (\n state,\n action: PayloadAction<{\n entityName: string;\n params: Partial<EntityQuery>;\n }>\n ) => {\n const { entityName, params } = action.payload;\n if (state.records[entityName]) {\n state.records[entityName].params = {\n ...state.records[entityName].params,\n ...params,\n };\n }\n },\n\n setSelectedRecord: (\n state,\n action: PayloadAction<{ record: EntityRecord }>\n ) => {\n const { record } = action.payload;\n state.selectedRecord = record;\n },\n },\n});\n\nexport const {\n setLoading,\n setOperationLoading,\n setError,\n setRecords,\n addRecord,\n updateRecord,\n removeRecord,\n setSelected,\n setSelectedRecord,\n setActiveView,\n updateQueryParams,\n} = entityRecordSlice.actions;\n\nexport const entityRecordReducer = entityRecordSlice.reducer;\n","// Predefined colors with their display names\nexport const PREDEFINED_COLORS = [\n { value: \"#EF4444\", name: \"Red\" },\n { value: \"#F97316\", name: \"Orange\" },\n { value: \"#EAB308\", name: \"Yellow\" },\n { value: \"#22C55E\", name: \"Green\" },\n { value: \"#06B6D4\", name: \"Cyan\" },\n { value: \"#3B82F6\", name: \"Blue\" },\n { value: \"#6366F1\", name: \"Indigo\" },\n { value: \"#A855F7\", name: \"Purple\" },\n];\n"],"mappings":"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","names":["createSlice","initialState","setLoading","setOperationLoading","setError"]}
|
package/package.json
CHANGED
|
@@ -1,20 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elqnt/entity",
|
|
3
|
-
"version": "2.0
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2.1.0",
|
|
4
|
+
"description": "Complete entity management for Eloquent platform - models, API, hooks, and store",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
10
11
|
"import": "./dist/index.mjs",
|
|
11
|
-
"require": "./dist/index.js"
|
|
12
|
-
"types": "./dist/index.d.ts"
|
|
12
|
+
"require": "./dist/index.js"
|
|
13
13
|
},
|
|
14
14
|
"./models": {
|
|
15
|
+
"types": "./dist/models/index.d.ts",
|
|
15
16
|
"import": "./dist/models/index.mjs",
|
|
16
|
-
"require": "./dist/models/index.js"
|
|
17
|
-
|
|
17
|
+
"require": "./dist/models/index.js"
|
|
18
|
+
},
|
|
19
|
+
"./api": {
|
|
20
|
+
"types": "./dist/api/index.d.ts",
|
|
21
|
+
"import": "./dist/api/index.mjs",
|
|
22
|
+
"require": "./dist/api/index.js"
|
|
23
|
+
},
|
|
24
|
+
"./hooks": {
|
|
25
|
+
"types": "./dist/hooks/index.d.ts",
|
|
26
|
+
"import": "./dist/hooks/index.mjs",
|
|
27
|
+
"require": "./dist/hooks/index.js"
|
|
18
28
|
}
|
|
19
29
|
},
|
|
20
30
|
"files": ["dist"],
|
|
@@ -30,7 +40,8 @@
|
|
|
30
40
|
"directory": "packages/entity"
|
|
31
41
|
},
|
|
32
42
|
"dependencies": {
|
|
33
|
-
"@elqnt/types": "^2.0.0"
|
|
43
|
+
"@elqnt/types": "^2.0.0",
|
|
44
|
+
"@elqnt/api-client": "^1.0.0"
|
|
34
45
|
},
|
|
35
46
|
"peerDependencies": {
|
|
36
47
|
"@reduxjs/toolkit": "^2.0.0",
|
|
@@ -38,6 +49,7 @@
|
|
|
38
49
|
"react-redux": "^9.0.0"
|
|
39
50
|
},
|
|
40
51
|
"devDependencies": {
|
|
52
|
+
"@elqnt/api-client": "^1.0.0",
|
|
41
53
|
"@reduxjs/toolkit": "^2.3.0",
|
|
42
54
|
"@types/react": "^19.0.0",
|
|
43
55
|
"react": "^19.0.0",
|