Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions demo/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion demo/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"react-native": "0.74.1",
"react-native-svg": "15.2.0",
"react-native-web": "~0.19.6",
"rn-declarative": "^0.0.52",
"rn-declarative": "^0.0.53",
"rn-declarative-eva": "^0.0.41"
},
"devDependencies": {
Expand Down
4 changes: 2 additions & 2 deletions packages/rn-declarative/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/rn-declarative/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "rn-declarative",
"version": "0.0.52",
"version": "0.0.53",
"description": "A responsive layout for the react-native",
"private": false,
"author": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@ import { ISwitchSlot } from '../../slots/SwitchSlot';
import { IYesNoSlot } from '../../slots/YesNoSlot';
import { IButtonSlot } from '../../slots/ButtonSlot';

import { ICompleteSlot } from '../../slots/CompleteSlot';
import { IDateSlot } from '../../slots/DateSlot';
import { IProgressSlot } from '../../slots/ProgressSlot';
import { IRatingSlot } from '../../slots/RatingSlot';
import { ISliderSlot } from '../../slots/SliderSlot';
import { ITimeSlot } from '../../slots/TimeSlot';

/**
* A context object that provides access to various component types used by the slot factory.
* @typedef ISlotFactoryContext
Expand All @@ -30,6 +37,12 @@ export interface ISlotFactoryContext {
Radio: ComponentType<IRadioSlot>;
Text: ComponentType<ITextSlot>;
Switch: ComponentType<ISwitchSlot>;
Complete: ComponentType<ICompleteSlot>;
Date: ComponentType<IDateSlot>;
Progress: ComponentType<IProgressSlot>;
Rating: ComponentType<IRatingSlot>;
Slider: ComponentType<ISliderSlot>;
Time: ComponentType<ITimeSlot>;
}

export default ISlotFactoryContext;
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@ import Text from './components/Text';
import Switch from './components/Switch';
import YesNo from './components/YesNo';

import Complete from './components/Complete';
import Date from './components/Date';
import Progress from './components/Progress';
import Rating from './components/Rating';
import Slider from './components/Slider';
import Time from './components/Time';

import ISlotFactoryContext from './ISlotFactoryContext';

/**
Expand All @@ -31,6 +38,12 @@ export const defaultSlots: ISlotFactoryContext = {
Text,
Switch,
YesNo,
Complete,
Date,
Progress,
Rating,
Slider,
Time,
};

export const SlotContext = createContext<ISlotFactoryContext>(defaultSlots);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import * as React from "react";

import { Text } from 'react-native';

import { ICompleteSlot } from "../../../slots/CompleteSlot";

export const CompleteField = ({}: ICompleteSlot) => (
<Text>
FieldType.Complete is not provided (see OneSlotFactory)
</Text>
);


export default CompleteField;
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import * as React from "react";

import { Text } from 'react-native';

import { IDateSlot } from "../../../slots/DateSlot";

export const DateField = ({}: IDateSlot) => (
<Text>
FieldType.Date is not provided (see OneSlotFactory)
</Text>
);


export default DateField;
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import * as React from "react";

import { Text } from 'react-native';

import { IProgressSlot } from "../../../slots/ProgressSlot";

export const ProgressField = ({}: IProgressSlot) => (
<Text>
FieldType.Progress is not provided (see OneSlotFactory)
</Text>
);


export default ProgressField;
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import * as React from "react";

import { Text } from 'react-native';

import { IRatingSlot } from "../../../slots/RatingSlot";

export const RatingField = ({}: IRatingSlot) => (
<Text>
FieldType.Rating is not provided (see OneSlotFactory)
</Text>
);


export default RatingField;
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import * as React from "react";

import { Text } from 'react-native';

import { ISliderSlot } from "../../../slots/SliderSlot";

export const SliderField = ({}: ISliderSlot) => (
<Text>
FieldType.Slider is not provided (see OneSlotFactory)
</Text>
);


export default SliderField;
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import * as React from "react";

import { Text } from 'react-native';

import { ITimeSlot } from "../../../slots/TimeSlot";

export const TimeField = ({}: ITimeSlot) => (
<Text>
FieldType.Time is not provided (see OneSlotFactory)
</Text>
);


export default TimeField;
13 changes: 13 additions & 0 deletions packages/rn-declarative/src/components/One/config/createField.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@ import InitField from "../fields/InitField";
import YesNoField from "../fields/YesNoField";
import ButtonField from "../fields/ButtonField";

import CompleteField from "../fields/CompleteField";
import DateField from "../fields/DateField";
import ProgressField from "../fields/ProgressField";
import RatingField from "../fields/RatingField";
import SliderField from "../fields/SliderField";
import TimeField from "../fields/TimeField";

const fieldMap: { [key in FieldType]?: React.ComponentType<IEntity> } = Object.create(null);

/**
Expand Down Expand Up @@ -43,6 +50,12 @@ Object.assign(fieldMap, {
[FieldType.YesNo]: YesNoField,
[FieldType.Init]: InitField,
[FieldType.Button]: ButtonField,
[FieldType.Complete]: CompleteField,
[FieldType.Date]: DateField,
[FieldType.Progress]: ProgressField,
[FieldType.Rating]: RatingField,
[FieldType.Slider]: SliderField,
[FieldType.Time]: TimeField,
});

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@ const initialValueMap = {
[FieldType.Component]: null,
[FieldType.Init]: null,
[FieldType.YesNo]: null,
[FieldType.Complete]: '',
[FieldType.Date]: null,
[FieldType.Progress]: '',
[FieldType.Rating]: null,
[FieldType.Slider]: 0,
[FieldType.Time]: null,
};

type InitialValue = typeof initialValueMap;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@ export const baselineFields = new Set<FieldType>([
FieldType.Checkbox,
FieldType.Component,
FieldType.Button,
FieldType.Complete,
FieldType.Date,
FieldType.Progress,
FieldType.Rating,
FieldType.Slider,
FieldType.Time,
]);

/**
Expand Down
Loading