Browse Source

trad are now overridable by apps

Skylsmoi 7 years ago
parent
commit
54217ca30a

+ 49 - 39
src/component/Input/SelectStatus/SelectStatus.jsx View File

2
 import { translate } from 'react-i18next'
2
 import { translate } from 'react-i18next'
3
 import i18n from '../../../i18n.js'
3
 import i18n from '../../../i18n.js'
4
 
4
 
5
-translate.setI18n(i18n)
6
-
7
-export const SelectStatus = props =>
8
-  <div className='wsFileGeneric__option__menu__status dropdown'>
9
-    <button className='wsFileGeneric__option__menu__status__dropdownbtn check btn dropdown-toggle' type='button' id='dropdownMenu2' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>
10
-      {props.t('Input.SelectStatus.validated')}
11
-      <div className='wsFileGeneric__option__menu__status__dropdownbtn__icon'>
12
-        <i className='fa fa-check' />
13
-      </div>
14
-    </button>
15
-
16
-    <div className='wsFileGeneric__option__menu__status__submenu dropdown-menu' aria-labelledby='dropdownMenu2'>
17
-      <h6 className='dropdown-header'>{props.t('Input.SelectStatus.file_status')}</h6>
18
-
19
-      <div className='dropdown-divider' />
20
-
21
-      <button className='wsFileGeneric__option__menu__status__submenu__item current  dropdown-item' type='button'>
22
-        {props.t('Input.SelectStatus.ongoing')}
23
-        <div className='wsFileGeneric__option__menu__status__submenu__item__icon'>
24
-          <i className='fa fa-gears' />
25
-        </div>
26
-      </button>
27
-
28
-      <button className='wsFileGeneric__option__menu__status__submenu__item check dropdown-item' type='button'>
5
+export const SelectStatus = props => {
6
+  translate.setI18n(props.i18n ? props.i18n : i18n) // mandatory to allow Apps to overrides trad
7
+
8
+  return (
9
+    <div className='wsFileGeneric__option__menu__status dropdown'>
10
+      <button
11
+        className='wsFileGeneric__option__menu__status__dropdownbtn check btn dropdown-toggle'
12
+        type='button'
13
+        id='dropdownMenu2'
14
+        data-toggle='dropdown'
15
+        aria-haspopup='true'
16
+        aria-expanded='false'
17
+      >
29
         {props.t('Input.SelectStatus.validated')}
18
         {props.t('Input.SelectStatus.validated')}
30
-        <div className='wsFileGeneric__option__menu__status__submenu__item__icon'>
19
+        <div className='wsFileGeneric__option__menu__status__dropdownbtn__icon'>
31
           <i className='fa fa-check' />
20
           <i className='fa fa-check' />
32
         </div>
21
         </div>
33
       </button>
22
       </button>
34
 
23
 
35
-      <button className='wsFileGeneric__option__menu__status__submenu__item invalid dropdown-item' type='button'>
36
-        {props.t('Input.SelectStatus.unvalidated')}
37
-        <div className='wsFileGeneric__option__menu__status__submenu__item__icon'>
38
-          <i className='fa fa-times' />
39
-        </div>
40
-      </button>
41
-
42
-      <button className='wsFileGeneric__option__menu__status__submenu__item ban dropdown-item' type='button'>
43
-        {props.t('Input.SelectStatus.obsolete')}
44
-        <div className='wsFileGeneric__option__menu__status__submenu__item__icon'>
45
-          <i className='fa fa-ban' />
46
-        </div>
47
-      </button>
24
+      <div className='wsFileGeneric__option__menu__status__submenu dropdown-menu' aria-labelledby='dropdownMenu2'>
25
+        <h6 className='dropdown-header'>{props.t('Input.SelectStatus.file_status')}</h6>
26
+
27
+        <div className='dropdown-divider' />
28
+
29
+        <button className='wsFileGeneric__option__menu__status__submenu__item current  dropdown-item' type='button'>
30
+          {props.t('Input.SelectStatus.ongoing')}
31
+          <div className='wsFileGeneric__option__menu__status__submenu__item__icon'>
32
+            <i className='fa fa-gears' />
33
+          </div>
34
+        </button>
35
+
36
+        <button className='wsFileGeneric__option__menu__status__submenu__item check dropdown-item' type='button'>
37
+          {props.t('Input.SelectStatus.validated')}
38
+          <div className='wsFileGeneric__option__menu__status__submenu__item__icon'>
39
+            <i className='fa fa-check' />
40
+          </div>
41
+        </button>
42
+
43
+        <button className='wsFileGeneric__option__menu__status__submenu__item invalid dropdown-item' type='button'>
44
+          {props.t('Input.SelectStatus.unvalidated')}
45
+          <div className='wsFileGeneric__option__menu__status__submenu__item__icon'>
46
+            <i className='fa fa-times' />
47
+          </div>
48
+        </button>
49
+
50
+        <button className='wsFileGeneric__option__menu__status__submenu__item ban dropdown-item' type='button'>
51
+          {props.t('Input.SelectStatus.obsolete')}
52
+          <div className='wsFileGeneric__option__menu__status__submenu__item__icon'>
53
+            <i className='fa fa-ban' />
54
+          </div>
55
+        </button>
56
+      </div>
48
     </div>
57
     </div>
49
-  </div>
58
+  )
59
+}
50
 
