@hipay/hipay-material-ui 1.0.0-beta.18 → 1.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HiCheckbox/HiCheckbox.js +1 -4
- package/HiChip/HiChip.js +4 -4
- package/HiChip/HiChipSwitch.js +4 -11
- package/HiColoredLabel/HiColoredLabel.js +3 -9
- package/HiDatePicker/HiDatePicker.js +30 -34
- package/HiDatePicker/HiDateRangePicker.js +33 -76
- package/HiDatePicker/HiDateRangeSelector.js +13 -33
- package/HiDatePicker/ListPicker.js +7 -32
- package/HiDatePicker/Overlays/CustomOverlayLayout.js +1 -3
- package/HiDatePicker/Overlays/MonthPickerOverlay.js +1 -5
- package/HiDatePicker/Overlays/Overlay.js +4 -22
- package/HiDatePicker/Overlays/YearPickerOverlay.js +1 -2
- package/HiDatePicker/stylesheet.js +0 -7
- package/HiForm/HiFormControl.js +31 -39
- package/HiForm/HiInput.js +18 -39
- package/HiForm/HiSearchField.js +2 -2
- package/HiForm/index.js +0 -18
- package/HiPins/HiPins.js +1 -0
- package/HiSelect/HiSelect.js +353 -400
- package/HiSelect/HiSelectField.js +6 -8
- package/HiSelect/HiSuggestSelect.js +47 -27
- package/HiSelect/HiSuggestSelectField.js +80 -88
- package/HiSelect/SelectInput.js +23 -34
- package/HiSelectableList/HiSelectableList.js +3 -9
- package/HiSelectableList/HiSelectableListItem.js +55 -96
- package/HiSwitch/HiSwitchState.js +1 -1
- package/HiSwitch/index.js +0 -6
- package/HiTable/BodyCellBuilder.js +97 -97
- package/HiTable/BodyCells/CellCountry.js +36 -11
- package/HiTable/BodyCells/CellIcon.js +20 -29
- package/HiTable/BodyCells/CellImage.js +22 -43
- package/HiTable/BodyCells/CellLayout.js +19 -25
- package/HiTable/BodyCells/CellNumeric.js +2 -7
- package/HiTable/BodyCells/CellSentinel.js +17 -26
- package/HiTable/BodyCells/CellStatus.js +2 -6
- package/HiTable/BodyCells/CellText.js +1 -2
- package/HiTable/BodyCells/CellThirdPartySecurity.js +22 -45
- package/HiTable/BodyRow.js +57 -78
- package/HiTable/ColumnFilter.js +15 -28
- package/HiTable/HeaderCell.js +16 -20
- package/HiTable/HiTable.js +11 -61
- package/HiTable/HiTableBody.js +14 -46
- package/HiTable/HiTableContextMenu.js +3 -7
- package/HiTable/HiTableFooterScroll.js +1 -1
- package/HiTable/HiTableHead.js +7 -24
- package/HiTable/OrderColumns.js +2 -6
- package/HiTopBar/HiTopBar.js +117 -37
- package/es/HiCheckbox/HiCheckbox.js +1 -4
- package/es/HiChip/HiChip.js +4 -4
- package/es/HiChip/HiChipSwitch.js +4 -11
- package/es/HiColoredLabel/HiColoredLabel.js +4 -9
- package/es/HiDatePicker/HiDatePicker.js +25 -30
- package/es/HiDatePicker/HiDateRangePicker.js +32 -72
- package/es/HiDatePicker/HiDateRangeSelector.js +14 -34
- package/es/HiDatePicker/ListPicker.js +20 -39
- package/es/HiDatePicker/Overlays/CustomOverlayLayout.js +1 -3
- package/es/HiDatePicker/Overlays/MonthPickerOverlay.js +1 -5
- package/es/HiDatePicker/Overlays/Overlay.js +4 -18
- package/es/HiDatePicker/Overlays/YearPickerOverlay.js +1 -2
- package/es/HiDatePicker/stylesheet.js +0 -7
- package/es/HiForm/HiFormControl.js +18 -32
- package/es/HiForm/HiInput.js +17 -34
- package/es/HiForm/HiSearchField.js +2 -2
- package/es/HiForm/index.js +1 -3
- package/es/HiPins/HiPins.js +1 -0
- package/es/HiSelect/HiSelect.js +324 -375
- package/es/HiSelect/HiSelectField.js +7 -9
- package/es/HiSelect/HiSuggestSelect.js +39 -26
- package/es/HiSelect/HiSuggestSelectField.js +69 -77
- package/es/HiSelect/SelectInput.js +23 -44
- package/es/HiSelectableList/HiSelectableList.js +4 -10
- package/es/HiSelectableList/HiSelectableListItem.js +55 -91
- package/es/HiSwitch/HiSwitchState.js +1 -1
- package/es/HiSwitch/index.js +0 -1
- package/es/HiTable/BodyCellBuilder.js +98 -96
- package/es/HiTable/BodyCells/CellCountry.js +35 -10
- package/es/HiTable/BodyCells/CellIcon.js +9 -18
- package/es/HiTable/BodyCells/CellImage.js +23 -42
- package/es/HiTable/BodyCells/CellLayout.js +21 -27
- package/es/HiTable/BodyCells/CellNumeric.js +2 -6
- package/es/HiTable/BodyCells/CellSentinel.js +9 -20
- package/es/HiTable/BodyCells/CellStatus.js +2 -6
- package/es/HiTable/BodyCells/CellText.js +1 -2
- package/es/HiTable/BodyCells/CellThirdPartySecurity.js +18 -42
- package/es/HiTable/BodyRow.js +56 -79
- package/es/HiTable/ColumnFilter.js +9 -15
- package/es/HiTable/HeaderCell.js +16 -20
- package/es/HiTable/HiTable.js +12 -59
- package/es/HiTable/HiTableBody.js +11 -42
- package/es/HiTable/HiTableContextMenu.js +3 -7
- package/es/HiTable/HiTableFooterScroll.js +1 -1
- package/es/HiTable/HiTableHead.js +7 -19
- package/es/HiTable/OrderColumns.js +2 -6
- package/es/HiTopBar/HiTopBar.js +108 -40
- package/es/styles/createHiMuiTheme.js +0 -11
- package/es/utils/hiHelpers.js +5 -6
- package/index.es.js +1 -1
- package/index.js +1 -1
- package/package.json +44 -45
- package/styles/createHiMuiTheme.js +0 -11
- package/umd/hipay-material-ui.development.js +43603 -87235
- package/umd/hipay-material-ui.production.min.js +5 -5
- package/utils/hiHelpers.js +4 -6
- package/HI-CHANGELOG.md +0 -58
- package/HiAlertModal/HiAlertModal.js +0 -247
- package/HiAlertModal/index.js +0 -16
- package/HiBreadcrumb/HiBreadcrumb.js +0 -149
- package/HiBreadcrumb/HiStep.js +0 -159
- package/HiBreadcrumb/HiStepConnector.js +0 -207
- package/HiBreadcrumb/HiStepContent.js +0 -122
- package/HiBreadcrumb/HiStepIcon.js +0 -191
- package/HiBreadcrumb/HiStepLabel.js +0 -248
- package/HiBreadcrumb/HiStepper.js +0 -106
- package/HiBreadcrumb/index.js +0 -16
- package/HiDotsStepper/HiDot.js +0 -151
- package/HiDotsStepper/HiDotsStepper.js +0 -146
- package/HiDotsStepper/index.js +0 -16
- package/HiExpansionPanel/HiExpansionPanel.js +0 -231
- package/HiExpansionPanel/index.js +0 -16
- package/HiForm/HiAddressField.js +0 -204
- package/HiForm/HiSlider.js +0 -399
- package/HiPdfReader/HiPdfReader.js +0 -282
- package/HiPdfReader/index.js +0 -16
- package/HiTable/HiTableFooter.js +0 -131
- package/es/HiAlertModal/HiAlertModal.js +0 -189
- package/es/HiAlertModal/index.js +0 -1
- package/es/HiBreadcrumb/HiBreadcrumb.js +0 -81
- package/es/HiBreadcrumb/HiStep.js +0 -94
- package/es/HiBreadcrumb/HiStepConnector.js +0 -143
- package/es/HiBreadcrumb/HiStepContent.js +0 -63
- package/es/HiBreadcrumb/HiStepIcon.js +0 -149
- package/es/HiBreadcrumb/HiStepLabel.js +0 -197
- package/es/HiBreadcrumb/HiStepper.js +0 -46
- package/es/HiBreadcrumb/index.js +0 -1
- package/es/HiDotsStepper/HiDot.js +0 -92
- package/es/HiDotsStepper/HiDotsStepper.js +0 -83
- package/es/HiDotsStepper/index.js +0 -1
- package/es/HiExpansionPanel/HiExpansionPanel.js +0 -170
- package/es/HiExpansionPanel/index.js +0 -1
- package/es/HiForm/HiAddressField.js +0 -142
- package/es/HiForm/HiSlider.js +0 -309
- package/es/HiPdfReader/HiPdfReader.js +0 -198
- package/es/HiPdfReader/index.js +0 -1
- package/es/HiTable/HiTableFooter.js +0 -74
- package/hmu/images/countries/ad.svg +0 -151
- package/hmu/images/countries/ae.svg +0 -6
- package/hmu/images/countries/af.svg +0 -83
- package/hmu/images/countries/ag.svg +0 -15
- package/hmu/images/countries/ai.svg +0 -767
- package/hmu/images/countries/al.svg +0 -5
- package/hmu/images/countries/am.svg +0 -5
- package/hmu/images/countries/ao.svg +0 -13
- package/hmu/images/countries/aq.svg +0 -6
- package/hmu/images/countries/ar.svg +0 -32
- package/hmu/images/countries/as.svg +0 -33
- package/hmu/images/countries/at.svg +0 -6
- package/hmu/images/countries/au.svg +0 -9
- package/hmu/images/countries/aw.svg +0 -186
- package/hmu/images/countries/ax.svg +0 -18
- package/hmu/images/countries/az.svg +0 -8
- package/hmu/images/countries/ba.svg +0 -12
- package/hmu/images/countries/bb.svg +0 -6
- package/hmu/images/countries/bd.svg +0 -4
- package/hmu/images/countries/be.svg +0 -7
- package/hmu/images/countries/bf.svg +0 -7
- package/hmu/images/countries/bg.svg +0 -7
- package/hmu/images/countries/bh.svg +0 -11
- package/hmu/images/countries/bi.svg +0 -15
- package/hmu/images/countries/bj.svg +0 -14
- package/hmu/images/countries/bl.svg +0 -7
- package/hmu/images/countries/bm.svg +0 -99
- package/hmu/images/countries/bn.svg +0 -36
- package/hmu/images/countries/bo.svg +0 -686
- package/hmu/images/countries/bq.svg +0 -5
- package/hmu/images/countries/br.svg +0 -45
- package/hmu/images/countries/bs.svg +0 -13
- package/hmu/images/countries/bt.svg +0 -89
- package/hmu/images/countries/bv.svg +0 -13
- package/hmu/images/countries/bw.svg +0 -7
- package/hmu/images/countries/by.svg +0 -61
- package/hmu/images/countries/bz.svg +0 -146
- package/hmu/images/countries/ca.svg +0 -4
- package/hmu/images/countries/cc.svg +0 -19
- package/hmu/images/countries/cd.svg +0 -5
- package/hmu/images/countries/cf.svg +0 -15
- package/hmu/images/countries/cg.svg +0 -12
- package/hmu/images/countries/ch.svg +0 -9
- package/hmu/images/countries/ci.svg +0 -7
- package/hmu/images/countries/ck.svg +0 -9
- package/hmu/images/countries/cl.svg +0 -13
- package/hmu/images/countries/cm.svg +0 -15
- package/hmu/images/countries/cn.svg +0 -11
- package/hmu/images/countries/co.svg +0 -7
- package/hmu/images/countries/cr.svg +0 -7
- package/hmu/images/countries/cu.svg +0 -13
- package/hmu/images/countries/cv.svg +0 -13
- package/hmu/images/countries/cw.svg +0 -14
- package/hmu/images/countries/cx.svg +0 -15
- package/hmu/images/countries/cy.svg +0 -6
- package/hmu/images/countries/cz.svg +0 -12
- package/hmu/images/countries/de.svg +0 -5
- package/hmu/images/countries/dj.svg +0 -13
- package/hmu/images/countries/dk.svg +0 -5
- package/hmu/images/countries/dm.svg +0 -152
- package/hmu/images/countries/do.svg +0 -6745
- package/hmu/images/countries/dz.svg +0 -5
- package/hmu/images/countries/ec.svg +0 -141
- package/hmu/images/countries/ee.svg +0 -7
- package/hmu/images/countries/eg.svg +0 -38
- package/hmu/images/countries/eh.svg +0 -15
- package/hmu/images/countries/er.svg +0 -8
- package/hmu/images/countries/es-ct.svg +0 -4
- package/hmu/images/countries/es.svg +0 -581
- package/hmu/images/countries/et.svg +0 -14
- package/hmu/images/countries/eu.svg +0 -28
- package/hmu/images/countries/fi.svg +0 -5
- package/hmu/images/countries/fj.svg +0 -124
- package/hmu/images/countries/fk.svg +0 -90
- package/hmu/images/countries/fm.svg +0 -11
- package/hmu/images/countries/fo.svg +0 -12
- package/hmu/images/countries/fr.svg +0 -7
- package/hmu/images/countries/ga.svg +0 -7
- package/hmu/images/countries/gb-eng.svg +0 -5
- package/hmu/images/countries/gb-nir.svg +0 -137
- package/hmu/images/countries/gb-sct.svg +0 -4
- package/hmu/images/countries/gb-wls.svg +0 -9
- package/hmu/images/countries/gb.svg +0 -15
- package/hmu/images/countries/gd.svg +0 -27
- package/hmu/images/countries/ge.svg +0 -6
- package/hmu/images/countries/gf.svg +0 -5
- package/hmu/images/countries/gg.svg +0 -9
- package/hmu/images/countries/gh.svg +0 -6
- package/hmu/images/countries/gi.svg +0 -33
- package/hmu/images/countries/gl.svg +0 -4
- package/hmu/images/countries/gm.svg +0 -14
- package/hmu/images/countries/gn.svg +0 -7
- package/hmu/images/countries/gp.svg +0 -7
- package/hmu/images/countries/gq.svg +0 -23
- package/hmu/images/countries/gr.svg +0 -22
- package/hmu/images/countries/gs.svg +0 -205
- package/hmu/images/countries/gt.svg +0 -204
- package/hmu/images/countries/gu.svg +0 -39
- package/hmu/images/countries/gw.svg +0 -13
- package/hmu/images/countries/gy.svg +0 -9
- package/hmu/images/countries/hk.svg +0 -32
- package/hmu/images/countries/hm.svg +0 -9
- package/hmu/images/countries/hn.svg +0 -18
- package/hmu/images/countries/hr.svg +0 -59
- package/hmu/images/countries/ht.svg +0 -122
- package/hmu/images/countries/hu.svg +0 -7
- package/hmu/images/countries/id.svg +0 -6
- package/hmu/images/countries/ie.svg +0 -7
- package/hmu/images/countries/il.svg +0 -14
- package/hmu/images/countries/im.svg +0 -36
- package/hmu/images/countries/in.svg +0 -25
- package/hmu/images/countries/io.svg +0 -148
- package/hmu/images/countries/iq.svg +0 -10
- package/hmu/images/countries/ir.svg +0 -219
- package/hmu/images/countries/is.svg +0 -12
- package/hmu/images/countries/it.svg +0 -7
- package/hmu/images/countries/je.svg +0 -32
- package/hmu/images/countries/jm.svg +0 -8
- package/hmu/images/countries/jo.svg +0 -16
- package/hmu/images/countries/jp.svg +0 -11
- package/hmu/images/countries/ke.svg +0 -23
- package/hmu/images/countries/kg.svg +0 -15
- package/hmu/images/countries/kh.svg +0 -69
- package/hmu/images/countries/ki.svg +0 -36
- package/hmu/images/countries/km.svg +0 -16
- package/hmu/images/countries/kn.svg +0 -14
- package/hmu/images/countries/kp.svg +0 -15
- package/hmu/images/countries/kr.svg +0 -24
- package/hmu/images/countries/kw.svg +0 -13
- package/hmu/images/countries/ky.svg +0 -63
- package/hmu/images/countries/kz.svg +0 -23
- package/hmu/images/countries/la.svg +0 -12
- package/hmu/images/countries/lb.svg +0 -15
- package/hmu/images/countries/lc.svg +0 -8
- package/hmu/images/countries/li.svg +0 -43
- package/hmu/images/countries/lk.svg +0 -22
- package/hmu/images/countries/lr.svg +0 -14
- package/hmu/images/countries/ls.svg +0 -8
- package/hmu/images/countries/lt.svg +0 -7
- package/hmu/images/countries/lu.svg +0 -5
- package/hmu/images/countries/lv.svg +0 -6
- package/hmu/images/countries/ly.svg +0 -13
- package/hmu/images/countries/ma.svg +0 -4
- package/hmu/images/countries/mc.svg +0 -6
- package/hmu/images/countries/md.svg +0 -72
- package/hmu/images/countries/me.svg +0 -118
- package/hmu/images/countries/mf.svg +0 -7
- package/hmu/images/countries/mg.svg +0 -7
- package/hmu/images/countries/mh.svg +0 -7
- package/hmu/images/countries/mk.svg +0 -5
- package/hmu/images/countries/ml.svg +0 -7
- package/hmu/images/countries/mm.svg +0 -16
- package/hmu/images/countries/mn.svg +0 -13
- package/hmu/images/countries/mo.svg +0 -9
- package/hmu/images/countries/mp.svg +0 -86
- package/hmu/images/countries/mq.svg +0 -7
- package/hmu/images/countries/mr.svg +0 -6
- package/hmu/images/countries/ms.svg +0 -39
- package/hmu/images/countries/mt.svg +0 -49
- package/hmu/images/countries/mu.svg +0 -8
- package/hmu/images/countries/mv.svg +0 -6
- package/hmu/images/countries/mw.svg +0 -10
- package/hmu/images/countries/mx.svg +0 -385
- package/hmu/images/countries/my.svg +0 -15
- package/hmu/images/countries/mz.svg +0 -21
- package/hmu/images/countries/na.svg +0 -16
- package/hmu/images/countries/nc.svg +0 -7
- package/hmu/images/countries/ne.svg +0 -6
- package/hmu/images/countries/nf.svg +0 -9
- package/hmu/images/countries/ng.svg +0 -6
- package/hmu/images/countries/ni.svg +0 -131
- package/hmu/images/countries/nl.svg +0 -7
- package/hmu/images/countries/no.svg +0 -7
- package/hmu/images/countries/np.svg +0 -14
- package/hmu/images/countries/nr.svg +0 -12
- package/hmu/images/countries/nu.svg +0 -26
- package/hmu/images/countries/nz.svg +0 -41
- package/hmu/images/countries/om.svg +0 -116
- package/hmu/images/countries/pa.svg +0 -14
- package/hmu/images/countries/pe.svg +0 -279
- package/hmu/images/countries/pf.svg +0 -19
- package/hmu/images/countries/pg.svg +0 -9
- package/hmu/images/countries/ph.svg +0 -28
- package/hmu/images/countries/pk.svg +0 -15
- package/hmu/images/countries/pl.svg +0 -6
- package/hmu/images/countries/pm.svg +0 -7
- package/hmu/images/countries/pn.svg +0 -62
- package/hmu/images/countries/pr.svg +0 -13
- package/hmu/images/countries/ps.svg +0 -15
- package/hmu/images/countries/pt.svg +0 -57
- package/hmu/images/countries/pw.svg +0 -11
- package/hmu/images/countries/py.svg +0 -157
- package/hmu/images/countries/qa.svg +0 -4
- package/hmu/images/countries/re.svg +0 -7
- package/hmu/images/countries/ro.svg +0 -7
- package/hmu/images/countries/rs.svg +0 -292
- package/hmu/images/countries/ru.svg +0 -7
- package/hmu/images/countries/rw.svg +0 -13
- package/hmu/images/countries/sa.svg +0 -26
- package/hmu/images/countries/sb.svg +0 -13
- package/hmu/images/countries/sc.svg +0 -14
- package/hmu/images/countries/sd.svg +0 -13
- package/hmu/images/countries/se.svg +0 -16
- package/hmu/images/countries/sg.svg +0 -13
- package/hmu/images/countries/sh.svg +0 -74
- package/hmu/images/countries/si.svg +0 -18
- package/hmu/images/countries/sj.svg +0 -7
- package/hmu/images/countries/sk.svg +0 -9
- package/hmu/images/countries/sl.svg +0 -7
- package/hmu/images/countries/sm.svg +0 -91
- package/hmu/images/countries/sn.svg +0 -8
- package/hmu/images/countries/so.svg +0 -11
- package/hmu/images/countries/sr.svg +0 -6
- package/hmu/images/countries/ss.svg +0 -8
- package/hmu/images/countries/st.svg +0 -16
- package/hmu/images/countries/sv.svg +0 -618
- package/hmu/images/countries/sx.svg +0 -56
- package/hmu/images/countries/sy.svg +0 -6
- package/hmu/images/countries/sz.svg +0 -45
- package/hmu/images/countries/tc.svg +0 -67
- package/hmu/images/countries/td.svg +0 -7
- package/hmu/images/countries/tf.svg +0 -15
- package/hmu/images/countries/tg.svg +0 -14
- package/hmu/images/countries/th.svg +0 -7
- package/hmu/images/countries/tj.svg +0 -22
- package/hmu/images/countries/tk.svg +0 -5
- package/hmu/images/countries/tl.svg +0 -13
- package/hmu/images/countries/tm.svg +0 -213
- package/hmu/images/countries/tn.svg +0 -13
- package/hmu/images/countries/to.svg +0 -10
- package/hmu/images/countries/tr.svg +0 -8
- package/hmu/images/countries/tt.svg +0 -5
- package/hmu/images/countries/tv.svg +0 -27
- package/hmu/images/countries/tw.svg +0 -14
- package/hmu/images/countries/tz.svg +0 -13
- package/hmu/images/countries/ua.svg +0 -6
- package/hmu/images/countries/ug.svg +0 -30
- package/hmu/images/countries/um.svg +0 -23
- package/hmu/images/countries/un.svg +0 -16
- package/hmu/images/countries/us.svg +0 -12
- package/hmu/images/countries/uy.svg +0 -28
- package/hmu/images/countries/uz.svg +0 -30
- package/hmu/images/countries/va.svg +0 -483
- package/hmu/images/countries/vc.svg +0 -8
- package/hmu/images/countries/ve.svg +0 -26
- package/hmu/images/countries/vg.svg +0 -133
- package/hmu/images/countries/vi.svg +0 -31
- package/hmu/images/countries/vn.svg +0 -11
- package/hmu/images/countries/vu.svg +0 -18
- package/hmu/images/countries/wf.svg +0 -7
- package/hmu/images/countries/ws.svg +0 -7
- package/hmu/images/countries/ye.svg +0 -7
- package/hmu/images/countries/yt.svg +0 -7
- package/hmu/images/countries/za.svg +0 -17
- package/hmu/images/countries/zm.svg +0 -27
- package/hmu/images/countries/zw.svg +0 -21
- package/hmu/images/hipay-white-logo.svg +0 -42
- package/hmu/images/logo_visa_75wx45h.gif +0 -0
package/HiSelect/HiSelect.js
CHANGED
|
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.styles = undefined;
|
|
7
7
|
|
|
8
|
-
var _keys = require('babel-runtime/core-js/object/keys');
|
|
9
|
-
|
|
10
|
-
var _keys2 = _interopRequireDefault(_keys);
|
|
11
|
-
|
|
12
8
|
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
|
|
13
9
|
|
|
14
10
|
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
|
|
15
11
|
|
|
12
|
+
var _keys = require('babel-runtime/core-js/object/keys');
|
|
13
|
+
|
|
14
|
+
var _keys2 = _interopRequireDefault(_keys);
|
|
15
|
+
|
|
16
16
|
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
|
17
17
|
|
|
18
18
|
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
|
@@ -63,6 +63,10 @@ var _ClickAwayListener = require('material-ui/utils/ClickAwayListener');
|
|
|
63
63
|
|
|
64
64
|
var _ClickAwayListener2 = _interopRequireDefault(_ClickAwayListener);
|
|
65
65
|
|
|
66
|
+
var _Collapse = require('material-ui/transitions/Collapse');
|
|
67
|
+
|
|
68
|
+
var _Collapse2 = _interopRequireDefault(_Collapse);
|
|
69
|
+
|
|
66
70
|
var _reactPopper = require('react-popper');
|
|
67
71
|
|
|
68
72
|
var _mdiMaterialUi = require('mdi-material-ui');
|
|
@@ -71,6 +75,10 @@ var _HiSelectableList = require('../HiSelectableList');
|
|
|
71
75
|
|
|
72
76
|
var _HiSelectableList2 = _interopRequireDefault(_HiSelectableList);
|
|
73
77
|
|
|
78
|
+
var _HiSelectableListItem = require('../HiSelectableList/HiSelectableListItem');
|
|
79
|
+
|
|
80
|
+
var _HiSelectableListItem2 = _interopRequireDefault(_HiSelectableListItem);
|
|
81
|
+
|
|
74
82
|
var _HiForm = require('../HiForm');
|
|
75
83
|
|
|
76
84
|
var _SelectInput = require('./SelectInput');
|
|
@@ -103,6 +111,7 @@ var styles = exports.styles = function styles(theme) {
|
|
|
103
111
|
},
|
|
104
112
|
popper: {
|
|
105
113
|
width: '100%',
|
|
114
|
+
transform: 'none !important',
|
|
106
115
|
zIndex: 9
|
|
107
116
|
},
|
|
108
117
|
paper: {
|
|
@@ -149,7 +158,249 @@ var HiSelect = function (_React$PureComponent) {
|
|
|
149
158
|
|
|
150
159
|
var _this = (0, _possibleConstructorReturn3.default)(this, (HiSelect.__proto__ || (0, _getPrototypeOf2.default)(HiSelect)).call(this, props));
|
|
151
160
|
|
|
152
|
-
|
|
161
|
+
_this.handleClick = function () {
|
|
162
|
+
document.body.style.overflow = 'hidden';
|
|
163
|
+
_this.setState({ open: true });
|
|
164
|
+
var options = _this.props.options.slice();
|
|
165
|
+
_this.handleSuggestions(options);
|
|
166
|
+
|
|
167
|
+
if (_this.props.onClick) {
|
|
168
|
+
_this.props.onClick();
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// Gestion du focus
|
|
172
|
+
if (_this.searchField) {
|
|
173
|
+
// si searchable, focus sur le champs de recherche
|
|
174
|
+
var searchField = _this.searchField;
|
|
175
|
+
setTimeout(function () {
|
|
176
|
+
searchField.focus();
|
|
177
|
+
}, 1);
|
|
178
|
+
} else if (_this.overlay) {
|
|
179
|
+
// sinon focus sur le dernier élément selectionné
|
|
180
|
+
_this.focusOnSelectedItem();
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
_this.focusOnSelectedItem = function () {
|
|
185
|
+
// On récupère la div parent "overlay"
|
|
186
|
+
var overlay = (0, _reactDom.findDOMNode)(_this.overlay);
|
|
187
|
+
var multiple = _this.props.multiple;
|
|
188
|
+
var value = _this.props.value;
|
|
189
|
+
var selectedIdList = Array.isArray(value) ? value : [value];
|
|
190
|
+
setTimeout(function () {
|
|
191
|
+
var focused = false;
|
|
192
|
+
// Si un ou plusieurs items sont selectionnés, on focus sur le dernier
|
|
193
|
+
if (selectedIdList.length > 0) {
|
|
194
|
+
var itemSelected = overlay.querySelector('[data-id="' + selectedIdList[selectedIdList.length - 1] + '"]');
|
|
195
|
+
if (itemSelected && itemSelected.parentElement.tagName === 'LI') {
|
|
196
|
+
itemSelected.parentElement.focus();
|
|
197
|
+
focused = true;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
// Si pas d'item selectionné, ou pas visible (en cas de recherche), focus sur le premier
|
|
201
|
+
if (selectedIdList.length === 0 || !focused) {
|
|
202
|
+
// On recupère tous les items
|
|
203
|
+
var items = overlay.getElementsByTagName('li');
|
|
204
|
+
var itemToFocus = items[0];
|
|
205
|
+
// Si select multiple, et qu'au moins un selectionné, focus sur le 2e item
|
|
206
|
+
if (multiple && selectedIdList.length > 0) {
|
|
207
|
+
itemToFocus = items[1];
|
|
208
|
+
}
|
|
209
|
+
itemToFocus.focus();
|
|
210
|
+
}
|
|
211
|
+
}, 1);
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
_this.handleKeyDown = function (event) {
|
|
215
|
+
var nextItem = void 0;
|
|
216
|
+
if (event.key === 'ArrowDown') {
|
|
217
|
+
nextItem = (0, _hiHelpers.getNextItemSelectable)(document.activeElement, 'down');
|
|
218
|
+
} else if (event.key === 'ArrowUp') {
|
|
219
|
+
nextItem = (0, _hiHelpers.getNextItemSelectable)(document.activeElement, 'up');
|
|
220
|
+
} else if (event.key === 'Tab') {
|
|
221
|
+
document.body.style.overflow = 'auto';
|
|
222
|
+
_this.setState({ open: false });
|
|
223
|
+
}
|
|
224
|
+
if (nextItem) {
|
|
225
|
+
nextItem.focus();
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
_this.handleKeyDownSearch = function (event) {
|
|
230
|
+
if (_this.overlay && (event.key === 'ArrowDown' || event.key === 'ArrowUp')) {
|
|
231
|
+
_this.focusOnSelectedItem();
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
_this.handleFocus = function () {
|
|
236
|
+
_this.setState({ focused: true });
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
_this.handleBlur = function () {
|
|
240
|
+
_this.setState({ focused: false });
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
_this.handleClose = function () {
|
|
244
|
+
document.body.style.overflow = 'auto';
|
|
245
|
+
_this.setState({
|
|
246
|
+
open: false
|
|
247
|
+
});
|
|
248
|
+
|
|
249
|
+
if (_this.props.onClose) {
|
|
250
|
+
_this.props.onClose();
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
_this.handleSelect = function (event, item) {
|
|
255
|
+
var _this$props = _this.props,
|
|
256
|
+
multiple = _this$props.multiple,
|
|
257
|
+
value = _this$props.value,
|
|
258
|
+
name = _this$props.name,
|
|
259
|
+
onChange = _this$props.onChange,
|
|
260
|
+
options = _this$props.options,
|
|
261
|
+
hierarchic = _this$props.hierarchic;
|
|
262
|
+
var _this$state = _this.state,
|
|
263
|
+
hierarchySelected = _this$state.hierarchySelected,
|
|
264
|
+
hierarchy = _this$state.hierarchy,
|
|
265
|
+
nbOptions = _this$state.nbOptions;
|
|
266
|
+
|
|
267
|
+
var hiSelected = (0, _extends3.default)({}, hierarchySelected);
|
|
268
|
+
|
|
269
|
+
if (multiple) {
|
|
270
|
+
var valueList = value;
|
|
271
|
+
if (item.id === '_all') {
|
|
272
|
+
if (valueList.length === nbOptions) {
|
|
273
|
+
valueList = [];
|
|
274
|
+
if (hierarchic) {
|
|
275
|
+
// if hierarchic select => empty associative array of selected children
|
|
276
|
+
(0, _keys2.default)(hiSelected).forEach(function (key) {
|
|
277
|
+
hiSelected[key] = [];
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
} else {
|
|
281
|
+
options.forEach(function (option) {
|
|
282
|
+
if (option.hasChildren !== true && !valueList.includes(option.id) && option.id !== '_all') {
|
|
283
|
+
valueList.push(option.id);
|
|
284
|
+
} else if (option.hasChildren === true) {
|
|
285
|
+
// if hierarchic select => fill associative array of selected children
|
|
286
|
+
hiSelected[option.id] = hierarchy[option.id];
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
} else if (valueList.includes(item.id) || item.hasChildren === true && hierarchySelected[item.id].length === hierarchy[item.id].length) {
|
|
291
|
+
// item déjà sélectionné => on le déselectionne
|
|
292
|
+
if (item.hasChildren !== true) {
|
|
293
|
+
valueList = valueList.filter(function (val) {
|
|
294
|
+
return val !== item.id;
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
if (item.hasChildren === true) {
|
|
299
|
+
// remove all children
|
|
300
|
+
valueList = valueList.filter(function (val) {
|
|
301
|
+
return !_this.state.hierarchy[item.id].includes(val);
|
|
302
|
+
});
|
|
303
|
+
hiSelected[item.id] = [];
|
|
304
|
+
} else if (item.hasOwnProperty('parentId')) {
|
|
305
|
+
// Si item est un enfant on l'enlève du tableau associatif des
|
|
306
|
+
// elmts sélectionnés
|
|
307
|
+
hiSelected[item.parentId].splice(hiSelected[item.parentId].indexOf(item.id), 1);
|
|
308
|
+
}
|
|
309
|
+
} else {
|
|
310
|
+
// item non sélectionné => on le sélectionne
|
|
311
|
+
if (item.hasChildren !== true) valueList.push(item.id);
|
|
312
|
+
|
|
313
|
+
if (item.hasChildren === true) {
|
|
314
|
+
// Si item parent => on ajoute tous les enfants
|
|
315
|
+
// Ou on les supprime s'ils sont déjà tous sélectionnés (dans une liste filtrée)
|
|
316
|
+
var idsInSuggestions = [];
|
|
317
|
+
_this.state.suggestions.forEach(function (suggestion) {
|
|
318
|
+
if (_this.state.hierarchy[item.id].includes(suggestion.id)) {
|
|
319
|
+
idsInSuggestions.push(suggestion.id);
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
// if(hierarchySelected[item.id].length > 0) {}
|
|
323
|
+
var allChildrenSuggestionsSelected = true;
|
|
324
|
+
idsInSuggestions.forEach(function (id) {
|
|
325
|
+
if (!hierarchySelected[item.id].includes(id)) {
|
|
326
|
+
allChildrenSuggestionsSelected = false;
|
|
327
|
+
}
|
|
328
|
+
});
|
|
329
|
+
|
|
330
|
+
if (allChildrenSuggestionsSelected === true) {
|
|
331
|
+
// On supprime les enfants car déjà tous sélectionnés
|
|
332
|
+
idsInSuggestions.forEach(function (id) {
|
|
333
|
+
valueList.splice(valueList.indexOf(id), 1);
|
|
334
|
+
hiSelected[item.id].splice(hiSelected[item.id].indexOf(id), 1);
|
|
335
|
+
});
|
|
336
|
+
} else {
|
|
337
|
+
// On ajoute tous les enfants filtrés au éléments sélectionnés
|
|
338
|
+
valueList = (0, _hiHelpers.arrayUnique)(valueList.concat(idsInSuggestions));
|
|
339
|
+
hiSelected[item.id] = (0, _hiHelpers.arrayUnique)(hiSelected[item.id].concat(idsInSuggestions));
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
_this.setState({ hierarchySelected: hiSelected });
|
|
343
|
+
} else if (item.hasOwnProperty('parentId')) {
|
|
344
|
+
// Si item est un enfant on l'ajoute du tableau associatif des
|
|
345
|
+
// elmts sélectionnés
|
|
346
|
+
hiSelected[item.parentId].push(item.id);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
_this.setState({ hierarchySelected: hiSelected });
|
|
350
|
+
onChange(event, valueList);
|
|
351
|
+
} else {
|
|
352
|
+
onChange(event, item.id);
|
|
353
|
+
_this.handleClose();
|
|
354
|
+
}
|
|
355
|
+
};
|
|
356
|
+
|
|
357
|
+
_this.handleSuggestions = function (suggestions) {
|
|
358
|
+
var _this$props2 = _this.props,
|
|
359
|
+
options = _this$props2.options,
|
|
360
|
+
hasAll = _this$props2.hasAll,
|
|
361
|
+
iconAll = _this$props2.iconAll,
|
|
362
|
+
translations = _this$props2.translations,
|
|
363
|
+
multiple = _this$props2.multiple;
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
if (suggestions.length === 0) {
|
|
367
|
+
// Handle No Result
|
|
368
|
+
// FIX to remove all item
|
|
369
|
+
suggestions = [];
|
|
370
|
+
suggestions.push({
|
|
371
|
+
id: '_no_result',
|
|
372
|
+
type: 'text',
|
|
373
|
+
disabled: true,
|
|
374
|
+
centered: true,
|
|
375
|
+
checkbox: false,
|
|
376
|
+
label: translations.no_result_match
|
|
377
|
+
});
|
|
378
|
+
} else if (hasAll && suggestions.length > 0 && suggestions.length === options.length && multiple === true) {
|
|
379
|
+
// Handle 'All'
|
|
380
|
+
if (suggestions.filter(function (suggestion) {
|
|
381
|
+
return suggestion.id === '_all';
|
|
382
|
+
}).length === 0) {
|
|
383
|
+
var allItem = {
|
|
384
|
+
id: '_all',
|
|
385
|
+
icon: iconAll,
|
|
386
|
+
label: translations.all
|
|
387
|
+
};
|
|
388
|
+
if (iconAll !== false) {
|
|
389
|
+
allItem.type = 'icon';
|
|
390
|
+
}
|
|
391
|
+
suggestions.unshift(allItem);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
_this.setState({
|
|
396
|
+
suggestions: suggestions
|
|
397
|
+
});
|
|
398
|
+
};
|
|
399
|
+
|
|
400
|
+
_this.handleRequestDelete = function (evt) {
|
|
401
|
+
evt.stopPropagation();
|
|
402
|
+
_this.props.onChange(_this.props.name, []);
|
|
403
|
+
};
|
|
153
404
|
|
|
154
405
|
_this.state = {
|
|
155
406
|
open: false,
|
|
@@ -161,30 +412,28 @@ var HiSelect = function (_React$PureComponent) {
|
|
|
161
412
|
dynamic: false
|
|
162
413
|
};
|
|
163
414
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
props.options.forEach(function (
|
|
173
|
-
if (
|
|
174
|
-
|
|
415
|
+
if (props.hierarchic === true && props.options.length > 1) {
|
|
416
|
+
// Construct two associative arrays
|
|
417
|
+
// hierarchy[parentId] => children
|
|
418
|
+
// hierarchySelected[parentId] => selected children
|
|
419
|
+
var hierarchy = {};
|
|
420
|
+
var hierarchySelected = {};
|
|
421
|
+
var value = props.value || [];
|
|
422
|
+
if (!Array.isArray(value)) value = [props.value];
|
|
423
|
+
props.options.forEach(function (option) {
|
|
424
|
+
if (option.hasChildren === true && !hierarchy.hasOwnProperty(option.id)) {
|
|
425
|
+
hierarchy[option.id] = [];
|
|
426
|
+
hierarchySelected[option.id] = [];
|
|
427
|
+
} else if (option.hasOwnProperty('parentId')) {
|
|
428
|
+
hierarchy[option.parentId].push(option.id);
|
|
429
|
+
if (value.includes(option.id)) {
|
|
430
|
+
hierarchySelected[option.parentId].push(option.id);
|
|
431
|
+
}
|
|
175
432
|
}
|
|
176
433
|
});
|
|
177
|
-
}
|
|
178
434
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
if (props.hierarchic === true && props.options.length > 1) {
|
|
184
|
-
var hierarchyTrees = _this.buildHierarchyTrees(props);
|
|
185
|
-
|
|
186
|
-
_this.state.hierarchy = hierarchyTrees.hierarchy;
|
|
187
|
-
_this.state.hierarchySelected = hierarchyTrees.hierarchySelected;
|
|
435
|
+
_this.state.hierarchy = hierarchy;
|
|
436
|
+
_this.state.hierarchySelected = hierarchySelected;
|
|
188
437
|
}
|
|
189
438
|
|
|
190
439
|
if (props.options.length > 0) {
|
|
@@ -203,7 +452,6 @@ var HiSelect = function (_React$PureComponent) {
|
|
|
203
452
|
_this.handleSelect = _this.handleSelect.bind(_this);
|
|
204
453
|
_this.handleClick = _this.handleClick.bind(_this);
|
|
205
454
|
_this.handleClose = _this.handleClose.bind(_this);
|
|
206
|
-
_this.handleClickAway = _this.handleClickAway.bind(_this);
|
|
207
455
|
_this.handleRequestDelete = _this.handleRequestDelete.bind(_this);
|
|
208
456
|
_this.handleSuggestions = _this.handleSuggestions.bind(_this);
|
|
209
457
|
_this.handleFocus = _this.handleFocus.bind(_this);
|
|
@@ -224,34 +472,6 @@ var HiSelect = function (_React$PureComponent) {
|
|
|
224
472
|
});
|
|
225
473
|
this.setState({ nbOptions: optionsLength });
|
|
226
474
|
}
|
|
227
|
-
|
|
228
|
-
if (nextProps.hierarchic === true && nextProps.options.length > 1) {
|
|
229
|
-
var hierarchyTrees = this.buildHierarchyTrees(nextProps);
|
|
230
|
-
this.setState({ hierarchy: hierarchyTrees.hierarchy, hierarchySelected: hierarchyTrees.hierarchySelected });
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
}, {
|
|
234
|
-
key: 'buildHierarchyTrees',
|
|
235
|
-
value: function buildHierarchyTrees(props) {
|
|
236
|
-
// Construct two associative arrays
|
|
237
|
-
// hierarchy[parentId] => children
|
|
238
|
-
// hierarchySelected[parentId] => selected children
|
|
239
|
-
var hierarchy = {};
|
|
240
|
-
var hierarchySelected = {};
|
|
241
|
-
var value = props.value || [];
|
|
242
|
-
if (!Array.isArray(value)) value = [props.value];
|
|
243
|
-
props.options.forEach(function (option) {
|
|
244
|
-
if (option.hasChildren === true && !hierarchy.hasOwnProperty(option.id)) {
|
|
245
|
-
hierarchy[option.id] = [];
|
|
246
|
-
hierarchySelected[option.id] = [];
|
|
247
|
-
} else if (option.hasOwnProperty('parentId')) {
|
|
248
|
-
hierarchy[option.parentId].push(option.id);
|
|
249
|
-
if (value.includes(option.id)) {
|
|
250
|
-
hierarchySelected[option.parentId].push(option.id);
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
});
|
|
254
|
-
return { hierarchy: hierarchy, hierarchySelected: hierarchySelected };
|
|
255
475
|
}
|
|
256
476
|
|
|
257
477
|
// Key down on list items
|
|
@@ -288,12 +508,15 @@ var HiSelect = function (_React$PureComponent) {
|
|
|
288
508
|
classes = _props.classes,
|
|
289
509
|
disabled = _props.disabled,
|
|
290
510
|
error = _props.error,
|
|
511
|
+
multiple = _props.multiple,
|
|
291
512
|
options = _props.options,
|
|
292
513
|
checkbox = _props.checkbox,
|
|
293
514
|
searchable = _props.searchable,
|
|
294
515
|
displayAsChip = _props.displayAsChip,
|
|
295
516
|
type = _props.type,
|
|
296
517
|
value = _props.value,
|
|
518
|
+
_props$hasSelectedCou = _props.hasSelectedCount,
|
|
519
|
+
hasSelectedCount = _props$hasSelectedCou === undefined ? multiple : _props$hasSelectedCou,
|
|
297
520
|
translations = _props.translations,
|
|
298
521
|
parentItemSelectable = _props.parentItemSelectable,
|
|
299
522
|
icon = _props.icon,
|
|
@@ -301,9 +524,7 @@ var HiSelect = function (_React$PureComponent) {
|
|
|
301
524
|
hoverIcon = _props.hoverIcon,
|
|
302
525
|
checkedIcon = _props.checkedIcon,
|
|
303
526
|
hierarchic = _props.hierarchic,
|
|
304
|
-
id = _props.id
|
|
305
|
-
placeholder = _props.placeholder,
|
|
306
|
-
staticPosition = _props.staticPosition;
|
|
527
|
+
id = _props.id;
|
|
307
528
|
var _state = this.state,
|
|
308
529
|
open = _state.open,
|
|
309
530
|
suggestions = _state.suggestions,
|
|
@@ -311,13 +532,13 @@ var HiSelect = function (_React$PureComponent) {
|
|
|
311
532
|
|
|
312
533
|
|
|
313
534
|
var display = '';
|
|
314
|
-
var selectedIdList = Array.isArray(value) ? value :
|
|
535
|
+
var selectedIdList = Array.isArray(value) ? value : [value];
|
|
315
536
|
|
|
316
537
|
if (this.state.dynamic && selectedIdList.length === 1) {
|
|
317
538
|
display = translations.one_item_selected.replace('%s', selectedIdList.length);
|
|
318
539
|
} else if (this.state.nbOptions !== selectedIdList.length && selectedIdList.length > 1) {
|
|
319
540
|
display = translations.n_items_selected.replace('%s', selectedIdList.length);
|
|
320
|
-
} else if (this.state.nbOptions === selectedIdList.length
|
|
541
|
+
} else if (this.state.nbOptions === selectedIdList.length) {
|
|
321
542
|
display = translations.all;
|
|
322
543
|
} else if (selectedIdList.length === 1) {
|
|
323
544
|
if (type !== 'icon') {
|
|
@@ -338,7 +559,7 @@ var HiSelect = function (_React$PureComponent) {
|
|
|
338
559
|
}
|
|
339
560
|
|
|
340
561
|
if (displayAsChip) {
|
|
341
|
-
var chipFilter = _react2.default.createElement(_HiChip2.default, { label:
|
|
562
|
+
var chipFilter = _react2.default.createElement(_HiChip2.default, { label: display, onDelete: this.handleRequestDelete });
|
|
342
563
|
if (display) {
|
|
343
564
|
display = chipFilter;
|
|
344
565
|
}
|
|
@@ -356,50 +577,6 @@ var HiSelect = function (_React$PureComponent) {
|
|
|
356
577
|
popperStyle = { width: this.props.containerWidth };
|
|
357
578
|
}
|
|
358
579
|
|
|
359
|
-
var content = _react2.default.createElement(
|
|
360
|
-
_ClickAwayListener2.default,
|
|
361
|
-
{ onClickAway: this.handleClickAway },
|
|
362
|
-
_react2.default.createElement(
|
|
363
|
-
_Grow2.default,
|
|
364
|
-
{ 'in': open, id: 'menu-list', style: { transformOrigin: '0 0 0' } },
|
|
365
|
-
_react2.default.createElement(
|
|
366
|
-
_Paper2.default,
|
|
367
|
-
{ className: classes.paper },
|
|
368
|
-
!!searchable && _react2.default.createElement(_HiForm.HiSearchField, {
|
|
369
|
-
itemList: options,
|
|
370
|
-
callbackFilteredList: this.handleSuggestions,
|
|
371
|
-
filterPropertyList: ['label'],
|
|
372
|
-
placeholder: translations.search,
|
|
373
|
-
autoFocus: true,
|
|
374
|
-
onSearch: this.props.onSearch,
|
|
375
|
-
inputRef: function inputRef(el) {
|
|
376
|
-
_this2.searchField = el;
|
|
377
|
-
},
|
|
378
|
-
onKeyDown: this.handleKeyDownSearch
|
|
379
|
-
}),
|
|
380
|
-
_react2.default.createElement(_HiSelectableList2.default, {
|
|
381
|
-
type: type,
|
|
382
|
-
parentItemSelectable: parentItemSelectable,
|
|
383
|
-
itemList: suggestions,
|
|
384
|
-
onSelect: this.handleSelect,
|
|
385
|
-
selectedIdList: selectedIdList,
|
|
386
|
-
checkbox: checkbox,
|
|
387
|
-
hierarchy: this.state.hierarchy,
|
|
388
|
-
hierarchic: hierarchic,
|
|
389
|
-
hierarchySelected: this.state.hierarchySelected,
|
|
390
|
-
translations: translations,
|
|
391
|
-
icon: icon,
|
|
392
|
-
parentIcon: parentIcon,
|
|
393
|
-
hoverIcon: hoverIcon,
|
|
394
|
-
checkedIcon: checkedIcon,
|
|
395
|
-
allSelected: allSelected,
|
|
396
|
-
value: value,
|
|
397
|
-
onKeyDown: this.handleKeyDown
|
|
398
|
-
})
|
|
399
|
-
)
|
|
400
|
-
)
|
|
401
|
-
);
|
|
402
|
-
|
|
403
580
|
return _react2.default.createElement(
|
|
404
581
|
'div',
|
|
405
582
|
{
|
|
@@ -416,7 +593,7 @@ var HiSelect = function (_React$PureComponent) {
|
|
|
416
593
|
null,
|
|
417
594
|
_react2.default.createElement(_SelectInput2.default, {
|
|
418
595
|
id: id,
|
|
419
|
-
value:
|
|
596
|
+
value: display,
|
|
420
597
|
open: open,
|
|
421
598
|
focused: focused,
|
|
422
599
|
type: type,
|
|
@@ -427,17 +604,10 @@ var HiSelect = function (_React$PureComponent) {
|
|
|
427
604
|
onFocus: this.handleFocus,
|
|
428
605
|
onBlur: this.handleBlur,
|
|
429
606
|
onMouseEnter: this.props.onMouseEnter,
|
|
430
|
-
onMouseLeave: this.props.onMouseLeave
|
|
431
|
-
refElement: function refElement(el) {
|
|
432
|
-
_this2.selectInputElement = el;
|
|
433
|
-
}
|
|
607
|
+
onMouseLeave: this.props.onMouseLeave
|
|
434
608
|
})
|
|
435
609
|
),
|
|
436
|
-
open &&
|
|
437
|
-
'div',
|
|
438
|
-
{ style: popperStyle },
|
|
439
|
-
content
|
|
440
|
-
) : _react2.default.createElement(
|
|
610
|
+
open && _react2.default.createElement(
|
|
441
611
|
_reactPopper.Popper,
|
|
442
612
|
{
|
|
443
613
|
placement: 'bottom-start',
|
|
@@ -445,8 +615,69 @@ var HiSelect = function (_React$PureComponent) {
|
|
|
445
615
|
className: popperClass,
|
|
446
616
|
style: popperStyle
|
|
447
617
|
},
|
|
448
|
-
|
|
449
|
-
|
|
618
|
+
_react2.default.createElement(
|
|
619
|
+
_ClickAwayListener2.default,
|
|
620
|
+
{ onClickAway: this.handleClose },
|
|
621
|
+
_react2.default.createElement(
|
|
622
|
+
_Grow2.default,
|
|
623
|
+
{ 'in': open, id: 'menu-list', style: { transformOrigin: '0 0 0' } },
|
|
624
|
+
_react2.default.createElement(
|
|
625
|
+
_Paper2.default,
|
|
626
|
+
{ className: classes.paper },
|
|
627
|
+
!!searchable && _react2.default.createElement(_HiForm.HiSearchField, {
|
|
628
|
+
itemList: options,
|
|
629
|
+
callbackFilteredList: this.handleSuggestions,
|
|
630
|
+
filterPropertyList: ['label'],
|
|
631
|
+
placeholder: translations.search,
|
|
632
|
+
autoFocus: true,
|
|
633
|
+
onSearch: this.props.onSearch,
|
|
634
|
+
inputRef: function inputRef(el) {
|
|
635
|
+
_this2.searchField = el;
|
|
636
|
+
},
|
|
637
|
+
onKeyDown: this.handleKeyDownSearch
|
|
638
|
+
}),
|
|
639
|
+
!!hasSelectedCount && _react2.default.createElement(
|
|
640
|
+
_Collapse2.default,
|
|
641
|
+
{
|
|
642
|
+
'in': selectedIdList.length > 0,
|
|
643
|
+
timeout: 'auto',
|
|
644
|
+
unmountOnExit: true
|
|
645
|
+
},
|
|
646
|
+
_react2.default.createElement(_HiSelectableListItem2.default, {
|
|
647
|
+
key: '_selected_count',
|
|
648
|
+
item: {
|
|
649
|
+
id: '_selected_count',
|
|
650
|
+
type: 'text',
|
|
651
|
+
disabled: true,
|
|
652
|
+
checkbox: false,
|
|
653
|
+
label: selectedIdList.length < 2 ? translations.one_item_selected.replace('%s', selectedIdList.length) : translations.n_items_selected.replace('%s', selectedIdList.length),
|
|
654
|
+
centered: true
|
|
655
|
+
}
|
|
656
|
+
})
|
|
657
|
+
),
|
|
658
|
+
_react2.default.createElement(_HiSelectableList2.default, {
|
|
659
|
+
type: type,
|
|
660
|
+
parentItemSelectable: parentItemSelectable,
|
|
661
|
+
itemList: suggestions,
|
|
662
|
+
onSelect: this.handleSelect,
|
|
663
|
+
selectedIdList: selectedIdList,
|
|
664
|
+
checkbox: checkbox,
|
|
665
|
+
hierarchy: this.state.hierarchy,
|
|
666
|
+
hierarchic: hierarchic,
|
|
667
|
+
hierarchySelected: this.state.hierarchySelected,
|
|
668
|
+
translations: translations,
|
|
669
|
+
icon: icon,
|
|
670
|
+
parentIcon: parentIcon,
|
|
671
|
+
hoverIcon: hoverIcon,
|
|
672
|
+
checkedIcon: checkedIcon,
|
|
673
|
+
allSelected: allSelected,
|
|
674
|
+
value: value,
|
|
675
|
+
onKeyDown: this.handleKeyDown
|
|
676
|
+
})
|
|
677
|
+
)
|
|
678
|
+
)
|
|
679
|
+
)
|
|
680
|
+
)
|
|
450
681
|
)
|
|
451
682
|
);
|
|
452
683
|
}
|
|
@@ -478,280 +709,8 @@ HiSelect.defaultProps = {
|
|
|
478
709
|
one_item_selected: '%s item selected',
|
|
479
710
|
n_children: '%s items',
|
|
480
711
|
one_child: '%s item'
|
|
481
|
-
}
|
|
482
|
-
staticPosition: false
|
|
483
|
-
};
|
|
484
|
-
|
|
485
|
-
var _initialiseProps = function _initialiseProps() {
|
|
486
|
-
var _this3 = this;
|
|
487
|
-
|
|
488
|
-
this.handleClick = function () {
|
|
489
|
-
if (_this3.state.open) {
|
|
490
|
-
_this3.handleClose();
|
|
491
|
-
} else {
|
|
492
|
-
if (!_this3.props.staticPosition) {
|
|
493
|
-
document.body.style.overflow = 'hidden';
|
|
494
|
-
}
|
|
495
|
-
_this3.setState({ open: true });
|
|
496
|
-
var options = _this3.props.options.slice();
|
|
497
|
-
_this3.handleSuggestions(options);
|
|
498
|
-
|
|
499
|
-
if (_this3.props.onClick) {
|
|
500
|
-
_this3.props.onClick();
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
// Gestion du focus
|
|
504
|
-
if (_this3.searchField) {
|
|
505
|
-
// si searchable, focus sur le champs de recherche
|
|
506
|
-
var searchField = _this3.searchField;
|
|
507
|
-
setTimeout(function () {
|
|
508
|
-
searchField.focus();
|
|
509
|
-
}, 1);
|
|
510
|
-
} else if (_this3.overlay) {
|
|
511
|
-
// sinon focus sur le dernier élément selectionné
|
|
512
|
-
_this3.focusOnSelectedItem();
|
|
513
|
-
}
|
|
514
|
-
}
|
|
515
|
-
};
|
|
516
|
-
|
|
517
|
-
this.focusOnSelectedItem = function () {
|
|
518
|
-
// On récupère la div parent "overlay"
|
|
519
|
-
var overlay = (0, _reactDom.findDOMNode)(_this3.overlay);
|
|
520
|
-
var multiple = _this3.props.multiple;
|
|
521
|
-
var value = _this3.props.value;
|
|
522
|
-
var selectedIdList = Array.isArray(value) ? value : [value];
|
|
523
|
-
setTimeout(function () {
|
|
524
|
-
var focused = false;
|
|
525
|
-
// Si un ou plusieurs items sont selectionnés, on focus sur le dernier
|
|
526
|
-
if (selectedIdList.length > 0) {
|
|
527
|
-
var itemSelected = overlay.querySelector('[data-id="' + selectedIdList[selectedIdList.length - 1] + '"]');
|
|
528
|
-
if (itemSelected && itemSelected.parentElement.tagName === 'LI') {
|
|
529
|
-
itemSelected.parentElement.focus();
|
|
530
|
-
focused = true;
|
|
531
|
-
}
|
|
532
|
-
}
|
|
533
|
-
// Si pas d'item selectionné, ou pas visible (en cas de recherche), focus sur le premier
|
|
534
|
-
if (selectedIdList.length === 0 || !focused) {
|
|
535
|
-
// On recupère tous les items
|
|
536
|
-
var items = overlay.getElementsByTagName('li');
|
|
537
|
-
var itemToFocus = items[0];
|
|
538
|
-
// Si select multiple, et qu'au moins un selectionné, focus sur le 2e item
|
|
539
|
-
if (multiple && selectedIdList.length > 0) {
|
|
540
|
-
itemToFocus = items[1];
|
|
541
|
-
}
|
|
542
|
-
if (itemToFocus) {
|
|
543
|
-
itemToFocus.focus();
|
|
544
|
-
}
|
|
545
|
-
}
|
|
546
|
-
}, 1);
|
|
547
|
-
};
|
|
548
|
-
|
|
549
|
-
this.handleKeyDown = function (event) {
|
|
550
|
-
var nextItem = void 0;
|
|
551
|
-
if (event.key === 'ArrowDown') {
|
|
552
|
-
nextItem = (0, _hiHelpers.getNextItemSelectable)(document.activeElement, 'down');
|
|
553
|
-
} else if (event.key === 'ArrowUp') {
|
|
554
|
-
nextItem = (0, _hiHelpers.getNextItemSelectable)(document.activeElement, 'up');
|
|
555
|
-
} else if (event.key === 'Tab') {
|
|
556
|
-
if (!_this3.props.staticPosition) {
|
|
557
|
-
document.body.style.overflow = 'auto';
|
|
558
|
-
}
|
|
559
|
-
_this3.setState({ open: false });
|
|
560
|
-
}
|
|
561
|
-
if (nextItem) {
|
|
562
|
-
nextItem.focus();
|
|
563
|
-
}
|
|
564
|
-
};
|
|
565
|
-
|
|
566
|
-
this.handleKeyDownSearch = function (event) {
|
|
567
|
-
if (_this3.overlay && (event.key === 'ArrowDown' || event.key === 'ArrowUp')) {
|
|
568
|
-
_this3.focusOnSelectedItem();
|
|
569
|
-
}
|
|
570
|
-
};
|
|
571
|
-
|
|
572
|
-
this.handleFocus = function () {
|
|
573
|
-
_this3.setState({ focused: true });
|
|
574
|
-
};
|
|
575
|
-
|
|
576
|
-
this.handleBlur = function () {
|
|
577
|
-
_this3.setState({ focused: false });
|
|
578
|
-
};
|
|
579
|
-
|
|
580
|
-
this.handleClose = function () {
|
|
581
|
-
if (!_this3.props.staticPosition) {
|
|
582
|
-
document.body.style.overflow = 'auto';
|
|
583
|
-
}
|
|
584
|
-
_this3.setState({
|
|
585
|
-
open: false
|
|
586
|
-
});
|
|
587
|
-
|
|
588
|
-
if (_this3.props.onClose) {
|
|
589
|
-
_this3.props.onClose();
|
|
590
|
-
}
|
|
591
|
-
if (_this3.selectInputElement) {
|
|
592
|
-
_this3.selectInputElement.focus();
|
|
593
|
-
}
|
|
594
|
-
};
|
|
595
|
-
|
|
596
|
-
this.handleClickAway = function (event) {
|
|
597
|
-
// Au clic sur le bouton, on laisse le handleClick fermer le select
|
|
598
|
-
if (!_this3.selectInputElement.contains(event.target)) {
|
|
599
|
-
_this3.handleClose(event);
|
|
600
|
-
}
|
|
601
|
-
};
|
|
602
|
-
|
|
603
|
-
this.handleSelect = function (event, item) {
|
|
604
|
-
var _props2 = _this3.props,
|
|
605
|
-
multiple = _props2.multiple,
|
|
606
|
-
value = _props2.value,
|
|
607
|
-
name = _props2.name,
|
|
608
|
-
onChange = _props2.onChange,
|
|
609
|
-
options = _props2.options,
|
|
610
|
-
hierarchic = _props2.hierarchic;
|
|
611
|
-
var _state2 = _this3.state,
|
|
612
|
-
hierarchySelected = _state2.hierarchySelected,
|
|
613
|
-
hierarchy = _state2.hierarchy,
|
|
614
|
-
nbOptions = _state2.nbOptions;
|
|
615
|
-
|
|
616
|
-
var hiSelected = (0, _extends3.default)({}, hierarchySelected);
|
|
617
|
-
|
|
618
|
-
if (multiple) {
|
|
619
|
-
var valueList = value;
|
|
620
|
-
if (item.id === '_all') {
|
|
621
|
-
if (valueList.length === nbOptions) {
|
|
622
|
-
valueList = [];
|
|
623
|
-
if (hierarchic) {
|
|
624
|
-
// if hierarchic select => empty associative array of selected children
|
|
625
|
-
(0, _keys2.default)(hiSelected).forEach(function (key) {
|
|
626
|
-
hiSelected[key] = [];
|
|
627
|
-
});
|
|
628
|
-
}
|
|
629
|
-
} else {
|
|
630
|
-
options.forEach(function (option) {
|
|
631
|
-
if (option.hasChildren !== true && !valueList.includes(option.id) && option.id !== '_all') {
|
|
632
|
-
valueList.push(option.id);
|
|
633
|
-
} else if (option.hasChildren === true) {
|
|
634
|
-
// if hierarchic select => fill associative array of selected children
|
|
635
|
-
hiSelected[option.id] = hierarchy[option.id];
|
|
636
|
-
}
|
|
637
|
-
});
|
|
638
|
-
}
|
|
639
|
-
} else if (valueList.includes(item.id) || item.hasChildren === true && hierarchySelected[item.id].length === hierarchy[item.id].length) {
|
|
640
|
-
// item déjà sélectionné => on le déselectionne
|
|
641
|
-
if (item.hasChildren !== true) {
|
|
642
|
-
valueList = valueList.filter(function (val) {
|
|
643
|
-
return val !== item.id;
|
|
644
|
-
});
|
|
645
|
-
}
|
|
646
|
-
|
|
647
|
-
if (item.hasChildren === true) {
|
|
648
|
-
// remove all children
|
|
649
|
-
valueList = valueList.filter(function (val) {
|
|
650
|
-
return !_this3.state.hierarchy[item.id].includes(val);
|
|
651
|
-
});
|
|
652
|
-
hiSelected[item.id] = [];
|
|
653
|
-
} else if (item.hasOwnProperty('parentId')) {
|
|
654
|
-
// Si item est un enfant on l'enlève du tableau associatif des
|
|
655
|
-
// elmts sélectionnés
|
|
656
|
-
hiSelected[item.parentId].splice(hiSelected[item.parentId].indexOf(item.id), 1);
|
|
657
|
-
}
|
|
658
|
-
} else {
|
|
659
|
-
// item non sélectionné => on le sélectionne
|
|
660
|
-
if (item.hasChildren !== true) valueList.push(item.id);
|
|
661
|
-
|
|
662
|
-
if (item.hasChildren === true) {
|
|
663
|
-
// Si item parent => on ajoute tous les enfants
|
|
664
|
-
// Ou on les supprime s'ils sont déjà tous sélectionnés (dans une liste filtrée)
|
|
665
|
-
var idsInSuggestions = [];
|
|
666
|
-
_this3.state.suggestions.forEach(function (suggestion) {
|
|
667
|
-
if (_this3.state.hierarchy[item.id].includes(suggestion.id)) {
|
|
668
|
-
idsInSuggestions.push(suggestion.id);
|
|
669
|
-
}
|
|
670
|
-
});
|
|
671
|
-
// if(hierarchySelected[item.id].length > 0) {}
|
|
672
|
-
var allChildrenSuggestionsSelected = true;
|
|
673
|
-
idsInSuggestions.forEach(function (id) {
|
|
674
|
-
if (!hierarchySelected[item.id].includes(id)) {
|
|
675
|
-
allChildrenSuggestionsSelected = false;
|
|
676
|
-
}
|
|
677
|
-
});
|
|
678
|
-
|
|
679
|
-
if (allChildrenSuggestionsSelected === true) {
|
|
680
|
-
// On supprime les enfants car déjà tous sélectionnés
|
|
681
|
-
idsInSuggestions.forEach(function (id) {
|
|
682
|
-
valueList.splice(valueList.indexOf(id), 1);
|
|
683
|
-
hiSelected[item.id].splice(hiSelected[item.id].indexOf(id), 1);
|
|
684
|
-
});
|
|
685
|
-
} else {
|
|
686
|
-
// On ajoute tous les enfants filtrés au éléments sélectionnés
|
|
687
|
-
valueList = (0, _hiHelpers.arrayUnique)(valueList.concat(idsInSuggestions));
|
|
688
|
-
hiSelected[item.id] = (0, _hiHelpers.arrayUnique)(hiSelected[item.id].concat(idsInSuggestions));
|
|
689
|
-
}
|
|
690
|
-
|
|
691
|
-
_this3.setState({ hierarchySelected: hiSelected });
|
|
692
|
-
} else if (item.hasOwnProperty('parentId')) {
|
|
693
|
-
// Si item est un enfant on l'ajoute du tableau associatif des
|
|
694
|
-
// elmts sélectionnés
|
|
695
|
-
hiSelected[item.parentId].push(item.id);
|
|
696
|
-
}
|
|
697
|
-
}
|
|
698
|
-
_this3.setState({ hierarchySelected: hiSelected });
|
|
699
|
-
onChange(event, valueList);
|
|
700
|
-
} else {
|
|
701
|
-
onChange(event, item.id);
|
|
702
|
-
_this3.handleClose();
|
|
703
|
-
}
|
|
704
|
-
};
|
|
705
|
-
|
|
706
|
-
this.handleSuggestions = function (suggestions) {
|
|
707
|
-
var _props3 = _this3.props,
|
|
708
|
-
options = _props3.options,
|
|
709
|
-
hasAll = _props3.hasAll,
|
|
710
|
-
iconAll = _props3.iconAll,
|
|
711
|
-
translations = _props3.translations,
|
|
712
|
-
multiple = _props3.multiple;
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
if (suggestions.length === 0) {
|
|
716
|
-
// Handle No Result
|
|
717
|
-
// FIX to remove all item
|
|
718
|
-
suggestions = [];
|
|
719
|
-
suggestions.push({
|
|
720
|
-
id: '_no_result',
|
|
721
|
-
type: 'text',
|
|
722
|
-
disabled: true,
|
|
723
|
-
centered: true,
|
|
724
|
-
checkbox: false,
|
|
725
|
-
label: translations.no_result_match
|
|
726
|
-
});
|
|
727
|
-
} else if (hasAll && suggestions.length > 0 && suggestions.length === options.length && multiple === true) {
|
|
728
|
-
// Handle 'All'
|
|
729
|
-
if (suggestions.filter(function (suggestion) {
|
|
730
|
-
return suggestion.id === '_all';
|
|
731
|
-
}).length === 0) {
|
|
732
|
-
var allItem = {
|
|
733
|
-
id: '_all',
|
|
734
|
-
icon: iconAll,
|
|
735
|
-
label: translations.all
|
|
736
|
-
};
|
|
737
|
-
if (iconAll !== false) {
|
|
738
|
-
allItem.type = 'icon';
|
|
739
|
-
}
|
|
740
|
-
suggestions.unshift(allItem);
|
|
741
|
-
}
|
|
742
|
-
}
|
|
743
|
-
|
|
744
|
-
_this3.setState({
|
|
745
|
-
suggestions: suggestions
|
|
746
|
-
});
|
|
747
|
-
};
|
|
748
|
-
|
|
749
|
-
this.handleRequestDelete = function (evt) {
|
|
750
|
-
evt.stopPropagation();
|
|
751
|
-
_this3.props.onChange(_this3.props.name, []);
|
|
752
|
-
};
|
|
712
|
+
}
|
|
753
713
|
};
|
|
754
|
-
|
|
755
714
|
HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
756
715
|
/**
|
|
757
716
|
* Affiche une checkbox pour chaque éléments, par défaut si options est nested
|
|
@@ -781,6 +740,10 @@ HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
781
740
|
* Affiche l'élément 'All'
|
|
782
741
|
*/
|
|
783
742
|
hasAll: _propTypes2.default.bool,
|
|
743
|
+
/**
|
|
744
|
+
* Affiche le compte d'éléments sélectionnés en haut de la liste
|
|
745
|
+
*/
|
|
746
|
+
hasSelectedCount: _propTypes2.default.bool,
|
|
784
747
|
/**
|
|
785
748
|
* Les items sont hiérarchisés
|
|
786
749
|
*/
|
|
@@ -832,7 +795,6 @@ HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
832
795
|
* Fonction de callback appelée lorsqu'on écrit dans la barre de recherche
|
|
833
796
|
* A utiliser pour les selects avec des données dynamiques
|
|
834
797
|
*
|
|
835
|
-
* @param {object} event
|
|
836
798
|
* @param {string} value
|
|
837
799
|
*/
|
|
838
800
|
onSearch: _propTypes2.default.func,
|
|
@@ -848,19 +810,10 @@ HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
848
810
|
* Les items parents sont sélectionnables
|
|
849
811
|
*/
|
|
850
812
|
parentItemSelectable: _propTypes2.default.bool,
|
|
851
|
-
/**
|
|
852
|
-
* Placeholder affiché lorsque le select est fermé
|
|
853
|
-
* Surcharge le placeholder par défaut
|
|
854
|
-
*/
|
|
855
|
-
placeholder: _propTypes2.default.string,
|
|
856
813
|
/**
|
|
857
814
|
* Affiche un input de recherche permettant de filtrer les options
|
|
858
815
|
*/
|
|
859
816
|
searchable: _propTypes2.default.bool,
|
|
860
|
-
/**
|
|
861
|
-
* Si true, le contenu du select sera dans une div static plutot que dans une popper absolute
|
|
862
|
-
*/
|
|
863
|
-
staticPosition: _propTypes2.default.bool,
|
|
864
817
|
/**
|
|
865
818
|
* Traductions (par défaut en anglais)
|
|
866
819
|
*/
|