Skip to content

Commit ad1a4ef

Browse files
committed
Owner field & admin Role migration.
1 parent 9d259b5 commit ad1a4ef

File tree

4 files changed

+138
-58
lines changed

4 files changed

+138
-58
lines changed

CHANGELOG.md

Lines changed: 72 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,142 +1,169 @@
11
## 2.1.0
2-
- New TextInputField features! This is the first batch of improvements to the TextInput component and includes the following:
3-
- Added Autofill Hints support.
4-
- Added Text Input Validator.
5-
- Added Text Input Formatter.
6-
- Added Submit Keyboard Action selector.
2+
3+
- New TextInputField features! This is the first batch of improvements to the TextInput component and includes the
4+
following:
5+
- Added Autofill Hints support.
6+
- Added Text Input Validator.
7+
- Added Text Input Formatter.
8+
- Added Submit Keyboard Action selector.
79

810
## 2.0.2
11+
912
- Update external components with reactions.
1013
- Add click and long click reactions to rectangle node.
1114

1215
## 2.0.0
16+
1317
- Update Checkbox shrinkwrap and padding sizing.
1418
- Change default Stroke cap to none.
1519
- Optimize node sorting algorithm.
1620

1721
## 1.8.0
22+
1823
- Custom Layout IDs support! Now you can give your CloudUIs a name which makes identifying them much easier.
1924

2025
## 1.7.0
26+
2127
- Teams v1 support.
2228

2329
## 1.6.0
30+
2431
- Initial CloudUI support for Layout Groups.
25-
- Display different layouts for different screen sizes.
32+
- Display different layouts for different screen sizes.
2633

2734
## 1.5.0
35+
2836
- Fix text node not allowing actions.
2937

3038
## 1.4.0
39+
3140
- New StyleSheets support! Define common color and text styles.
3241
- Update GridView `childAlignment` property. Minor refactor.
3342
- Improve Edge Pins.
34-
- Fix edge pins not being saved.
35-
- Clamp edge pins to positive values in wrapping parent layouts.
43+
- Fix edge pins not being saved.
44+
- Clamp edge pins to positive values in wrapping parent layouts.
3645

3746
## 1.3.0
47+
3848
- Remove Montserrat font.
3949

4050
## 1.2.0
51+
4152
- Implement isTrue and isFalse operators for conditions.
4253
- Refactor operator filtering to use index if available.
4354

4455
## 1.1.0
56+
4557
- New AutoComplete support for Variables.
4658
- Fix disable automatic padding from Frames with strokes.
4759

4860
## 1.0.0
61+
4962
- Official v1 release!
5063
- Update triggers types.
5164
- Fix integer functions crashing with NaN and infinite values.
5265

5366
## 0.8.0
54-
- Codelessly Data support. Save and write data to Codelessly Cloud.
55-
- New GridView widget.
67+
68+
- Codelessly Data support. Save and write data to Codelessly Cloud.
69+
- New GridView widget.
5670
- Codelessly Data Query Filters support. Sort and filter data.
5771
- Variable improvements.
58-
- Include 'set' and 'replace' operations for list operations.
59-
- Add new ${value} predefined variable to expose internal node data. TextFields only for now.
60-
- Track internal value with new NodeProvider InheritedWidget per-widget.
72+
- Include 'set' and 'replace' operations for list operations.
73+
- Add new ${value} predefined variable to expose internal node data. TextFields only for now.
74+
- Track internal value with new NodeProvider InheritedWidget per-widget.
6175
- TextField improvements.
62-
- Add support for actions on prefix and suffix icons on text fields.
63-
- Fix set operation on map not showing input field.
64-
- Implement proper TextFieldModel minimum size computation.
65-
- Add support for TextInputType.numberWithOptions.
76+
- Add support for actions on prefix and suffix icons on text fields.
77+
- Fix set operation on map not showing input field.
78+
- Implement proper TextFieldModel minimum size computation.
79+
- Add support for TextInputType.numberWithOptions.
6680
- JSON improvements.
67-
- Fix json variable controller highlighting.
68-
- Fix json syntax highlighting for storage operations.
69-
- Fix focus nodes for json variable input fields.
81+
- Fix json variable controller highlighting.
82+
- Fix json syntax highlighting for storage operations.
83+
- Fix focus nodes for json variable input fields.
7084
- List improvements.
71-
- Add insertAll option for list operations
72-
- Refactor insert list operation to use json input field.
85+
- Add insertAll option for list operations
86+
- Refactor insert list operation to use json input field.
7387
- Add copy-paste and shortcuts support for actions.
7488
- Add support for non-blocking actions.
7589
- Implement option to enable/disable action.
7690
- Add firebase queries support for grid view.
7791
- Add support for number operations.
7892

