Skip to content
This repository has been archived by the owner on Nov 5, 2018. It is now read-only.

Commit

Permalink
WIP - extension query search views
Browse files Browse the repository at this point in the history
  • Loading branch information
protoman92 committed Feb 1, 2018
1 parent 5e41ece commit 7446de0
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 21 deletions.
29 changes: 18 additions & 11 deletions src/phoneinput/native/Component.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,36 +45,43 @@ export class Self extends Base.Component.Self<Props.Type> {

return <View
{...properties
.flatMap(v => Try.unwrap<Function>(v.containerProperties))
.flatMap(v => Try.unwrap<Function>(v.mainContainer))
.flatMap(v => v(id)).value}
style={style.containerStyle(id).value}>
style={style.mainContainer(id).value}>
<View
{...properties
.flatMap(v => Try.unwrap<Function>(v.inputContainerProperties))
.flatMap(v => Try.unwrap<Function>(v.inputContainer))
.flatMap(v => v(id)).value}
style={style.inputContainerStyle(id).value}>
style={style.inputContainer(id).value}>
<TextInput
{...properties
.flatMap(v => Try.unwrap<Function>(v.extensionInputProperties))
.flatMap(v => Try.unwrap<Function>(v.extensionInputField))
.flatMap(v => v(id)).value}
autoCorrect={false}
editable={false}
style={style.extensionInputStyle(id).value}
style={style.extensionInputField(id).value}
value={this.currentExtension().value}/>
<TextInput
{...properties
.flatMap(v => Try.unwrap<Function>(v.phoneInputProperties))
.flatMap(v => Try.unwrap<Function>(v.phoneInputField))
.flatMap(v => v(id)).value}
autoCorrect={false}
onChangeText={this.handleNumberInput.bind(this)}
style={style.phoneInputStyle(id).value}
style={style.phoneInputField(id).value}
value={this.currentPhoneNumber().value}/>
</View>
<View>
<View
{...properties
.flatMap(v => Try.unwrap<Function>(v.extensionSearchContainer))
.flatMap(v => v(id)).value}
style={style.extensionSearchContainer(id).value}>
<TextInput
{...properties
.flatMap(v => Try.unwrap<Function>(v.extensionQueryProperties))
.flatMap(v => Try.unwrap<Function>(v.extensionQueryField))
.flatMap(v => v(id)).value}
autoCorrect={false}
onChangeText={this.handleExtensionQueryInput.bind(this)}
style={style.extensionQueryStyle(id).value}
style={style.extensionQueryField(id).value}
value={this.currentExtensionQuery().value}/>
</View>
</View>;
Expand Down
34 changes: 24 additions & 10 deletions src/phoneinput/native/Dependency.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,12 @@ export namespace Style {
*/
export interface PhoneInputType extends TextStyle {}

/**
* Style for a native phone input extension search container component.
* @extends {ViewStyle} ViewStyle extension.
*/
export interface ExtensionSearchContainerType extends ViewStyle {}

/**
* Style for a native phone input extension query component.
* @extends {TextStyle} TextStyle extension.
Expand All @@ -42,11 +48,12 @@ export namespace Style {
* Style selector for a native phone input component.
*/
export interface SelectorType {
containerStyle(id: string): Try<ContainerType>;
inputContainerStyle(id: string): Try<InputContainerType>;
extensionInputStyle(id: string): Try<ExtensionInputType>;
phoneInputStyle(id: string): Try<PhoneInputType>;
extensionQueryStyle(id: string): Try<ExtensionQueryType>;
mainContainer(id: string): Try<ContainerType>;
inputContainer(id: string): Try<InputContainerType>;
extensionInputField(id: string): Try<ExtensionInputType>;
phoneInputField(id: string): Try<PhoneInputType>;
extensionQueryField(id: string): Try<ExtensionQueryType>;
extensionSearchContainer(id: string): Try<ExtensionQueryType>;
}

/**
Expand Down Expand Up @@ -88,15 +95,22 @@ export namespace Properties {
*/
export interface ExtensionQueryType extends TextProperties {}

/**
* Properties for a native phone input extension search container component.
* @extends {ViewProperties} ViewProperties extension.
*/
export interface ExtensionSearchContainerType extends ViewProperties {}

/**
* Properties selector for a native phone input component.
*/
export interface SelectorType {
containerProperties?(id: string): Try<ContainerType>;
inputContainerProperties?(id: string): Try<InputContainerType>;
extensionInputProperties?(id: string): Try<ExtensionInputType>;
phoneInputProperties?(id: string): Try<PhoneInputType>;
extensionQueryProperties?(id: string): Try<ExtensionQueryType>;
mainContainer?(id: string): Try<ContainerType>;
inputContainer?(id: string): Try<InputContainerType>;
extensionInputField?(id: string): Try<ExtensionInputType>;
phoneInputField?(id: string): Try<PhoneInputType>;
extensionQueryField?(id: string): Try<ExtensionQueryType>;
extensionSearchContainer?(id: string): Try<ExtensionSearchContainerType>;
}

/**
Expand Down

0 comments on commit 7446de0

Please sign in to comment.