mirror of
https://github.com/The-Low-Code-Foundation/OpenNoodl.git
synced 2026-01-12 07:12:54 +01:00
Compare commits
1 Commits
13-remove-
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
360cdc46f2 |
36
CONTRIBUTING.md
Normal file
36
CONTRIBUTING.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# Contributing to OpenNoodl
|
||||
|
||||
Thank you for your interest in contributing! Here’s how you can help:
|
||||
|
||||
## How to Contribute
|
||||
|
||||
1. **Fork the repository** and create your feature branch:
|
||||
```bash
|
||||
git checkout -b feature/my-feature
|
||||
```
|
||||
2. **Make your changes** and ensure your code follows the existing style and conventions.
|
||||
3. **Test your changes** locally.
|
||||
4. **Commit your changes** with a clear message:
|
||||
```bash
|
||||
git commit -am 'Add new feature'
|
||||
```
|
||||
5. **Push to your branch**:
|
||||
```bash
|
||||
git push origin feature/my-feature
|
||||
```
|
||||
6. **Open a pull request** on GitHub. Describe your changes and the motivation behind them.
|
||||
|
||||
## Guidelines
|
||||
|
||||
- The branch name should be descriptive of the feature or fix. Either `feature/<my-feature>` or `fix/<my-fix>` prefixes are recommended. Also including an issue number can be helpful.
|
||||
- Follow the coding style used in the project.
|
||||
- Write clear, concise commit messages.
|
||||
- Add tests for new features or bug fixes when possible.
|
||||
- Document any new functionality.
|
||||
|
||||
## Need Help?
|
||||
|
||||
- Join our [community](https://the-low-code-foundation.fibery.io/invite/5NtlTThnCPh2vaAk)
|
||||
- Open an issue for questions or suggestions.
|
||||
|
||||
Thank you for helping improve OpenNoodl!
|
||||
19
README.md
19
README.md
@@ -1,6 +1,6 @@
|
||||
# OpenNoodl
|
||||
|
||||
OpenNoodl is a fork of the original Noodl open source code under GPL-3.0 license. OpenNoodl / Noodl is a front end React app builder with a visual programming interface.
|
||||
OpenNoodl is a fork of the original Noodl open source code under GPL-3.0 license. OpenNoodl / Noodl is a front end React app builder with a visual programming interface.
|
||||
|
||||
OpenNoodl will aim to stay entirely in sync with the original repository, including future updates to this repository. A roadmap for updates will be published soon.
|
||||
|
||||
@@ -40,6 +40,21 @@ If you prefer self-hosting or a local backend, while still taking advantage of t
|
||||
|
||||
See the original Noodl documentation below
|
||||
|
||||
# Contribution
|
||||
|
||||
We welcome contributions to OpenNoodl! To contribute:
|
||||
|
||||
1. **Fork the repository** and create your feature branch (`git checkout -b feature/my-feature`).
|
||||
2. **Make your changes** and follow the existing code style.
|
||||
3. **Test your changes** locally.
|
||||
4. **Commit your changes** (`git commit -am 'Add new feature'`).
|
||||
5. **Push to your branch** (`git push origin feature/my-feature`).
|
||||
6. **Open a pull request** describing your changes.
|
||||
|
||||
See [CONTRIBUTING.md](CONTRIBUTING.md) for details and our code of conduct.
|
||||
|
||||
If you have questions, join our [community](https://the-low-code-foundation.fibery.io/invite/5NtlTThnCPh2vaAk) or open an issue.
|
||||
|
||||
# Noodl
|
||||
|
||||
[Noodl](https://noodl.net) is a low-code platform where designers and developers build custom applications and experiences. Designed as a visual programming environment, it aims to expedite your development process. It promotes the swift and efficient creation of applications, requiring minimal coding knowledge.
|
||||
@@ -88,5 +103,5 @@ Packaged licensed under MIT:
|
||||
- `noodl-runtime`
|
||||
- `noodl-viewer-cloud`
|
||||
- `noodl-viewer-react`
|
||||
|
||||
|
||||
You can find a MIT LICENSE file in each of these packages. The rest of the repository is licensed under GPLv3.
|
||||
|
||||
@@ -113,7 +113,7 @@ export function Checkbox({
|
||||
</div>
|
||||
)}
|
||||
|
||||
{children && <div className={css['ChildContainer']}>{cloneElement(children, { isChecked })}</div>}
|
||||
{children && <div className={css['ChildContainer']}>{cloneElement(children as TSFixme, { isChecked })}</div>}
|
||||
{label && <InputLabelSection label={label} />}
|
||||
</label>
|
||||
);
|
||||
|
||||
@@ -100,7 +100,7 @@ export function MenuDialog({
|
||||
{item.label}
|
||||
</Label>
|
||||
</div>
|
||||
{item.component && cloneElement(item.component(() => onClose()))}
|
||||
{item.component && cloneElement(item.component(() => onClose()) as TSFixme)}
|
||||
<div className={css['EndSlot']}>
|
||||
{item.endSlot && typeof item.endSlot === 'string' && <Text>{item.endSlot}</Text>}
|
||||
{item.endSlot && typeof item.endSlot !== 'string' && item.endSlot}
|
||||
|
||||
@@ -10,7 +10,7 @@ export enum PropertyPanelIconRadioSize {
|
||||
Default = 'default',
|
||||
Large = 'large'
|
||||
}
|
||||
export interface PropertyPanelIconRadioProperties {
|
||||
interface PropertyPanelIconRadioProperties {
|
||||
name: string;
|
||||
options: {
|
||||
icon: SingleSlot;
|
||||
|
||||
@@ -2,15 +2,15 @@ import classNames from 'classnames';
|
||||
import React, { useMemo } from 'react';
|
||||
|
||||
import { PropertyPanelBaseInputProps } from '@noodl-core-ui/components/property-panel/PropertyPanelBaseInput';
|
||||
import { PropertyPanelButton, PropertyPanelButtonProps } from '@noodl-core-ui/components/property-panel/PropertyPanelButton';
|
||||
import { PropertyPanelButton } from '@noodl-core-ui/components/property-panel/PropertyPanelButton';
|
||||
import { PropertyPanelCheckbox } from '@noodl-core-ui/components/property-panel/PropertyPanelCheckbox';
|
||||
import { PropertyPanelIconRadioInput, PropertyPanelIconRadioProperties } from '@noodl-core-ui/components/property-panel/PropertyPanelIconRadioInput';
|
||||
import { PropertyPanelIconRadioInput } from '@noodl-core-ui/components/property-panel/PropertyPanelIconRadioInput';
|
||||
import { PropertyPanelLengthUnitInput } from '@noodl-core-ui/components/property-panel/PropertyPanelLengthUnitInput';
|
||||
import { PropertyPanelNumberInput } from '@noodl-core-ui/components/property-panel/PropertyPanelNumberInput';
|
||||
import { PropertyPanelSelectInput, PropertyPanelSelectProperties } from '@noodl-core-ui/components/property-panel/PropertyPanelSelectInput';
|
||||
import { PropertyPanelSliderInput, PropertyPanelSliderInputProps } from '@noodl-core-ui/components/property-panel/PropertyPanelSliderInput';
|
||||
import { PropertyPanelSelectInput } from '@noodl-core-ui/components/property-panel/PropertyPanelSelectInput';
|
||||
import { PropertyPanelSliderInput } from '@noodl-core-ui/components/property-panel/PropertyPanelSliderInput';
|
||||
import { PropertyPanelTextInput } from '@noodl-core-ui/components/property-panel/PropertyPanelTextInput';
|
||||
import { PropertyPanelTextRadioInput, PropertyPanelTextRadioProperties } from '@noodl-core-ui/components/property-panel/PropertyPanelTextRadioInput';
|
||||
import { PropertyPanelTextRadioInput } from '@noodl-core-ui/components/property-panel/PropertyPanelTextRadioInput';
|
||||
import { Slot } from '@noodl-core-ui/types/global';
|
||||
|
||||
import css from './PropertyPanelInput.module.scss';
|
||||
@@ -31,13 +31,10 @@ export enum PropertyPanelInputType {
|
||||
// SizeMode = 'size-mode',
|
||||
}
|
||||
|
||||
export type PropertyPanelProps = undefined |PropertyPanelIconRadioProperties | PropertyPanelButtonProps["properties"]
|
||||
| PropertyPanelSliderInputProps ["properties"] | PropertyPanelSelectProperties | PropertyPanelTextRadioProperties
|
||||
|
||||
export interface PropertyPanelInputProps extends Omit<PropertyPanelBaseInputProps, 'type'> {
|
||||
label: string;
|
||||
inputType: PropertyPanelInputType;
|
||||
properties: PropertyPanelProps;
|
||||
properties: TSFixme;
|
||||
}
|
||||
|
||||
export function PropertyPanelInput({
|
||||
|
||||
@@ -15,6 +15,7 @@ import { normalizeAlphanumericString } from '../../../utils/normalizeAlphanumeri
|
||||
import css from './PropertyPanelLengthUnitInput.module.scss';
|
||||
|
||||
export interface PropertyPanelLengthUnitInputProps extends Omit<PropertyPanelBaseInputProps, 'type'> {
|
||||
properties?: TSFixme;
|
||||
hasSmallText?: boolean;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,10 @@ import {
|
||||
|
||||
import { extractNumber } from '../../../utils/extractNumber';
|
||||
|
||||
export interface PropertyPanelNumberInputProps extends Omit<PropertyPanelBaseInputProps, 'type'> {
|
||||
properties?: TSFixme;
|
||||
}
|
||||
|
||||
export function PropertyPanelNumberInput({
|
||||
value,
|
||||
isChanged,
|
||||
@@ -15,7 +19,7 @@ export function PropertyPanelNumberInput({
|
||||
onFocus,
|
||||
onBlur,
|
||||
onKeyDown
|
||||
}: PropertyPanelBaseInputProps) {
|
||||
}: PropertyPanelNumberInputProps) {
|
||||
// TODO: This component doesnt handle the value types correct
|
||||
|
||||
const [displayedInputValue, setDisplayedInputValue] = useState(value?.toString() || '');
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
} from '@noodl-core-ui/components/property-panel/PropertyPanelBaseInput';
|
||||
|
||||
export interface PropertyPanelPasswordInputProps extends Omit<PropertyPanelBaseInputProps<string>, 'type'> {
|
||||
value: string;
|
||||
properties?: TSFixme;
|
||||
}
|
||||
|
||||
export function PropertyPanelPasswordInput({
|
||||
|
||||
@@ -9,11 +9,7 @@ import { linearMap } from '../../../utils/linearMap';
|
||||
import css from './PropertyPanelSliderInput.module.scss';
|
||||
|
||||
export interface PropertyPanelSliderInputProps extends Omit<PropertyPanelBaseInputProps, 'type'> {
|
||||
properties: {
|
||||
min: number | string;
|
||||
max: number | string;
|
||||
step: number | string;
|
||||
};
|
||||
properties: TSFixme;
|
||||
}
|
||||
|
||||
export function PropertyPanelSliderInput({
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
} from '@noodl-core-ui/components/property-panel/PropertyPanelBaseInput';
|
||||
|
||||
export interface PropertyPanelTextInputProps extends Omit<PropertyPanelBaseInputProps<string>, 'type'> {
|
||||
value: string;
|
||||
properties?: TSFixme;
|
||||
}
|
||||
|
||||
export function PropertyPanelTextInput({
|
||||
|
||||
@@ -5,7 +5,7 @@ import { PropertyPanelBaseInputProps } from '@noodl-core-ui/components/property-
|
||||
|
||||
import css from './PropertyPanelTextRadioInput.module.scss';
|
||||
|
||||
export interface PropertyPanelTextRadioProperties {
|
||||
interface PropertyPanelTextRadioProperties {
|
||||
name: string;
|
||||
options: {
|
||||
label: string;
|
||||
|
||||
Reference in New Issue
Block a user