7993
## 0.7.5
94+
8095
- Fix drag and drop insert to the edge of Accordion, Expansion Tile, ListView, and PageView.
8196

8297
## 0.7.3
98+
8399
- Migrate Variables and Conditions to use permissions model.
84100
- TextField Improvements
85-
- Fix shrink-wrapping conflict with expands property.
86-
- Fix text field model not calculating text field height properly for shrink-wrapping.
87-
- Allow min lines and max lines input fields to clear.
88-
- Fix shrink-wrap height calculation being affected by isDense property.
101+
- Fix shrink-wrapping conflict with expands property.
102+
- Fix text field model not calculating text field height properly for shrink-wrapping.
103+
- Allow min lines and max lines input fields to clear.
104+
- Fix shrink-wrap height calculation being affected by isDense property.
89105

90106
## 0.7.1
107+
91108
- Implement safe area for canvases.
92109
- Fix scroll physics and always scrollable option.
93110

94111
## 0.7.0
95-
- New Dialogs feature! 100% customizable dialogs with customizable close button, background, and padding.
96-
- New show dialog action.
97-
- New show dialog settings panel.
112+
113+
- New Dialogs feature! 100% customizable dialogs with customizable close button, background, and padding.
114+
- New show dialog action.
115+
- New show dialog settings panel.
98116
- Fix Edge Pins not syncing with server.
99117
- Fix PageView triggers not executing.
100118

101119
## 0.6.0
120+
102121
- Embedded Canvases V1.
103-
- Embed canvases into layouts.
122+
- Embed canvases into layouts.
104123
- Local Storage V1.
105-
- Store and persist data locally.
124+
- Store and persist data locally.
106125
- Optimize JSON data to reduce data usage and storage by 80%.
107126

108127
## 0.5.2
128+
109129
- Remove dependency on Flutter.
110130

111131
## 0.5.1
132+
112133
- New shrink-wrap support for Buttons. Buttons can now resize based on the content inside them.
113134
- New shrink-wrapping support for Slider, Switch, and Radio Button components.
114135
- Fix ListView and PageView reverse scroll direction not enabled.
115136
- Add `resolvedConstraint` override.
116137

117138
## 0.5.0
139+
118140
- Load APIs V1.
119141
- Fix ExpansionTiles layout and functionality issues.
120142
- Fix reactions not being modified.
121143

122144
## 0.4.1
145+
123146
- Add hover and splash color to dropdown node.
124147
- Miscellaneous fixes.
125148

126149
## 0.4.0
150+
127151
- New `SetMapVariableAction` support for map variables.
128-
- Support more conditions.
129-
- `isEmpty`, `isNotEmpty`, `contains`
130-
- `isOdd`, `isEven`, `isNull`
152+
- Support more conditions.
153+
- `isEmpty`, `isNotEmpty`, `contains`
154+
- `isOdd`, `isEven`, `isNull`
131155
- Add `remove` for list type variable.
132156
- Remove deprecations and update formatting and documentation.
133157

134158
## 0.3.0
159+
135160
- Scrolling V1. Enable scrolling for Columns, Frames, and Canvases.
136161
- Create list operations and index for List `SetVariableAction`.
137162

138163
## 0.2.0
139-
- New simplified variables system. Variables passed into the CodelesslyWidget can now be referenced by name in the Codelessly Editor.
164+
165+
- New simplified variables system. Variables passed into the CodelesslyWidget can now be referenced by name in the
166+
Codelessly Editor.
140167

