1.0.34 • Published 4 years ago

@zohodesk/providers v1.0.34

Weekly downloads
19
License
MIT
Repository
github
Last release
4 years ago

Components

  1. I18NProvider
  2. ConnectI18NProvider
  3. I18N
  4. FormatText
  5. PluralFormat
  6. DateTimeFormat

How to use

   <I18NProvider i18n={{key:"value"}} timeZone="Asia/kolkatta">
      <YourApp>
      </YourApp>
   </I18NProvider>
   <ConnectI18NProvider i18n={(state)=>{return state.i18nObj }} timeZone={(state)=>state.user.timeZone}dateTimeFormatMessages={()=>dateTimeFormatMessages}
   onChange=((accept,reject)=>{call accept or reject})>
      <YourApp>
      </YourApp>
   </ConnectI18NProvider>
   <AppProvider i18n={(state)=>{return state.i18nObj }} timeZone={(state)=>state.user.timeZone}
    user={}
    permission={}
    license={}
   dateTimeFormatMessages={()=>dateTimeFormatMessages}
   onChange=((accept,reject)=>{call accept or reject})>
      <YourApp>
      </YourApp>
   </AppProvider>
   <FormatText i18NKey="" values={[] | ""}/>
   <PluralFormat one="i18n key for singluar" many="i18n key for plural" zero="i18n key for zero" value={1}/>

Formats

MaskDescriptionExample
yyyy4-digits year1984
yy2-digits year84
MMMMMonth nameJanuary
MMMShort month nameJan
mmmmNumeric month1
mmm2-digits month01
ddddNumeric day1
dd2-digits day01
DDDDDay of the weekTuesday
DDDShort day of the weekTue
ADay periodAM, PM
HHHH24-hours Numeric hour1
HH24-hours 2-digits hour01
hhhh12-hours Numeric hour1
hh12-hours 2-digits hour01
MMNumeric minute1
mm2-digits minute01
ssssNumeric second1
ss2-digits second01

Default format dd MMM yyyy hh:mm A;

Display Date Using Component

<DateTimeFormat format="dd MMMMM"
	dateTime={apiTimeFormat}
/>
output => 01 January

Display Date by string

getDateTimeFormat({dateTime : apiTimeFormat, format : "dd MMMMM" });
	
output => 01 January

Display Date - Custom Formatting

<DateTimeFormat dateTime={apiTimeFormat} 
    customFormat={(dateDetails,translator,dateConverter)=>{
    if(dateDetails.isToday){
        
        return translator('Today');
    }
    else if(dateDetails.isTomorrow){
    
        return translator('Tomorrow');
    }
    
    return dateConverter('dd MMMM yyyy');
 }}

/>
possible outputs => `Today` , `Tomorrow`, `01 January 1984`

Display Diff Date using component

 
 <DateTimeFormat type="diff"
	dateTime={apiTimeFormat} 
/>  
output => 10 minutes ago

Display Diff Date using string

 
 getDateTimeFormat({ type : "diff", dateTime : apiTimeFormat , customFormat }); 
output => 10 minutes ago

Display Diff Date - Custom Formatting

 
 <DateTimeFormat type="diff"
	dateTime={apiTimeFormat} 
	customFormat={(dateDetails,translator)=>{
	    
	     if( days > 1){
            return 'one day ago'
          }
          
          return 'many days ago'
          
	}}
/>  
output => 'one day ago'

Some scenario

More general component

var Greetings = ()=>{
   return <span>Hello,{this.props.name}</span>
}
<Greetings name="vimal"/>

Hello - hard coded data
name - dynamic data mostly no need to I18N. In case any dynamic data going to pass generic component. use i18nUtils.getI18NValue function

I18N Implementation
var Greetings = ()=>{
   return <span><FormatText key="helloI18nKey"/>,{this.props.name}</span>
}
<Greetings name="vimal"/>
<Greetings name={i18nUtils.getI18NValue("world")}/>
textarea placeholder display i18n value
var Textarea=()=>{
return <textarea placeHolder={this.props.placeHolder} value={this.props.value}></textarea>
}

You can mention particular props going to accept i18n key. so convert using I18N HOC
Textarea = HOCI18N(["placeHolder"])(Textarea)
<Textarea placeHolder="i18n.please.enter.desc.key"/>

You can use utils function
<Textarea placeHolder={i18nUtils.getI18NValue("i18n.please.enter.desc.key")}/>

i18n json build time composes not yet done

#1.2.0-beta.9

  • es6 move and prettier format

#1.2.0-beta.11

title support missing use Cases today yesterday tomorrow error fix pattern format changed

#1.2.0-beta.12 user date format pattern issue fix

#1.2.0-beta.13 suffix issue fix - pattern "00000" to "0000"

#1.2.0-beta.14 proptypes move to prop-types package "getValues" duplicate method build issue

1.0.33

4 years ago

1.0.34

4 years ago

1.0.32

5 years ago

1.0.31

5 years ago

1.0.30

5 years ago

1.0.29

5 years ago

1.0.28

5 years ago

1.0.27

5 years ago

1.0.26

5 years ago

1.0.25

5 years ago

1.0.24

5 years ago

1.0.23

5 years ago

1.0.22

5 years ago

1.0.21

5 years ago

1.0.20

5 years ago

1.0.19

5 years ago

1.0.18

5 years ago

1.0.17

5 years ago

1.0.16

5 years ago

1.0.15

5 years ago

1.0.14

5 years ago

1.0.13

5 years ago

1.0.12

5 years ago

1.0.11

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago