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,50 +2,60 @@ import React from 'react'
2 2
 import { translate } from 'react-i18next'
3 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 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 20
           <i className='fa fa-check' />
32 21
         </div>
33 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 57
     </div>
49
-  </div>
58
+  )
59
+}
50 60
 
51 61
 export default translate()(SelectStatus)

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

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

+ 5 - 0
src/index.js View File

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