141168
```
142169
CodelesslyWidget(
@@ -168,36 +195,44 @@ ${data.productData.nested.json.path} - 'Hey there!'
168195
- Prototype implementation of custom widget embedding feature.
169196

170197
## 0.1.0
198+
171199
- Optimize SDK size by 90% by switching to SVG icons.
172200
- Enable variables copy and paste.
173201
- Enable conditions copy and paste.
174202
- Fix canvas fill condition not working when there's only 1 fill.
175203

176204
## 0.0.8
205+
177206
- Text field and code-gen improvements.
178207
- Add `showCounter` for input decoration.
179208
- Fix text field counter text not working properly.
180209
- Fix text field with incorrect sizing in codegen.
181210

182211
## 0.0.7
212+
183213
- Add support for Tabs.
184214
- Add TextField support for variables.
185215
- Add FAB support for variables.
186216

187217
## 0.0.6
218+
188219
- Update type support to support null values.
189220

190221
## 0.0.5
222+
191223
- Add improved Variables type support.
192224

193225
## 0.0.4
226+
194227
- Add Variables and Conditions support.
195228

196229
## 0.0.3
230+
197231
- Update SDK constraints.
198232
- Update ReadMe.
199233

200234
## 0.0.2
235+
201236
- Upgrade to Flutter 3.10 and Dart 3.
202237
- Add support for Listview and Pageview.
203238
- Add support for API call action.
@@ -208,4 +243,5 @@ ${data.productData.nested.json.path} - 'Hey there!'
208243
- Update documentation.
209244

210245
## 0.0.1
211-
- Initial Release.
246+
247+
- Initial Release.

README.md

Lines changed: 44 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,35 @@
1-
**This is a lower-level package for constructing an abstract, universal data representation of UI. If you're looking for the developer SDK, use the [Codelessly CloudUI™ SDK](https://pub.dev/packages/codelessly_sdk).**
1+
**This is a lower-level package for constructing an abstract, universal data representation of UI. If you're looking for
2+
the developer SDK, use the [Codelessly CloudUI™ SDK](https://pub.dev/packages/codelessly_sdk).**
23

34
# Codelessly API
45

5-
> Flutter's layouts and widgets represented as models and JSON data.
6+
> Flutter's layouts and widgets represented as models and JSON data.
67
7-
This package is used by the Codelessly Editor and CloudUI SDK to render Flutter Widgets. These APIs enable developers to interact with and manipulate user interfaces in a structured manner. It can be used to define components, layouts, interactions, and styles, among other things, programmatically.
8+
This package is used by the Codelessly Editor and CloudUI SDK to render Flutter Widgets. These APIs enable developers to
9+
interact with and manipulate user interfaces in a structured manner. It can be used to define components, layouts,
10+
interactions, and styles, among other things, programmatically.
811

912
## About
1013

1114
> User Interfaces (UI) as data.
1215
13-
This lower-level package establishes a foundation for an abstract, universally interpretable data representation of UI. The API is language-agnostic, written in pure Dart with no Flutter dependencies.
16+
This lower-level package establishes a foundation for an abstract, universally interpretable data representation of UI.
17+
The API is language-agnostic, written in pure Dart with no Flutter dependencies.
1418

15-
This universal approach allows for broad, diverse applications across different programming languages. The result is a library that supports the construction of complex UI structures, regardless of the programming language or development environment.
19+
This universal approach allows for broad, diverse applications across different programming languages. The result is a
20+
library that supports the construction of complex UI structures, regardless of the programming language or development
21+
environment.
1622

17-
For example, we've translated this library to Javascript and Typescript and created a prototype SDK for building native web UIs. We were able to deploy the same UI to Flutter and HTML simultaneously.
23+
For example, we've translated this library to Javascript and Typescript and created a prototype SDK for building native
24+
web UIs. We were able to deploy the same UI to Flutter and HTML simultaneously.
1825

19-
Our goal is to continuously build a set of fundamental UI constructs that can express UI in HTML, SwiftUI, Android Compose, and eventually AI.
26+
Our goal is to continuously build a set of fundamental UI constructs that can express UI in HTML, SwiftUI, Android
27+
Compose, and eventually AI.
2028

2129
## Quick Start
2230

23-
This package contains tools to create custom `BaseNodes`. To convert a custom `BaseNode` into UI, see the language specific Flutter implementation in the [Codelessly Cloud UI SDK](https://pub.dev/packages/codelessly_sdk) package.
31+
This package contains tools to create custom `BaseNodes`. To convert a custom `BaseNode` into UI, see the language
32+
specific Flutter implementation in the [Codelessly Cloud UI SDK](https://pub.dev/packages/codelessly_sdk) package.
2433

2534
This is how you can create a custom `BaseNode`:
2635

@@ -48,47 +57,61 @@ class CustomNode extends BaseNode {
4857
}
4958
```
5059

51-
All nodes must extend `BaseNode`. Please refer to the documentation inside `BaseNode` for more information.
60+
All nodes must extend `BaseNode`. Please refer to the documentation inside `BaseNode` for more information.
5261

53-
Then, register your node with the `NodeJsonConverter` so that it can be properly deserialized from json. The NodeJsonConverter will deserialize any registered nodes into their proper types.
62+
Then, register your node with the `NodeJsonConverter` so that it can be properly deserialized from json. The
63+
NodeJsonConverter will deserialize any registered nodes into their proper types.
5464

5565
```
5666
NodeJsonConverter.registerNode('custom_node', CustomNode.fromJson);
5767
```
5868