60
 
51
 export default translate()(SelectStatus)
61
 export default translate()(SelectStatus)

+ 4 - 4
src/component/PopinFixed/PopinFixedOption.jsx View File

1
 import React from 'react'
1
 import React from 'react'
2
 // import classnames from 'classnames'
2
 // import classnames from 'classnames'
3
-// import PropTypes from 'prop-types'
3
+import PropTypes from 'prop-types'
4
 import { translate } from 'react-i18next'
4
 import { translate } from 'react-i18next'
5
 import i18n from '../../i18n.js'
5
 import i18n from '../../i18n.js'
6
 import SelectStatus from '../Input/SelectStatus/SelectStatus.jsx'
6
 import SelectStatus from '../Input/SelectStatus/SelectStatus.jsx'
7
 
7
 
8
-translate.setI18n(i18n)
9
-
10
 const PopinFixedOption = props => {
8
 const PopinFixedOption = props => {
9
+  translate.setI18n(props.i18n ? props.i18n : i18n) // mandatory to allow Apps to overrides trad
10
+
11
   return (
11
   return (
12
     <div className='wsFileGeneric__option'>
12
     <div className='wsFileGeneric__option'>
13
       <div className='wsFileGeneric__option__menu'>
13
       <div className='wsFileGeneric__option__menu'>
33
 export default translate()(PopinFixedOption)
33
 export default translate()(PopinFixedOption)
34
 
34
 
35
 PopinFixedOption.propTypes = {
35
 PopinFixedOption.propTypes = {
36
-
36
+  i18n: PropTypes.object // translate resource to overrides default one
37
 }
37
 }

+ 5 - 0
src/index.js View File

1
 import { libHandleFetchResult } from './helper.js'
1
 import { libHandleFetchResult } from './helper.js'
2
+import fr from './translate/fr.js'
3
+import en from './translate/en.js'
2
 
4
 
3
 import libPopinFixed from './component/PopinFixed/PopinFixed.jsx'
5
 import libPopinFixed from './component/PopinFixed/PopinFixed.jsx'
4
 import libPopinFixedHeader from './component/PopinFixed/PopinFixedHeader.jsx'
6
 import libPopinFixedHeader from './component/PopinFixed/PopinFixedHeader.jsx'
10
 import libTextAreaApp from './component/Input/TextAreaApp/TextAreaApp.jsx'
12
 import libTextAreaApp from './component/Input/TextAreaApp/TextAreaApp.jsx'
11
 import libBtnSwitch from './component/Input/BtnSwitch/BtnSwitch.jsx'
13
 import libBtnSwitch from './component/Input/BtnSwitch/BtnSwitch.jsx'
12
 
14
 
15
+export const langFr = fr
16
+export const langEn = en
17
+
13
 export const handleFetchResult = libHandleFetchResult
18
 export const handleFetchResult = libHandleFetchResult
14
 
19
 
15
 export const PopinFixed = libPopinFixed
20
 export const PopinFixed = libPopinFixed