procode-lowcode-core 1.0.0 → 1.0.2
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/README.md +44 -147
- package/dist/index.esm.js +69 -2214
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +103 -2250
- package/dist/index.js.map +1 -1
- package/dist/types/RuleInterpreter/UIEffectProcessor.d.ts +1 -1
- package/dist/types/index.d.ts +4 -10
- package/package.json +6 -4
- package/src/index.ts +8 -15
- package/dist/types/interfaces.d.ts +0 -32
- package/src/interfaces.ts +0 -84
package/README.md
CHANGED
|
@@ -1,188 +1,85 @@
|
|
|
1
|
-
# ProCode Core
|
|
1
|
+
# ProCode Core Library
|
|
2
2
|
|
|
3
|
-
A
|
|
3
|
+
A powerful React framework for building low-code applications with comprehensive UI components, data management, and extensible architecture.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 🚀 Features
|
|
6
|
+
|
|
7
|
+
- **Core Component**: Main React component for bootstrapping ProCode applications
|
|
8
|
+
- **Modular Architecture**: Clear separation of concerns with specialized modules
|
|
9
|
+
- **TypeScript Support**: Full type safety with comprehensive interfaces
|
|
10
|
+
- **Extensible System**: Custom adapters, actions, validations, and widgets
|
|
11
|
+
- **Data Management**: Built-in services for CRUD operations and state management
|
|
12
|
+
- **Styling System**: SCSS-based styling with modular imports
|
|
13
|
+
|
|
14
|
+
## 📦 Installation
|
|
6
15
|
|
|
7
16
|
```bash
|
|
8
|
-
npm install procode-core
|
|
17
|
+
npm install procode-lowcode-core
|
|
9
18
|
```
|
|
10
19
|
|
|
11
|
-
## Usage
|
|
12
|
-
|
|
13
|
-
### Default Export - Core Component
|
|
20
|
+
## 🛠️ Usage
|
|
14
21
|
|
|
15
|
-
|
|
22
|
+
### Basic Setup
|
|
16
23
|
|
|
17
24
|
```tsx
|
|
18
25
|
import React from 'react';
|
|
19
|
-
import Core
|
|
26
|
+
import Core from 'procode-lowcode-core';
|
|
27
|
+
import 'procode-lowcode-core/styles';
|
|
20
28
|
|
|
21
29
|
const App: React.FC = () => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
return (
|
|
31
|
+
<Core
|
|
32
|
+
adapterProvider={myAdapterProvider}
|
|
33
|
+
viewModelHandler={myViewModelHandler}
|
|
34
|
+
templateActionProvider={myActionFactory}
|
|
35
|
+
customWidgetProvider={myWidgetProvider}
|
|
36
|
+
/>
|
|
37
|
+
);
|
|
30
38
|
};
|
|
31
39
|
|
|
32
40
|
export default App;
|
|
33
41
|
```
|
|
34
42
|
|
|
35
|
-
###
|
|
36
|
-
|
|
37
|
-
Import all interfaces and types for TypeScript development:
|
|
43
|
+
### Import Options
|
|
38
44
|
|
|
39
45
|
```tsx
|
|
40
|
-
// Import
|
|
41
|
-
import
|
|
46
|
+
// Import core component
|
|
47
|
+
import Core from 'procode-lowcode-core';
|
|
42
48
|
|
|
43
|
-
//
|
|
44
|
-
import {
|
|
45
|
-
|
|
49
|
+
// Import interfaces and types
|
|
50
|
+
import type {
|
|
51
|
+
CoreProps,
|
|
46
52
|
IAdapterProvider,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
ScreenSchema
|
|
50
|
-
} from 'procode-core';
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Styles
|
|
54
|
-
|
|
55
|
-
Import the core styles in your application:
|
|
56
|
-
|
|
57
|
-
```scss
|
|
58
|
-
// Import all core styles
|
|
59
|
-
@import 'procode-core/styles';
|
|
60
|
-
|
|
61
|
-
// Or import specific base styles
|
|
62
|
-
@import 'procode-core/styles/core-base';
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
```tsx
|
|
66
|
-
// In JavaScript/TypeScript, you can get the style paths
|
|
67
|
-
import { getCoreStylesPath, getCoreBaseStylesPath } from 'procode-core';
|
|
53
|
+
IActionFactory
|
|
54
|
+
} from 'procode-lowcode-core';
|
|
68
55
|
|
|
69
|
-
|
|
70
|
-
|
|
56
|
+
// Import styles
|
|
57
|
+
import 'procode-lowcode-core/styles';
|
|
58
|
+
// Or specific styles
|
|
59
|
+
import 'procode-lowcode-core/styles/core-base';
|
|
71
60
|
```
|
|
72
61
|
|
|
73
|
-
##
|
|
74
|
-
|
|
75
|
-
### 🎯 **Core Component**
|
|
76
|
-
- **Default Export**: `Core` - Main React component for bootstrapping ProCode applications
|
|
77
|
-
- **Type-safe Props**: `CoreProps` interface for comprehensive configuration
|
|
78
|
-
|
|
79
|
-
### 🔧 **Interfaces & Types**
|
|
80
|
-
- **Action Interfaces**: `IActionFactory`, `StandardActionType`
|
|
81
|
-
- **Adapter Interfaces**: `IAdapterProvider`, `AdapterType`
|
|
82
|
-
- **Data Model Interfaces**: `IViewModelHandler`, `QueryFilters`, `ViewModel`
|
|
83
|
-
- **UI Element Definitions**: `BaseScreenElement`, `ScreenSchema`, `WidgetElement`
|
|
84
|
-
- **Validation Interfaces**: `IValidationFactory`, `ValidationFcResponse`
|
|
85
|
-
|
|
86
|
-
### 🎨 **Styling System**
|
|
87
|
-
- **Core Base Styles**: Essential styles for ProCode components
|
|
88
|
-
- **Modular SCSS**: Import specific style modules as needed
|
|
89
|
-
- **Container Renderer**: Layout and container styling
|
|
90
|
-
- **Loading Components**: Spinner and skeleton loaders
|
|
91
|
-
- **Drawer Components**: Overlay and drawer styling
|
|
62
|
+
## 🏗️ Architecture
|
|
92
63
|
|
|
93
|
-
|
|
94
|
-
- **View Model Handling**: Comprehensive data binding and state management
|
|
95
|
-
- **CRUD Services**: Built-in services for data operations
|
|
96
|
-
- **Query Filters**: Advanced filtering and querying capabilities
|
|
97
|
-
- **Event Service**: Pub/sub event system for component communication
|
|
98
|
-
|
|
99
|
-
### 🔌 **Extensibility**
|
|
100
|
-
- **Custom Adapters**: Implement custom data adapters
|
|
101
|
-
- **Custom Actions**: Define custom business logic actions
|
|
102
|
-
- **Custom Validations**: Create custom validation rules
|
|
103
|
-
- **Custom Widgets**: Build custom UI components
|
|
104
|
-
|
|
105
|
-
## Architecture
|
|
106
|
-
|
|
107
|
-
ProCode Core follows a modular architecture with clear separation of concerns:
|
|
64
|
+
ProCode Core follows a modular architecture:
|
|
108
65
|
|
|
109
66
|
- **Application Start**: Core bootstrapping and dependency injection
|
|
110
|
-
- **Renderer System**: Component rendering with layout
|
|
67
|
+
- **Renderer System**: Component rendering with layout and widget renderers
|
|
111
68
|
- **Rule Interpreter**: Business rule processing and UI effect application
|
|
112
69
|
- **Storage Manager**: Flexible storage abstraction layer
|
|
113
70
|
- **Service Layer**: HTTP services and data management
|
|
114
71
|
- **Validation System**: Extensible validation framework
|
|
115
72
|
|
|
116
|
-
##
|
|
117
|
-
|
|
118
|
-
### Basic Setup
|
|
119
|
-
|
|
120
|
-
```tsx
|
|
121
|
-
import React from 'react';
|
|
122
|
-
import Core, {
|
|
123
|
-
CoreProps,
|
|
124
|
-
IAdapterProvider,
|
|
125
|
-
IViewModelHandler
|
|
126
|
-
} from 'procode-core';
|
|
127
|
-
import 'procode-core/styles';
|
|
128
|
-
|
|
129
|
-
const App: React.FC = () => {
|
|
130
|
-
const props: CoreProps = {
|
|
131
|
-
adapterProvider: myAdapterProvider,
|
|
132
|
-
viewModelHandler: myViewModelHandler,
|
|
133
|
-
templateActionProvider: myActionFactory,
|
|
134
|
-
customWidgetProvider: myWidgetProvider,
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
return <Core {...props} />;
|
|
138
|
-
};
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
### Custom Adapter Implementation
|
|
142
|
-
|
|
143
|
-
```tsx
|
|
144
|
-
import { IAdapterProvider, AdapterType, EventService } from 'procode-core';
|
|
145
|
-
|
|
146
|
-
class MyAdapterProvider implements IAdapterProvider {
|
|
147
|
-
setUpScreenAdapter(id: string, eventService: EventService): void {
|
|
148
|
-
// Implement your custom adapter logic
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### Using Interfaces
|
|
154
|
-
|
|
155
|
-
```tsx
|
|
156
|
-
import {
|
|
157
|
-
BaseScreenElement,
|
|
158
|
-
WidgetElement,
|
|
159
|
-
ScreenSchema,
|
|
160
|
-
CoreProps
|
|
161
|
-
} from 'procode-core';
|
|
162
|
-
|
|
163
|
-
interface MyCustomWidget extends WidgetElement {
|
|
164
|
-
customProperty: string;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
const mySchema: ScreenSchema = {
|
|
168
|
-
// Define your screen schema
|
|
169
|
-
};
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
## Requirements
|
|
73
|
+
## 📋 Requirements
|
|
173
74
|
|
|
174
75
|
- React 18.2.0+
|
|
175
76
|
- TypeScript 4.9.3+
|
|
176
77
|
- Node.js 16+
|
|
177
78
|
|
|
178
|
-
## License
|
|
79
|
+
## 📄 License
|
|
179
80
|
|
|
180
81
|
MIT
|
|
181
82
|
|
|
182
|
-
## Contributing
|
|
183
|
-
|
|
184
|
-
We welcome contributions! Please see our contributing guidelines for more details.
|
|
185
|
-
|
|
186
|
-
## Support
|
|
83
|
+
## 🤝 Contributing
|
|
187
84
|
|
|
188
|
-
|
|
85
|
+
Contributions are welcome! Please read our contributing guidelines.
|