59-
For more examples, see [`codelessly_api/lib/api/nodes`](https://github.com/Codelessly/CodelesslyAPI/tree/main/lib/src/api/nodes)
69+
For more examples, see [
70+
`codelessly_api/lib/api/nodes`](https://github.com/Codelessly/CodelesslyAPI/tree/main/lib/src/api/nodes)
6071

6172
## Key Concepts
6273

6374
### Base Classes
6475

65-
The base classes provided by the CodelesslyAPI include `Vec`, `RectC`, `SizeC`, `AlignC`, and others. They mirror Flutter's own models and offer functionalities that represent essential building blocks for Flutter widgets.
76+
The base classes provided by the CodelesslyAPI include `Vec`, `RectC`, `SizeC`, `AlignC`, and others. They mirror
77+
Flutter's own models and offer functionalities that represent essential building blocks for Flutter widgets.
6678

67-
These classes encapsulate key properties and behaviors needed for vector representations (`Vec`), rectangular shapes (`RectC`), sizes (`SizeC`), and alignment specifications (`AlignC`). Each class is equipped with serialization and deserialization capabilities, allowing them to be conveniently converted to and from JSON format. These classes collectively provide a foundation for defining and manipulating UI elements in Flutter applications.
79+
These classes encapsulate key properties and behaviors needed for vector representations (`Vec`), rectangular shapes (
80+
`RectC`), sizes (`SizeC`), and alignment specifications (`AlignC`). Each class is equipped with serialization and
81+
deserialization capabilities, allowing them to be conveniently converted to and from JSON format. These classes
82+
collectively provide a foundation for defining and manipulating UI elements in Flutter applications.
6883

6984
Classes that mirror Flutter tend to be suffixed with a `C` for `Codelessly` or `Model` to
7085
differentiate them from their Flutter counterparts like `RectC`.
7186

7287
- **Vec**: This class represents a two-dimensional vector with x and y coordinates.
73-
- **RectC**: This class represents a rectangle with a top-left position and a size. The position is represented as a `Vec` object, while the size is represented as a `SizeC` object.
88+
- **RectC**: This class represents a rectangle with a top-left position and a size. The position is represented as a
89+
`Vec` object, while the size is represented as a `SizeC` object.
7490

7591
### Components
7692

77-
Components represent the building blocks of the user interface. They can be anything from a single button to a complex form or even an entire webpage.
93+
Components represent the building blocks of the user interface. They can be anything from a single button to a complex
94+
form or even an entire webpage.
7895

79-
- `ComponentModel`: A single component that holds properties of the component (`type`), its unique identifier (`id`), and actions associated with it (`action`).
96+
- `ComponentModel`: A single component that holds properties of the component (`type`), its unique identifier (`id`),
97+
and actions associated with it (`action`).
8098

8199
### Actions
82100

83-
Actions define what should happen when a user interacts with a component in a certain way (for example, clicking a button or submitting a form).
101+
Actions define what should happen when a user interacts with a component in a certain way (for example, clicking a
102+
button or submitting a form).
84103

85-
- `ActionModel`: Holds information about an action to perform on a user interaction. It defines the type of the action (`type`), which can be things like navigating to a page, opening a link, submitting a form, etc.
104+
- `ActionModel`: Holds information about an action to perform on a user interaction. It defines the type of the action (
105+
`type`), which can be things like navigating to a page, opening a link, submitting a form, etc.
86106

87107
### Paint
88108

89-
The `PaintModel` is used to define styles that can be applied to components. It can represent a solid color, gradient, or image texture.
109+
The `PaintModel` is used to define styles that can be applied to components. It can represent a solid color, gradient,
110+
or image texture.
90111

91-
- `PaintModel`: Defines the style properties such as the type of paint (`type`), its visibility (`visible`), and its opacity (`opacity`), among others. Depending on the type of paint, it might have properties like color (`color`), gradient transform (`gradientTransform`), gradient stops (`gradientStops`), or image transform (`imageTransform`).
112+
- `PaintModel`: Defines the style properties such as the type of paint (`type`), its visibility (`visible`), and its
113+
opacity (`opacity`), among others. Depending on the type of paint, it might have properties like color (`color`),
114+
gradient transform (`gradientTransform`), gradient stops (`gradientStops`), or image transform (`imageTransform`).
92115

93116
## Contributing
94117

@@ -101,4 +124,4 @@ Special thanks to the Flutter community for providing the inspiration and founda
101124
## Contact Us
102125

103126
You can contact us on our [website](https://codelessly.com/) or join us on
104-
our [Discord Server](https://discord.gg/Bzaz7zmY6q).
127+
our [Discord Server](https://discord.gg/Bzaz7zmY6q).

0 commit comments

Comments
 (0)