@desynova-digital/components 9.0.27 → 9.1.0

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.
Files changed (169) hide show
  1. package/_helpers/globals.js +9 -10
  2. package/_helpers/pagination.js +10 -15
  3. package/_helpers/story-example.js +16 -39
  4. package/_helpers/story-helpers.js +15 -14
  5. package/_helpers/story-stack.js +22 -43
  6. package/_helpers/uniqueId.js +2 -5
  7. package/_helpers/utils.js +28 -4
  8. package/atoms/avatar/avatar.js +19 -42
  9. package/atoms/avatar/avatar.story.js +25 -58
  10. package/atoms/avatar/index.js +13 -11
  11. package/atoms/badge/badge.js +14 -37
  12. package/atoms/badge/badge.story.js +45 -103
  13. package/atoms/badge/index.js +12 -10
  14. package/atoms/button/button.js +85 -161
  15. package/atoms/button/button.story.js +351 -576
  16. package/atoms/button/index.js +5 -9
  17. package/atoms/card/card.js +26 -55
  18. package/atoms/card/card.story.js +39 -88
  19. package/atoms/card/index.js +12 -10
  20. package/atoms/cardStack/cardStack.js +88 -147
  21. package/atoms/cardStack/cardStack.story.js +106 -210
  22. package/atoms/cardStack/index.js +12 -10
  23. package/atoms/cardV2/cardV2.js +57 -106
  24. package/atoms/cardV2/cardV2.story.js +184 -232
  25. package/atoms/cardV2/content.js +154 -256
  26. package/atoms/cardV2/index.js +4 -8
  27. package/atoms/cardV2/thumbnail.js +138 -208
  28. package/atoms/cardV2/timeline.js +167 -123
  29. package/atoms/checkbox/checkbox.js +85 -157
  30. package/atoms/checkbox/checkbox.story.js +237 -365
  31. package/atoms/checkbox/index.js +4 -9
  32. package/atoms/customSelect/customSelect.js +136 -215
  33. package/atoms/customSelect/customSelect.story.js +745 -851
  34. package/atoms/customSelect/index.js +4 -8
  35. package/atoms/datePicker/datePicker.js +299 -431
  36. package/atoms/datePicker/datePicker.story.js +453 -501
  37. package/atoms/datePicker/index.js +4 -8
  38. package/atoms/dateTime/dateTime.js +3 -6
  39. package/atoms/dateTime/dateTime.story.js +17 -63
  40. package/atoms/dateTime/index.js +5 -9
  41. package/atoms/draftInputText/draftInputText.js +121 -189
  42. package/atoms/draftInputText/draftInputText.story.js +200 -249
  43. package/atoms/draftInputText/index.js +5 -9
  44. package/atoms/dropdown/dropdown.js +38 -66
  45. package/atoms/dropdown/dropdown.story.js +102 -262
  46. package/atoms/dropdown/index.js +4 -8
  47. package/atoms/dropdownList/dropdownList.js +78 -108
  48. package/atoms/dropdownList/dropdownList.story.js +1546 -1621
  49. package/atoms/dropdownList/index.js +4 -8
  50. package/atoms/graphs/barGraph/barGraph.js +95 -146
  51. package/atoms/graphs/barGraph/barGraph.story.js +65 -87
  52. package/atoms/graphs/barGraph/index.js +4 -8
  53. package/atoms/graphs/circleDonut/circleDonut.js +177 -229
  54. package/atoms/graphs/circleDonut/circleDonut.story.js +328 -394
  55. package/atoms/graphs/circleDonut/index.js +5 -9
  56. package/atoms/graphs/circleGraph/circleGraph.js +60 -90
  57. package/atoms/graphs/circleGraph/circleGraph.story.js +36 -54
  58. package/atoms/graphs/circleGraph/index.js +4 -8
  59. package/atoms/graphs/circleNested/circleNested.js +216 -262
  60. package/atoms/graphs/circleNested/circleNested.story.js +91 -116
  61. package/atoms/graphs/circleNested/index.js +5 -9
  62. package/atoms/graphs/pieChart/index.js +4 -8
  63. package/atoms/graphs/pieChart/pieChart.js +162 -191
  64. package/atoms/graphs/pieChart/pieChart.story.js +147 -176
  65. package/atoms/graphs/verticalBarGraph/index.js +5 -9
  66. package/atoms/graphs/verticalBarGraph/verticalBarGraph.js +75 -98
  67. package/atoms/graphs/verticalBarGraph/verticalBarGraph.story.js +26 -45
  68. package/atoms/icon/icon.js +41 -72
  69. package/atoms/icon/icon.story.js +831 -260
  70. package/atoms/icon/index.js +19 -12
  71. package/atoms/image/image.js +18 -32
  72. package/atoms/image/image.story.js +10 -19
  73. package/atoms/image/index.js +4 -8
  74. package/atoms/inputText/index.js +4 -8
  75. package/atoms/inputText/inputText.js +86 -131
  76. package/atoms/inputText/inputText.story.js +191 -255
  77. package/atoms/label/index.js +4 -8
  78. package/atoms/label/label.js +25 -50
  79. package/atoms/label/label.story.js +42 -83
  80. package/atoms/loader/CircleLoader.js +29 -63
  81. package/atoms/loader/ShimmerComponent/CollabShimmerCard.js +39 -50
  82. package/atoms/loader/ShimmerComponent/CollabShimmerCardTray.js +41 -42
  83. package/atoms/loader/ShimmerComponent/FiltersShimmer.js +30 -30
  84. package/atoms/loader/ShimmerComponent/GraphDetailShimmer.js +21 -34
  85. package/atoms/loader/ShimmerComponent/GraphTitleShimmer.js +30 -34
  86. package/atoms/loader/ShimmerComponent/GraphsComponentShimmer.js +23 -32
  87. package/atoms/loader/ShimmerComponent/Shimmer.js +24 -32
  88. package/atoms/loader/ThreeDotLoader.js +14 -29
  89. package/atoms/loader/index.js +13 -11
  90. package/atoms/loader/loader.js +34 -58
  91. package/atoms/loader/loader.story.js +48 -52
  92. package/atoms/loader/spinningLoader.js +23 -34
  93. package/atoms/popup/index.js +5 -9
  94. package/atoms/popup/popup.js +123 -208
  95. package/atoms/popup/popup.story.js +97 -131
  96. package/atoms/radio/index.js +18 -11
  97. package/atoms/radio/radio.js +58 -112
  98. package/atoms/radio/radio.story.js +197 -420
  99. package/atoms/select/index.js +4 -8
  100. package/atoms/select/select.js +48 -86
  101. package/atoms/sideBar/index.js +5 -9
  102. package/atoms/sideBar/sidebar.js +89 -140
  103. package/atoms/switch/index.js +4 -8
  104. package/atoms/switch/switch.js +56 -86
  105. package/atoms/switch/switch.story.js +268 -415
  106. package/atoms/tag/index.js +12 -10
  107. package/atoms/tag/tag.js +29 -63
  108. package/atoms/tag/tag.story.js +135 -209
  109. package/atoms/textarea/index.js +5 -9
  110. package/atoms/textarea/textarea.js +55 -99
  111. package/atoms/textarea/textarea.story.js +48 -41
  112. package/atoms/thematicBreak/index.js +12 -10
  113. package/atoms/thematicBreak/thematicBreak.js +20 -38
  114. package/atoms/thematicBreak/thematicBreak.story.js +25 -37
  115. package/atoms/timeCodeInput/index.js +4 -8
  116. package/atoms/timeCodeInput/timCodeInput.story.js +21 -35
  117. package/atoms/timeCodeInput/timeCodeInput.js +33 -51
  118. package/atoms/timer/index.js +5 -9
  119. package/atoms/timer/timer.js +57 -108
  120. package/atoms/timer/timer.story.js +13 -26
  121. package/atoms/toast/index.js +5 -9
  122. package/atoms/toast/toast.js +81 -116
  123. package/atoms/toast/toast.story.js +50 -76
  124. package/atoms/videoCard/index.js +12 -10
  125. package/atoms/videoCard/videoCard.js +265 -447
  126. package/atoms/videoCard/videoCard.story.js +495 -710
  127. package/components.js +411 -299
  128. package/index.js +350 -62
  129. package/molecules/carousel/carousel.js +121 -207
  130. package/molecules/carousel/carousel.story.js +240 -223
  131. package/molecules/carousel/index.js +5 -9
  132. package/molecules/errorScreen/CollabErrorScreen.js +35 -66
  133. package/molecules/errorScreen/TableErrorScreen.js +106 -104
  134. package/molecules/errorScreen/errorScreen.js +41 -94
  135. package/molecules/filter/constants.js +1 -0
  136. package/molecules/filter/filter.js +378 -562
  137. package/molecules/filter/filter.story.js +79 -104
  138. package/molecules/filter/index.js +5 -9
  139. package/molecules/graphCard/graphCard.js +97 -193
  140. package/molecules/graphCard/graphCard.story.js +159 -191
  141. package/molecules/graphCard/index.js +4 -8
  142. package/molecules/graphCard/loader.js +28 -68
  143. package/molecules/graphDetailCard/graphDetailCard.js +115 -183
  144. package/molecules/graphDetailCard/graphDetailCard.story.js +218 -254
  145. package/molecules/graphDetailCard/index.js +5 -9
  146. package/molecules/pageHeader/index.js +12 -10
  147. package/molecules/pageHeader/pageHeader.js +38 -79
  148. package/molecules/pageHeader/pageHeader.story.js +34 -55
  149. package/molecules/pagination/index.js +4 -8
  150. package/molecules/pagination/pagination.js +126 -202
  151. package/molecules/pagination/pagination.story.js +40 -52
  152. package/molecules/richTextInput/RichTextInput.js +354 -0
  153. package/molecules/richTextInput/RichTextInput.story.js +50 -0
  154. package/molecules/richTextInput/index.js +9 -0
  155. package/molecules/table/index.js +4 -8
  156. package/molecules/table/table-column.js +10 -16
  157. package/molecules/table/table-header.js +31 -72
  158. package/molecules/table/table.js +743 -1075
  159. package/molecules/table/table.story.js +274 -304
  160. package/molecules/tabs/index.js +4 -8
  161. package/molecules/tabs/tabs.js +112 -184
  162. package/molecules/tabs/tabs.story.js +66 -133
  163. package/molecules/videoCardList/index.js +4 -8
  164. package/molecules/videoCardList/videoCardList.js +24 -41
  165. package/molecules/videoCardList/videoCardList.story.js +449 -664
  166. package/molecules/videoPlayer/index.js +4 -8
  167. package/molecules/videoPlayer/videoPlayer.js +1019 -1097
  168. package/molecules/videoPlayer/videoPlayer.story.js +10 -21
  169. package/package.json +2 -2
@@ -1,68 +1,37 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
-
7
- var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
8
-
9
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
10
-
11
- var _templateObject = _taggedTemplateLiteral(['\n position: relative;\n // width: 21px;\n // height: 62px;\n overflow: hidden;\n transition: width 0.6s ease;\n //z-index: 2;\n //width: 360px;\n overflow: visible;\n text-align: left;\n z-index: ', ';\n\n .filter-button {\n width: 30px;\n height: 30px;\n background: #121d28;\n border-radius: 50%;\n padding: 7px 7px;\n cursor: pointer;\n\n &.active,\n &:hover {\n path {\n transition: all 0.4s ease-out;\n }\n }\n\n &.active {\n path {\n fill: ', ';\n }\n }\n\n &:hover {\n path {\n fill: #fff;\n }\n }\n }\n\n .dashboard-filter-box {\n border-bottom: 1px #303f51 solid;\n padding: 4px 0px 0px 0;\n position: absolute;\n }\n\n .search-filter-list-box {\n display: flex;\n position: relative;\n /* padding: 10px 0px; */\n align-items: center;\n font-family: \'SFUIText-Medium\';\n justify-content: flex-end;\n width: ', ';\n }\n\n .filter-message {\n font-size: 12px;\n font-family: \'SFUIText-Regular\';\n color: #afb2ba;\n }\n span.chip-button {\n color: #fff;\n background: #303f51;\n color: #fff;\n margin: 5px;\n &:hover {\n color: ', ';\n }\n &.checked {\n background: ', ';\n color: #0c141d;\n &:hover {\n color: #0c141d;\n }\n }\n }\n\n .filter-list-box {\n & > span {\n color: rgb(99, 208, 199);\n font-size: 10px;\n margin-bottom: 0px;\n display: inline-block;\n }\n\n .list-holder {\n overflow: auto;\n a {\n top: 7px;\n }\n /* width */\n &::-webkit-scrollbar {\n width: 2px;\n height: 2px;\n }\n\n /* Track */\n &::-webkit-scrollbar-track {\n box-shadow: inset 0 0 5px #a6aab2;\n border-radius: 10px;\n }\n\n /* Handle */\n &::-webkit-scrollbar-thumb {\n background: ', ';\n border-radius: 10px;\n }\n\n /* Handle on hover */\n &::-webkit-scrollbar-thumb:hover {\n background: ', ';\n }\n\n & > div {\n // width: max-content;\n & > span {\n // margin-right: 5px;\n // background: ', ';\n // &:hover {\n // color: #fff;\n // }\n }\n }\n }\n }\n\n .filter-options-holder {\n margin-top: 5px;\n position: absolute;\n background: #182738;\n z-index: 2;\n font-family: \'SFUIText-Medium\';\n padding: 15px;\n right: 0;\n\n .filter-group-title {\n color: #afb2ba;\n font-size: 10px;\n padding-bottom: 10px;\n color: #ffffff;\n text-transform: uppercase;\n }\n\n .filter-group-item-list {\n margin: 0px -5px 0px;\n .ardp-date-picker {\n display: inline-block;\n .label-text {\n color: #cccccc;\n font-size: 12px;\n transition: all 0.5s ease-in-out;\n cursor: pointer;\n &:hover {\n color: #fff;\n }\n }\n\n &.checked {\n .label-text {\n color: ', ';\n }\n }\n\n .calendar {\n right: -7px;\n width: 330px;\n padding: 15px;\n }\n }\n }\n\n .filter-group {\n padding: 15px 0px 10px;\n border-bottom: 1px solid #303f51;\n &:first-child {\n padding: 0px 0px 10px;\n }\n }\n\n button.filter-group-item {\n background-color: transparent;\n border: none;\n margin-right: 12px;\n cursor: pointer;\n transition: all 0.5s ease-in-out;\n color: #cccccc;\n font-size: 12px;\n padding: 3px 0px;\n &:focus {\n outline: none;\n }\n\n &:hover {\n color: #fff;\n }\n\n &.checked {\n color: ', ';\n }\n }\n\n .action-btn {\n margin: 0px;\n pointer-events: auto;\n border-radius: 999rem;\n box-shadow: none;\n padding: 0.5rem 0.7rem;\n }\n }\n'], ['\n position: relative;\n // width: 21px;\n // height: 62px;\n overflow: hidden;\n transition: width 0.6s ease;\n //z-index: 2;\n //width: 360px;\n overflow: visible;\n text-align: left;\n z-index: ', ';\n\n .filter-button {\n width: 30px;\n height: 30px;\n background: #121d28;\n border-radius: 50%;\n padding: 7px 7px;\n cursor: pointer;\n\n &.active,\n &:hover {\n path {\n transition: all 0.4s ease-out;\n }\n }\n\n &.active {\n path {\n fill: ', ';\n }\n }\n\n &:hover {\n path {\n fill: #fff;\n }\n }\n }\n\n .dashboard-filter-box {\n border-bottom: 1px #303f51 solid;\n padding: 4px 0px 0px 0;\n position: absolute;\n }\n\n .search-filter-list-box {\n display: flex;\n position: relative;\n /* padding: 10px 0px; */\n align-items: center;\n font-family: \'SFUIText-Medium\';\n justify-content: flex-end;\n width: ', ';\n }\n\n .filter-message {\n font-size: 12px;\n font-family: \'SFUIText-Regular\';\n color: #afb2ba;\n }\n span.chip-button {\n color: #fff;\n background: #303f51;\n color: #fff;\n margin: 5px;\n &:hover {\n color: ', ';\n }\n &.checked {\n background: ', ';\n color: #0c141d;\n &:hover {\n color: #0c141d;\n }\n }\n }\n\n .filter-list-box {\n & > span {\n color: rgb(99, 208, 199);\n font-size: 10px;\n margin-bottom: 0px;\n display: inline-block;\n }\n\n .list-holder {\n overflow: auto;\n a {\n top: 7px;\n }\n /* width */\n &::-webkit-scrollbar {\n width: 2px;\n height: 2px;\n }\n\n /* Track */\n &::-webkit-scrollbar-track {\n box-shadow: inset 0 0 5px #a6aab2;\n border-radius: 10px;\n }\n\n /* Handle */\n &::-webkit-scrollbar-thumb {\n background: ', ';\n border-radius: 10px;\n }\n\n /* Handle on hover */\n &::-webkit-scrollbar-thumb:hover {\n background: ', ';\n }\n\n & > div {\n // width: max-content;\n & > span {\n // margin-right: 5px;\n // background: ', ';\n // &:hover {\n // color: #fff;\n // }\n }\n }\n }\n }\n\n .filter-options-holder {\n margin-top: 5px;\n position: absolute;\n background: #182738;\n z-index: 2;\n font-family: \'SFUIText-Medium\';\n padding: 15px;\n right: 0;\n\n .filter-group-title {\n color: #afb2ba;\n font-size: 10px;\n padding-bottom: 10px;\n color: #ffffff;\n text-transform: uppercase;\n }\n\n .filter-group-item-list {\n margin: 0px -5px 0px;\n .ardp-date-picker {\n display: inline-block;\n .label-text {\n color: #cccccc;\n font-size: 12px;\n transition: all 0.5s ease-in-out;\n cursor: pointer;\n &:hover {\n color: #fff;\n }\n }\n\n &.checked {\n .label-text {\n color: ', ';\n }\n }\n\n .calendar {\n right: -7px;\n width: 330px;\n padding: 15px;\n }\n }\n }\n\n .filter-group {\n padding: 15px 0px 10px;\n border-bottom: 1px solid #303f51;\n &:first-child {\n padding: 0px 0px 10px;\n }\n }\n\n button.filter-group-item {\n background-color: transparent;\n border: none;\n margin-right: 12px;\n cursor: pointer;\n transition: all 0.5s ease-in-out;\n color: #cccccc;\n font-size: 12px;\n padding: 3px 0px;\n &:focus {\n outline: none;\n }\n\n &:hover {\n color: #fff;\n }\n\n &.checked {\n color: ', ';\n }\n }\n\n .action-btn {\n margin: 0px;\n pointer-events: auto;\n border-radius: 999rem;\n box-shadow: none;\n padding: 0.5rem 0.7rem;\n }\n }\n']),
12
- _templateObject2 = _taggedTemplateLiteral(['\n border: none;\n cursor: pointer;\n transition: all 0.5s ease-in-out;\n font-size: 12px;\n margin-left: 10px;\n padding: 10px 30px;\n background: ', ';\n border-radius: 999rem;\n color: #0c141d;\n &:hover {\n color: #ffffff;\n }\n'], ['\n border: none;\n cursor: pointer;\n transition: all 0.5s ease-in-out;\n font-size: 12px;\n margin-left: 10px;\n padding: 10px 30px;\n background: ', ';\n border-radius: 999rem;\n color: #0c141d;\n &:hover {\n color: #ffffff;\n }\n']),
13
- _templateObject3 = _taggedTemplateLiteral(['\n background-color: transparent;\n border: none;\n margin-right: 10px;\n cursor: pointer;\n transition: all 0.5s ease-in-out;\n font-size: 12px;\n margin: 0;\n padding: 10px 30px;\n background: #303f51;\n border-radius: 999rem;\n color: #ffffff;\n &:focus {\n outline: none;\n background: #303f51;\n color: ', ';\n }\n\n &:hover {\n color: ', ';\n background: #303f51;\n }\n'], ['\n background-color: transparent;\n border: none;\n margin-right: 10px;\n cursor: pointer;\n transition: all 0.5s ease-in-out;\n font-size: 12px;\n margin: 0;\n padding: 10px 30px;\n background: #303f51;\n border-radius: 999rem;\n color: #ffffff;\n &:focus {\n outline: none;\n background: #303f51;\n color: ', ';\n }\n\n &:hover {\n color: ', ';\n background: #303f51;\n }\n']),
14
- _templateObject4 = _taggedTemplateLiteral(['\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.3);\n z-index: ', ';\n display: block;\n'], ['\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.3);\n z-index: ', ';\n display: block;\n']),
15
- _templateObject5 = _taggedTemplateLiteral(['\n border-bottom: 1px solid #999999;\n\n .tags {\n padding-bottom: 2px;\n }\n input:focus {\n outline: none;\n }\n\n .input-filter {\n background: transparent;\n font-family: \'SFUIText-Medium\';\n position: relative;\n width: 100%;\n display: block;\n border: none;\n color: #999999;\n }\n .user-dropdown {\n background-color: rgb(18, 29, 41);\n margin-top: 5px;\n border: 1px solid rgb(153, 153, 153);\n max-height: 200px;\n overflow: auto;\n position: absolute;\n width: 92%;\n z-index: 2;\n cursor: pointer;\n }\n\n .dropdown-options {\n font-family: SFUIText-Regular;\n font-size: 13px;\n line-height: normal;\n color: rgb(204, 204, 204);\n padding: 7px;\n :hover {\n background-color: ', ';\n color: rgb(255, 255, 255);\n }\n &.active {\n background-color: ', ';\n color: rgb(255, 255, 255);\n :hover {\n background-color: rgb(18, 29, 41);\n color: rgb(204, 204, 204);\n }\n }\n }\n'], ['\n border-bottom: 1px solid #999999;\n\n .tags {\n padding-bottom: 2px;\n }\n input:focus {\n outline: none;\n }\n\n .input-filter {\n background: transparent;\n font-family: \'SFUIText-Medium\';\n position: relative;\n width: 100%;\n display: block;\n border: none;\n color: #999999;\n }\n .user-dropdown {\n background-color: rgb(18, 29, 41);\n margin-top: 5px;\n border: 1px solid rgb(153, 153, 153);\n max-height: 200px;\n overflow: auto;\n position: absolute;\n width: 92%;\n z-index: 2;\n cursor: pointer;\n }\n\n .dropdown-options {\n font-family: SFUIText-Regular;\n font-size: 13px;\n line-height: normal;\n color: rgb(204, 204, 204);\n padding: 7px;\n :hover {\n background-color: ', ';\n color: rgb(255, 255, 255);\n }\n &.active {\n background-color: ', ';\n color: rgb(255, 255, 255);\n :hover {\n background-color: rgb(18, 29, 41);\n color: rgb(204, 204, 204);\n }\n }\n }\n']);
16
-
17
- var _react = require('react');
18
-
19
- var _react2 = _interopRequireDefault(_react);
20
-
21
- var _styledComponents = require('styled-components');
22
-
23
- var _styledComponents2 = _interopRequireDefault(_styledComponents);
24
-
25
- var _propTypes = require('prop-types');
26
-
27
- var _propTypes2 = _interopRequireDefault(_propTypes);
28
-
29
- var _lodash = require('lodash');
30
-
31
- var _tokens = require('@desynova-digital/tokens');
32
-
33
- var _button = require('../../atoms/button');
34
-
35
- var _button2 = _interopRequireDefault(_button);
36
-
37
- var _datePicker = require('../../atoms/datePicker');
38
-
39
- var _datePicker2 = _interopRequireDefault(_datePicker);
40
-
41
- var _tag = require('../../atoms/tag');
42
-
43
- var _tag2 = _interopRequireDefault(_tag);
44
-
45
- var _icon = require('../../atoms/icon');
46
-
47
- var _icon2 = _interopRequireDefault(_icon);
48
-
49
- var _constants = require('./constants');
50
-
51
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
52
-
53
- function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
54
-
55
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
56
-
57
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
58
-
59
- function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
60
-
61
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
62
-
63
- function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
64
-
65
- var StyledFilterCompoment = _styledComponents2.default.div(_templateObject, function (_ref) {
8
+ exports["default"] = void 0;
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
+ var _react = _interopRequireWildcard(require("react"));
18
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
19
+ var _propTypes = _interopRequireDefault(require("prop-types"));
20
+ var _lodash = require("lodash");
21
+ var _tokens = require("@desynova-digital/tokens");
22
+ var _button = _interopRequireDefault(require("../../atoms/button"));
23
+ var _datePicker = _interopRequireDefault(require("../../atoms/datePicker"));
24
+ var _tag = _interopRequireDefault(require("../../atoms/tag"));
25
+ var _icon = _interopRequireDefault(require("../../atoms/icon"));
26
+ var _constants = require("./constants");
27
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
28
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
29
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
30
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
31
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
32
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
33
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
34
+ var StyledFilterCompoment = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n // width: 21px;\n // height: 62px;\n overflow: hidden;\n transition: width 0.6s ease;\n //z-index: 2;\n //width: 360px;\n overflow: visible;\n text-align: left;\n z-index: ", ";\n\n .filter-button {\n width: 30px;\n height: 30px;\n background: #121d28;\n border-radius: 50%;\n padding: 7px 7px;\n cursor: pointer;\n\n &.active,\n &:hover {\n path {\n transition: all 0.4s ease-out;\n }\n }\n\n &.active {\n path {\n fill: ", ";\n }\n }\n\n &:hover {\n path {\n fill: #fff;\n }\n }\n }\n\n .dashboard-filter-box {\n border-bottom: 1px #303f51 solid;\n padding: 4px 0px 0px 0;\n position: absolute;\n }\n\n .search-filter-list-box {\n display: flex;\n position: relative;\n /* padding: 10px 0px; */\n align-items: center;\n font-family: 'SFUIText-Medium';\n justify-content: flex-end;\n width: ", ";\n }\n\n .filter-message {\n font-size: 12px;\n font-family: 'SFUIText-Regular';\n color: #afb2ba;\n }\n span.chip-button {\n color: #fff;\n background: #303f51;\n color: #fff;\n margin: 5px;\n &:hover {\n color: ", ";\n }\n &.checked {\n background: ", ";\n color: #0c141d;\n &:hover {\n color: #0c141d;\n }\n }\n }\n\n .filter-list-box {\n & > span {\n color: rgb(99, 208, 199);\n font-size: 10px;\n margin-bottom: 0px;\n display: inline-block;\n }\n\n .list-holder {\n overflow: auto;\n a {\n top: 7px;\n }\n /* width */\n &::-webkit-scrollbar {\n width: 2px;\n height: 2px;\n }\n\n /* Track */\n &::-webkit-scrollbar-track {\n box-shadow: inset 0 0 5px #a6aab2;\n border-radius: 10px;\n }\n\n /* Handle */\n &::-webkit-scrollbar-thumb {\n background: ", ";\n border-radius: 10px;\n }\n\n /* Handle on hover */\n &::-webkit-scrollbar-thumb:hover {\n background: ", ";\n }\n\n & > div {\n // width: max-content;\n & > span {\n // margin-right: 5px;\n // background: ", ";\n // &:hover {\n // color: #fff;\n // }\n }\n }\n }\n }\n\n .filter-options-holder {\n margin-top: 5px;\n position: absolute;\n background: #182738;\n z-index: 2;\n font-family: 'SFUIText-Medium';\n padding: 15px;\n right: 0;\n\n .filter-group-title {\n color: #afb2ba;\n font-size: 10px;\n padding-bottom: 10px;\n color: #ffffff;\n text-transform: uppercase;\n }\n\n .filter-group-item-list {\n margin: 0px -5px 0px;\n .ardp-date-picker {\n display: inline-block;\n .label-text {\n color: #cccccc;\n font-size: 12px;\n transition: all 0.5s ease-in-out;\n cursor: pointer;\n &:hover {\n color: #fff;\n }\n }\n\n &.checked {\n .label-text {\n color: ", ";\n }\n }\n\n .calendar {\n right: -7px;\n width: 330px;\n padding: 15px;\n }\n }\n }\n\n .filter-group {\n padding: 15px 0px 10px;\n border-bottom: 1px solid #303f51;\n &:first-child {\n padding: 0px 0px 10px;\n }\n }\n\n button.filter-group-item {\n background-color: transparent;\n border: none;\n margin-right: 12px;\n cursor: pointer;\n transition: all 0.5s ease-in-out;\n color: #cccccc;\n font-size: 12px;\n padding: 3px 0px;\n &:focus {\n outline: none;\n }\n\n &:hover {\n color: #fff;\n }\n\n &.checked {\n color: ", ";\n }\n }\n\n .action-btn {\n margin: 0px;\n pointer-events: auto;\n border-radius: 999rem;\n box-shadow: none;\n padding: 0.5rem 0.7rem;\n }\n }\n"])), function (_ref) {
66
35
  var isMenuOpen = _ref.isMenuOpen;
67
36
  return isMenuOpen ? '95' : '1';
68
37
  }, function (props) {
@@ -85,43 +54,38 @@ var StyledFilterCompoment = _styledComponents2.default.div(_templateObject, func
85
54
  }, function (props) {
86
55
  return _tokens.colors[props.theme].filter.lightthemeColor;
87
56
  });
88
-
89
- var ApplyBtn = (0, _styledComponents2.default)(_button2.default)(_templateObject2, function (props) {
57
+ var ApplyBtn = (0, _styledComponents["default"])(_button["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n border: none;\n cursor: pointer;\n transition: all 0.5s ease-in-out;\n font-size: 12px;\n margin-left: 10px;\n padding: 10px 30px;\n background: ", ";\n border-radius: 999rem;\n color: #0c141d;\n &:hover {\n color: #ffffff;\n }\n"])), function (props) {
90
58
  return _tokens.colors[props.theme].filter.themeColor;
91
59
  });
92
- var ResetBtn = (0, _styledComponents2.default)(_button2.default)(_templateObject3, function (props) {
60
+ var ResetBtn = (0, _styledComponents["default"])(_button["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: transparent;\n border: none;\n margin-right: 10px;\n cursor: pointer;\n transition: all 0.5s ease-in-out;\n font-size: 12px;\n margin: 0;\n padding: 10px 30px;\n background: #303f51;\n border-radius: 999rem;\n color: #ffffff;\n &:focus {\n outline: none;\n background: #303f51;\n color: ", ";\n }\n\n &:hover {\n color: ", ";\n background: #303f51;\n }\n"])), function (props) {
93
61
  return _tokens.colors[props.theme].filter.themeColor;
94
62
  }, function (props) {
95
63
  return _tokens.colors[props.theme].filter.themeColor;
96
64
  });
97
-
98
- var OverlayStyles = _styledComponents2.default.div(_templateObject4, function (_ref3) {
65
+ var OverlayStyles = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.3);\n z-index: ", ";\n display: block;\n"])), function (_ref3) {
99
66
  var isMenuOpen = _ref3.isMenuOpen;
100
67
  return isMenuOpen ? '94' : '0';
101
68
  });
102
-
103
- var UserIdDropdown = _styledComponents2.default.div(_templateObject5, function (props) {
69
+ var UserIdDropdown = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n border-bottom: 1px solid #999999;\n\n .tags {\n padding-bottom: 2px;\n }\n input:focus {\n outline: none;\n }\n\n .input-filter {\n background: transparent;\n font-family: 'SFUIText-Medium';\n position: relative;\n width: 100%;\n display: block;\n border: none;\n color: #999999;\n }\n .user-dropdown {\n background-color: rgb(18, 29, 41);\n margin-top: 5px;\n border: 1px solid rgb(153, 153, 153);\n max-height: 200px;\n overflow: auto;\n position: absolute;\n width: 92%;\n z-index: 2;\n cursor: pointer;\n }\n\n .dropdown-options {\n font-family: SFUIText-Regular;\n font-size: 13px;\n line-height: normal;\n color: rgb(204, 204, 204);\n padding: 7px;\n :hover {\n background-color: ", ";\n color: rgb(255, 255, 255);\n }\n &.active {\n background-color: ", ";\n color: rgb(255, 255, 255);\n :hover {\n background-color: rgb(18, 29, 41);\n color: rgb(204, 204, 204);\n }\n }\n }\n"])), function (props) {
104
70
  return _tokens.colors[props.theme].filter.rgbthemeColor;
105
71
  }, function (props) {
106
72
  return _tokens.colors[props.theme].filter.rgbthemeColor;
107
73
  });
108
-
109
- var Filter = function (_Component) {
110
- _inherits(Filter, _Component);
111
-
74
+ var Filter = /*#__PURE__*/function (_Component) {
112
75
  function Filter(props) {
113
- _classCallCheck(this, Filter);
114
-
115
- var _this = _possibleConstructorReturn(this, (Filter.__proto__ || Object.getPrototypeOf(Filter)).call(this, props));
116
-
117
- _this.onSelection = function (groupItem, optionItem) {
76
+ var _this;
77
+ (0, _classCallCheck2["default"])(this, Filter);
78
+ _this = _callSuper(this, Filter, [props]);
79
+ /**
80
+ * This function handle the onChange event in the filter.
81
+ * @param {Object} groupItem GUI elements for the particular section
82
+ * @param {Object} optionItem the item from the options of that section
83
+ */
84
+ (0, _defineProperty2["default"])(_this, "onSelection", function (groupItem, optionItem) {
118
85
  var selectedFiltersObj = _this.state.selectedFiltersObj;
119
-
120
-
121
- var filters = JSON.parse(JSON.stringify(_extends({}, selectedFiltersObj, _defineProperty({}, groupItem.field, _extends({}, selectedFiltersObj[groupItem.field], {
86
+ var filters = JSON.parse(JSON.stringify(_objectSpread(_objectSpread({}, selectedFiltersObj), {}, (0, _defineProperty2["default"])({}, groupItem.field, _objectSpread(_objectSpread({}, selectedFiltersObj[groupItem.field]), {}, {
122
87
  label: optionItem.title // title of options inside the filters object
123
88
  })))));
124
-
125
89
  switch (groupItem.display_format) {
126
90
  case 'CheckboxGroup':
127
91
  {
@@ -148,7 +112,6 @@ var Filter = function (_Component) {
148
112
  var optionIndex = multiple.findIndex(function (item) {
149
113
  return item === optionItem.field;
150
114
  });
151
-
152
115
  var maxSelection = typeof groupItem.max_selection === 'number' ? groupItem.max_selection : groupItem.options.length;
153
116
  if (optionIndex < 0 && multiple.length < maxSelection) {
154
117
  multiple.push(optionItem.field);
@@ -159,17 +122,20 @@ var Filter = function (_Component) {
159
122
  }
160
123
  break;
161
124
  }
162
-
163
125
  case 'datepicker':
164
126
  {
165
127
  filters[groupItem.field].value.key = optionItem.field; // in date, this needs to be added for highlighting the selected filters
166
128
  if (optionItem.field === 'date_range') {
167
- _this.setState({ isSelectRangeSelected: true }, function () {
129
+ _this.setState({
130
+ isSelectRangeSelected: true
131
+ }, function () {
168
132
  filters[groupItem.field].value.fromDate = selectedFiltersObj[groupItem.field].value.fromDate;
169
133
  filters[groupItem.field].value.toDate = selectedFiltersObj[groupItem.field].value.toDate;
170
134
  });
171
135
  } else if (optionItem.field === 'date') {
172
- _this.setState({ isSelectDateSelected: true }, function () {
136
+ _this.setState({
137
+ isSelectDateSelected: true
138
+ }, function () {
173
139
  filters[groupItem.field].value.fromDate = selectedFiltersObj[groupItem.field].value.fromDate;
174
140
  filters[groupItem.field].value.toDate = selectedFiltersObj[groupItem.field].value.toDate;
175
141
  });
@@ -187,41 +153,39 @@ var Filter = function (_Component) {
187
153
  filters[groupItem.field].value.fromDate = _constants.CURRENT_DATE;
188
154
  filters[groupItem.field].value.toDate = _constants.CURRENT_DATE;
189
155
  }
190
-
191
156
  break;
192
157
  }
193
-
194
158
  case 'input':
195
159
  {
196
160
  var selectedUserIds = _this.state.selectedUserIds;
197
-
198
161
  var selectedUserIndex = selectedUserIds.findIndex(function (user) {
199
162
  return user.user_id === optionItem.user_id;
200
163
  });
201
164
  var updatedUserIds = selectedUserIndex >= 0 ? selectedUserIds.filter(function (user) {
202
165
  return user.user_id !== optionItem.user_id;
203
- }) : [].concat(_toConsumableArray(selectedUserIds), [optionItem]);
166
+ }) : [].concat((0, _toConsumableArray2["default"])(selectedUserIds), [optionItem]);
204
167
  _this.setState({
205
168
  selectedUserIds: updatedUserIds
206
169
  });
207
170
  var updatedUserid = updatedUserIds.reduce(function (updatedUserid, user) {
208
- return user.email_id + ', ' + updatedUserid;
171
+ return "".concat(user.email_id, ", ").concat(updatedUserid);
209
172
  }, '');
210
173
  filters[groupItem.field] = updatedUserIds;
211
174
  filters.params[groupItem.field] = updatedUserid;
212
175
  _this._userFilterInput.current.value = '';
213
176
  }
214
-
215
177
  default:
216
178
  break;
217
179
  }
218
-
219
180
  _this.changeFilters('selected', filters);
220
- };
221
-
222
- _this.changeFilters = function (forAction, filters) {
181
+ });
182
+ /**
183
+ * This function performs action based on forAction on filters object
184
+ * @param {String} forAction action performed on the filter object
185
+ * @param {Object} filters Object containing current filters selected values
186
+ */
187
+ (0, _defineProperty2["default"])(_this, "changeFilters", function (forAction, filters) {
223
188
  var initialFilters = _this.props.initialFilters;
224
-
225
189
  var newFilters = null;
226
190
  if (forAction === 'reset') {
227
191
  newFilters = initialFilters;
@@ -239,15 +203,18 @@ var Filter = function (_Component) {
239
203
  _this.applyFilters();
240
204
  }
241
205
  });
242
- };
243
-
244
- _this.handleDebounce = (0, _lodash.debounce)(function (permission, query) {
206
+ });
207
+ /**
208
+ * This function hadles the onchange event for search input field inside filter
209
+ * @param {string} query Input Filed value
210
+ * @param {string} permission Type of dashboard
211
+ */
212
+ (0, _defineProperty2["default"])(_this, "handleDebounce", (0, _lodash.debounce)(function (permission, query) {
245
213
  if (query.length > 1) _this.props.handleUserIdFilterChange(permission, query);
246
- }, 250);
247
-
248
- _this.highlightSelectedFilters = function (element, option) {
214
+ }, 250));
215
+ // to highlight selected filters
216
+ (0, _defineProperty2["default"])(_this, "highlightSelectedFilters", function (element, option) {
249
217
  var selectedFiltersObj = _this.state.selectedFiltersObj;
250
-
251
218
  var selectedStyle = '';
252
219
  if (selectedFiltersObj[element.field]) {
253
220
  if (element.select_type === 'select') {
@@ -266,14 +233,11 @@ var Filter = function (_Component) {
266
233
  }
267
234
  }
268
235
  return 'filter-group-item ' + selectedStyle;
269
- };
270
-
271
- _this.renderFilterDisplayLabels = function (element) {
236
+ });
237
+ // this to render filter label based on selectedFiltersObj
238
+ (0, _defineProperty2["default"])(_this, "renderFilterDisplayLabels", function (element) {
272
239
  var selectedFiltersObj = _this.state.selectedFiltersObj;
273
-
274
-
275
240
  var label = '';
276
-
277
241
  if (selectedFiltersObj && selectedFiltersObj[element.field]) {
278
242
  if (element.select_type === 'select') {
279
243
  label = selectedFiltersObj[element.field].value ? selectedFiltersObj[element.field].label : 'All'; // normal label - single select
@@ -281,15 +245,14 @@ var Filter = function (_Component) {
281
245
  if (element.field === 'date') {
282
246
  // eg. display like this Jan 10
283
247
  var value = selectedFiltersObj[element.field].value;
284
-
285
248
  var from = new Date(value ? value.fromDate : _constants.CURRENT_DATE);
286
249
  var end = new Date(value ? value.toDate : _constants.CURRENT_DATE);
287
- var fromattedFrom = _constants.MONTHS[from.getMonth()] + ' ' + from.getDate();
288
- var fromattedEnd = _constants.MONTHS[end.getMonth()] + ' ' + end.getDate();
250
+ var fromattedFrom = "".concat(_constants.MONTHS[from.getMonth()], " ").concat(from.getDate());
251
+ var fromattedEnd = "".concat(_constants.MONTHS[end.getMonth()], " ").concat(end.getDate());
289
252
  if (value.key === 'date_range' && !value.toDate && !value.fromDate) {
290
253
  label = ' - ';
291
254
  } else if (value.key === 'date_range' || value.key === 'week' || value.key === 'month' || value.key === 'three_month') {
292
- label = fromattedFrom + ' - ' + fromattedEnd;
255
+ label = "".concat(fromattedFrom, " - ").concat(fromattedEnd);
293
256
  } else {
294
257
  label = fromattedEnd;
295
258
  }
@@ -298,24 +261,26 @@ var Filter = function (_Component) {
298
261
  label = selectedFiltersObj[element.field].value.length;
299
262
  }
300
263
  }
301
-
302
- return '' + (element.title === 'Date' ? '' : element.title + ': ') + label;
303
- };
304
-
305
- _this.toggleFiltersMenu = function (flag) {
264
+ return "".concat(element.title === 'Date' ? '' : "".concat(element.title, ": ")).concat(label);
265
+ });
266
+ /**
267
+ * This function toggle filters menu - show & hide.
268
+ * @param {boolean} flag contains value true/false to show/ hide filter.
269
+ */
270
+ (0, _defineProperty2["default"])(_this, "toggleFiltersMenu", function (flag) {
306
271
  var selectedFilters = _this.props.selectedFilters;
307
-
308
272
  if (flag) {
309
273
  _this.setState({
310
274
  isMenuOpen: flag,
311
275
  selectedUserIds: selectedFilters && selectedFilters.user_id_filter
312
276
  });
313
277
  } else {
314
- _this.setState({ isMenuOpen: flag });
278
+ _this.setState({
279
+ isMenuOpen: flag
280
+ });
315
281
  }
316
- };
317
-
318
- _this.componentDidUpdate = function (prevProps, prevState, snapshot) {
282
+ });
283
+ (0, _defineProperty2["default"])(_this, "componentDidUpdate", function (prevProps, prevState, snapshot) {
319
284
  if (_this.state.selectedFiltersFor == 'reset') {} else if (_this.state.selectedFiltersFor == 'selected') {} else if (prevProps.selectedFilters && _this.state.selectedFiltersObj == null) {
320
285
  _this.setState({
321
286
  selectedFiltersObj: _this.props.selectedFilters
@@ -329,35 +294,38 @@ var Filter = function (_Component) {
329
294
  diff = true;
330
295
  }
331
296
  });
332
-
333
297
  if (diff) {
334
298
  _this.setState({
335
299
  selectedFiltersObj: _this.props.selectedFilters
336
300
  });
337
301
  }
338
302
  }
339
- };
340
-
341
- _this.toggleDropDown = function (e) {
303
+ });
304
+ /**
305
+ * This function hides the dropdown list when user clicks outside the area of input box
306
+ * @param {Object} e click event that gets fired.
307
+ */
308
+ (0, _defineProperty2["default"])(_this, "toggleDropDown", function (e) {
342
309
  var showDropDownOptions = _this.state.showDropDownOptions;
343
-
344
310
  if (_this._userFilter && _this._userFilter.current && !_this._userFilter.current.contains(e.target)) {
345
311
  _this.setState({
346
312
  showDropDownOptions: false
347
313
  });
348
314
  }
349
- };
350
-
351
- _this.applyFilters = function (forData) {
315
+ });
316
+ /**
317
+ * This function applies the selected filter based on forData.
318
+ * @param {string} forData action that needs to be performed on the filter.
319
+ */
320
+ (0, _defineProperty2["default"])(_this, "applyFilters", function (forData) {
352
321
  var _this$state = _this.state,
353
- selectedFiltersObj = _this$state.selectedFiltersObj,
354
- selectedUserIds = _this$state.selectedUserIds;
322
+ selectedFiltersObj = _this$state.selectedFiltersObj,
323
+ selectedUserIds = _this$state.selectedUserIds;
355
324
  var _this$props = _this.props,
356
- applyFilters = _this$props.applyFilters,
357
- initialFilters = _this$props.initialFilters,
358
- refreshDashboard = _this$props.refreshDashboard,
359
- tableLoadingActionFunc = _this$props.tableLoadingActionFunc;
360
-
325
+ applyFilters = _this$props.applyFilters,
326
+ initialFilters = _this$props.initialFilters,
327
+ refreshDashboard = _this$props.refreshDashboard,
328
+ tableLoadingActionFunc = _this$props.tableLoadingActionFunc;
361
329
  _this.toggleFiltersMenu(false);
362
330
  if (forData === 'reset') {
363
331
  if (refreshDashboard && tableLoadingActionFunc) {
@@ -383,420 +351,309 @@ var Filter = function (_Component) {
383
351
  } else {
384
352
  applyFilters(selectedFiltersObj, 'apply');
385
353
  }
386
- };
387
-
388
- _this.getClassName = function (user, indx) {
354
+ });
355
+ /**
356
+ * This function takes the current user object from the dropdown list and checks if it is pre-selected.
357
+ * @param {Objec} user object that contains details for the user
358
+ * @returns the name of class with active state or not.
359
+ */
360
+ (0, _defineProperty2["default"])(_this, "getClassName", function (user, indx) {
389
361
  var _this$state2 = _this.state,
390
- selectedUserIds = _this$state2.selectedUserIds,
391
- autoSelectIndex = _this$state2.autoSelectIndex;
392
-
362
+ selectedUserIds = _this$state2.selectedUserIds,
363
+ autoSelectIndex = _this$state2.autoSelectIndex;
393
364
  if (autoSelectIndex === indx) return 'dropdown-options active';else {
394
365
  var index = selectedUserIds.findIndex(function (userObj) {
395
366
  return userObj.user_id === user.user_id;
396
367
  });
397
368
  return index >= 0 ? 'dropdown-options active' : 'dropdown-options';
398
369
  }
399
- };
400
-
401
- _this.resetSelectedUserFilter = function () {
370
+ });
371
+ /**
372
+ * This function reset userIds in the filter.
373
+ */
374
+ (0, _defineProperty2["default"])(_this, "resetSelectedUserFilter", function () {
402
375
  _this.setState({
403
376
  selectedUserIds: [],
404
377
  showDropDownOptions: false,
405
378
  autoSelectIndex: -1
406
379
  });
407
- };
408
-
409
- _this.getMaxDate = function (option, groupItem) {
380
+ });
381
+ (0, _defineProperty2["default"])(_this, "getMaxDate", function (option, groupItem) {
410
382
  var _this$state3 = _this.state,
411
- selectedFiltersObj = _this$state3.selectedFiltersObj,
412
- isSelectRangeSelected = _this$state3.isSelectRangeSelected;
413
-
414
-
383
+ selectedFiltersObj = _this$state3.selectedFiltersObj,
384
+ isSelectRangeSelected = _this$state3.isSelectRangeSelected;
415
385
  var maxDate = _constants.CURRENT_DATE;
416
386
  if (option.future_date_available) {
417
387
  maxDate = new Date('12/31/2099').getTime() * _constants.CONVERT;
418
388
  } else if (!isSelectRangeSelected && selectedFiltersObj[groupItem.field].value.fromDate + option.max_days * _constants.CONVERT < _constants.CURRENT_DATE) {
419
389
  maxDate = selectedFiltersObj[groupItem.field].value.fromDate + option.max_days * _constants.CONVERT;
420
390
  }
421
-
422
391
  return maxDate;
423
- };
424
-
425
- _this.render = function () {
392
+ });
393
+ (0, _defineProperty2["default"])(_this, "render", function () {
426
394
  var _this$props2 = _this.props,
427
- filtersStructure = _this$props2.filtersStructure,
428
- showSelectedFiltersAsChip = _this$props2.showSelectedFiltersAsChip,
429
- filterMessage = _this$props2.filterMessage,
430
- width = _this$props2.width,
431
- userIdsList = _this$props2.userIdsList;
395
+ filtersStructure = _this$props2.filtersStructure,
396
+ showSelectedFiltersAsChip = _this$props2.showSelectedFiltersAsChip,
397
+ filterMessage = _this$props2.filterMessage,
398
+ width = _this$props2.width,
399
+ userIdsList = _this$props2.userIdsList;
432
400
  var _this$state4 = _this.state,
433
- isMenuOpen = _this$state4.isMenuOpen,
434
- selectedFiltersObj = _this$state4.selectedFiltersObj,
435
- isSelectRangeSelected = _this$state4.isSelectRangeSelected,
436
- isSelectDateSelected = _this$state4.isSelectDateSelected,
437
- showDropDownOptions = _this$state4.showDropDownOptions;
438
-
439
- return _react2.default.createElement(
440
- _react.Fragment,
441
- null,
442
- isMenuOpen && _react2.default.createElement(OverlayStyles, { isMenuOpen: true, onClick: function onClick() {
443
- return _this.toggleFiltersMenu(false);
444
- } }),
445
- _react2.default.createElement(
446
- StyledFilterCompoment,
447
- {
448
- theme: _this.props.theme,
449
- isMenuOpen: isMenuOpen,
450
- showSelectedFiltersAsChip: showSelectedFiltersAsChip
401
+ isMenuOpen = _this$state4.isMenuOpen,
402
+ selectedFiltersObj = _this$state4.selectedFiltersObj,
403
+ isSelectRangeSelected = _this$state4.isSelectRangeSelected,
404
+ isSelectDateSelected = _this$state4.isSelectDateSelected,
405
+ showDropDownOptions = _this$state4.showDropDownOptions;
406
+ return /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, isMenuOpen && /*#__PURE__*/_react["default"].createElement(OverlayStyles, {
407
+ isMenuOpen: true,
408
+ onClick: function onClick() {
409
+ return _this.toggleFiltersMenu(false);
410
+ }
411
+ }), /*#__PURE__*/_react["default"].createElement(StyledFilterCompoment, {
412
+ theme: _this.props.theme,
413
+ isMenuOpen: isMenuOpen,
414
+ showSelectedFiltersAsChip: showSelectedFiltersAsChip
415
+ }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
416
+ role: "presentation",
417
+ className: "search-filter-list-box",
418
+ onClick: function onClick() {
419
+ _this.toggleFiltersMenu(!(isMenuOpen && !showSelectedFiltersAsChip));
420
+ _this.applyFilters('cancel');
421
+ if (isMenuOpen && !showSelectedFiltersAsChip) {
422
+ _this.applyFilters('cancel');
423
+ } else {
424
+ _this.toggleFiltersMenu(true);
425
+ }
426
+ }
427
+ }, !showSelectedFiltersAsChip && /*#__PURE__*/_react["default"].createElement("div", {
428
+ className: isMenuOpen ? 'filter-button active' : 'filter-button'
429
+ }, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
430
+ name: "filter",
431
+ width: 16,
432
+ height: 16,
433
+ color: "#afb2ba"
434
+ })), showSelectedFiltersAsChip && /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
435
+ className: "filter-list-box"
436
+ }, /*#__PURE__*/_react["default"].createElement("span", {
437
+ style: {
438
+ color: _tokens.colors[_this.props.theme].filter.lightthemeColor
439
+ }
440
+ }, "FILTERS"), /*#__PURE__*/_react["default"].createElement("div", {
441
+ className: "list-holder"
442
+ }, /*#__PURE__*/_react["default"].createElement("div", null, filtersStructure ? filtersStructure.slice(0, 2).map(function (item) {
443
+ return /*#__PURE__*/_react["default"].createElement(_tag["default"], {
444
+ key: item.text,
445
+ theme: _this.props.theme,
446
+ style: {
447
+ cursor: 'pointer'
451
448
  },
452
- _react2.default.createElement(
453
- 'div',
454
- null,
455
- _react2.default.createElement(
456
- 'div',
457
- {
458
- role: 'presentation',
459
- className: 'search-filter-list-box',
460
- onClick: function onClick() {
461
- _this.toggleFiltersMenu(!(isMenuOpen && !showSelectedFiltersAsChip));
462
- _this.applyFilters('cancel');
463
- if (isMenuOpen && !showSelectedFiltersAsChip) {
464
- _this.applyFilters('cancel');
465
- } else {
466
- _this.toggleFiltersMenu(true);
467
- }
468
- }
449
+ className: "chip-button checked"
450
+ }, _this.renderFilterDisplayLabels(item));
451
+ }) : null, filtersStructure.length - 2 > 0 && /*#__PURE__*/_react["default"].createElement(_tag["default"], {
452
+ theme: _this.props.theme,
453
+ className: "chip-button checked"
454
+ }, "+ ".concat(filtersStructure.length - 2)))))))), isMenuOpen && /*#__PURE__*/_react["default"].createElement("div", {
455
+ className: "filter-options-holder",
456
+ style: {
457
+ width: width
458
+ }
459
+ }, filterMessage && /*#__PURE__*/_react["default"].createElement("div", {
460
+ className: "filter-message"
461
+ }, filterMessage), filtersStructure && selectedFiltersObj ? filtersStructure.map(function (groupItem) {
462
+ if (groupItem.display_format === 'input') {
463
+ return /*#__PURE__*/_react["default"].createElement("div", {
464
+ className: "filter-group",
465
+ key: groupItem.field
466
+ }, /*#__PURE__*/_react["default"].createElement("div", {
467
+ className: "filter-group-title"
468
+ }, groupItem.title), /*#__PURE__*/_react["default"].createElement("div", {
469
+ ref: _this._userFilter
470
+ }, /*#__PURE__*/_react["default"].createElement(UserIdDropdown, {
471
+ theme: _this.props.theme
472
+ }, selectedFiltersObj[groupItem.field] && selectedFiltersObj[groupItem.field].length > 0 && selectedFiltersObj[groupItem.field].map(function (user) {
473
+ return /*#__PURE__*/_react["default"].createElement("div", {
474
+ className: "tags"
475
+ }, /*#__PURE__*/_react["default"].createElement(_tag["default"], {
476
+ key: "tag-".concat(user.user_id),
477
+ theme: _this.props.theme,
478
+ className: "",
479
+ onRemove: function onRemove(e) {
480
+ _this.onSelection(groupItem, user);
481
+ }
482
+ }, user.name));
483
+ }), /*#__PURE__*/_react["default"].createElement("input", {
484
+ className: "input-filter",
485
+ placeholder: "Enter User Name",
486
+ ref: _this._userFilterInput,
487
+ onChange: function onChange(e) {
488
+ _this.handleDebounce(groupItem.permission, e.target.value);
489
+ _this.setState({
490
+ showDropDownOptions: true
491
+ });
492
+ },
493
+ onKeyDown: function onKeyDown(e) {
494
+ return _this.onKeyDown(e, groupItem);
495
+ }
496
+ // onFocus={(e) => this.setState({showDropDownOptions: true})}
497
+ }), userIdsList && userIdsList.length > 0 && showDropDownOptions && _this._userFilterInput.current.value.length > 1 && /*#__PURE__*/_react["default"].createElement("div", {
498
+ className: "user-dropdown"
499
+ }, userIdsList.map(function (user, index) {
500
+ return /*#__PURE__*/_react["default"].createElement("p", {
501
+ className: _this.getClassName(user, index),
502
+ onClick: function onClick(e) {
503
+ return _this.onSelection(groupItem, user);
504
+ }
505
+ }, user.name);
506
+ })))));
507
+ }
508
+ return /*#__PURE__*/_react["default"].createElement("div", {
509
+ className: "filter-group",
510
+ key: groupItem.field
511
+ }, /*#__PURE__*/_react["default"].createElement("div", {
512
+ className: "filter-group-title"
513
+ }, groupItem.title), /*#__PURE__*/_react["default"].createElement("div", {
514
+ className: "filter-group-item-list"
515
+ }, groupItem.options.map(function (option) {
516
+ if (option.field === 'date') {
517
+ return /*#__PURE__*/_react["default"].createElement(_datePicker["default"], {
518
+ theme: _this.props.theme,
519
+ label: /*#__PURE__*/_react["default"].createElement(_tag["default"], {
520
+ key: option.field,
521
+ theme: _this.props.theme,
522
+ className: 'chip-button ' + _this.highlightSelectedFilters(groupItem, option)
523
+ }, option.title),
524
+ className: _this.highlightSelectedFilters(groupItem, option),
525
+ labelAsText: true,
526
+ minDate: isSelectDateSelected ? null : selectedFiltersObj[groupItem.field].value.fromDate - option.max_days * _constants.CONVERT,
527
+ maxDate: _this.getMaxDate(option, groupItem),
528
+ datepickerStep: 2,
529
+ selected:
530
+ // previousSelectedFilters && previousSelectedFilters[groupItem.field].value.key !='date_range' ? []:(
531
+ selectedFiltersObj[groupItem.field] ? [selectedFiltersObj[groupItem.field].value.fromDate, selectedFiltersObj[groupItem.field].value.fromDate] : []
532
+ // )
533
+ ,
534
+ onSelectionChange: function onSelectionChange(date) {
535
+ var filters = _objectSpread({}, selectedFiltersObj);
536
+ var formattedFrom = new Date(date);
537
+ var formattedEnd = date.to ? new Date(date.to) : null; // new Date(date.to || CURRENT_DATE);
538
+
539
+ filters[groupItem.field].value.fromDate = date;
540
+ filters[groupItem.field].value.toDate = date;
541
+ filters[groupItem.field].value.key = 'date';
542
+ filters[groupItem.field].label = date ? "".concat(_constants.MONTHS[formattedFrom.getMonth()], " ").concat(formattedFrom.getDate(), " ") : 'no selection';
543
+ _this.setState({
544
+ isSelectDateSelected: false
545
+ }, function () {
546
+ _this.changeFilters('selected', filters);
547
+ });
469
548
  },
470
- !showSelectedFiltersAsChip && _react2.default.createElement(
471
- 'div',
472
- { className: isMenuOpen ? 'filter-button active' : 'filter-button' },
473
- _react2.default.createElement(_icon2.default, { name: 'filter', width: 16, height: 16, color: '#afb2ba' })
474
- ),
475
- showSelectedFiltersAsChip && _react2.default.createElement(
476
- _react.Fragment,
477
- null,
478
- _react2.default.createElement(
479
- 'div',
480
- { className: 'filter-list-box' },
481
- _react2.default.createElement(
482
- 'span',
483
- {
484
- style: {
485
- color: _tokens.colors[_this.props.theme].filter.lightthemeColor
486
- }
487
- },
488
- 'FILTERS'
489
- ),
490
- _react2.default.createElement(
491
- 'div',
492
- { className: 'list-holder' },
493
- _react2.default.createElement(
494
- 'div',
495
- null,
496
- filtersStructure ? filtersStructure.slice(0, 2).map(function (item) {
497
- return _react2.default.createElement(
498
- _tag2.default,
499
- {
500
- key: item.text,
501
- theme: _this.props.theme,
502
- style: { cursor: 'pointer' },
503
- className: 'chip-button checked'
504
- },
505
- _this.renderFilterDisplayLabels(item)
506
- );
507
- }) : null,
508
- filtersStructure.length - 2 > 0 && _react2.default.createElement(
509
- _tag2.default,
510
- {
511
- theme: _this.props.theme,
512
- className: 'chip-button checked'
513
- },
514
- '+ ' + (filtersStructure.length - 2)
515
- )
516
- )
517
- )
518
- )
519
- )
520
- )
521
- ),
522
- isMenuOpen && _react2.default.createElement(
523
- 'div',
524
- { className: 'filter-options-holder', style: { width: width } },
525
- filterMessage && _react2.default.createElement(
526
- 'div',
527
- { className: 'filter-message' },
528
- filterMessage
529
- ),
530
- filtersStructure && selectedFiltersObj ? filtersStructure.map(function (groupItem) {
531
- if (groupItem.display_format === 'input') {
532
- return _react2.default.createElement(
533
- 'div',
534
- { className: 'filter-group', key: groupItem.field },
535
- _react2.default.createElement(
536
- 'div',
537
- { className: 'filter-group-title' },
538
- groupItem.title
539
- ),
540
- _react2.default.createElement(
541
- 'div',
542
- { ref: _this._userFilter },
543
- _react2.default.createElement(
544
- UserIdDropdown,
545
- { theme: _this.props.theme },
546
- selectedFiltersObj[groupItem.field] && selectedFiltersObj[groupItem.field].length > 0 && selectedFiltersObj[groupItem.field].map(function (user) {
547
- return _react2.default.createElement(
548
- 'div',
549
- { className: 'tags' },
550
- _react2.default.createElement(
551
- _tag2.default,
552
- {
553
- key: 'tag-' + user.user_id,
554
- theme: _this.props.theme,
555
- className: '',
556
- onRemove: function onRemove(e) {
557
- _this.onSelection(groupItem, user);
558
- }
559
- },
560
- user.name
561
- )
562
- );
563
- }),
564
- _react2.default.createElement('input', {
565
- className: 'input-filter',
566
- placeholder: 'Enter User Name',
567
- ref: _this._userFilterInput,
568
- onChange: function onChange(e) {
569
- _this.handleDebounce(groupItem.permission, e.target.value);
570
- _this.setState({ showDropDownOptions: true });
571
- },
572
- onKeyDown: function onKeyDown(e) {
573
- return _this.onKeyDown(e, groupItem);
574
- }
575
- // onFocus={(e) => this.setState({showDropDownOptions: true})}
576
- }),
577
- userIdsList && userIdsList.length > 0 && showDropDownOptions && _this._userFilterInput.current.value.length > 1 && _react2.default.createElement(
578
- 'div',
579
- { className: 'user-dropdown' },
580
- userIdsList.map(function (user, index) {
581
- return _react2.default.createElement(
582
- 'p',
583
- {
584
- className: _this.getClassName(user, index),
585
- onClick: function onClick(e) {
586
- return _this.onSelection(groupItem, user);
587
- }
588
- },
589
- user.name
590
- );
591
- })
592
- )
593
- )
594
- )
595
- );
549
+ onCalendarOpen: function onCalendarOpen() {
550
+ _this.onSelection(groupItem, option);
596
551
  }
597
- return _react2.default.createElement(
598
- 'div',
599
- { className: 'filter-group', key: groupItem.field },
600
- _react2.default.createElement(
601
- 'div',
602
- { className: 'filter-group-title' },
603
- groupItem.title
604
- ),
605
- _react2.default.createElement(
606
- 'div',
607
- { className: 'filter-group-item-list' },
608
- groupItem.options.map(function (option) {
609
- if (option.field === 'date') {
610
- return _react2.default.createElement(_datePicker2.default, {
611
- theme: _this.props.theme,
612
- label: _react2.default.createElement(
613
- _tag2.default,
614
- {
615
- key: option.field,
616
- theme: _this.props.theme,
617
- className: 'chip-button ' + _this.highlightSelectedFilters(groupItem, option)
618
- },
619
- option.title
620
- ),
621
- className: _this.highlightSelectedFilters(groupItem, option),
622
- labelAsText: true,
623
- minDate: isSelectDateSelected ? null : selectedFiltersObj[groupItem.field].value.fromDate - option.max_days * _constants.CONVERT,
624
- maxDate: _this.getMaxDate(option, groupItem),
625
- datepickerStep: 2,
626
- selected:
627
- // previousSelectedFilters && previousSelectedFilters[groupItem.field].value.key !='date_range' ? []:(
628
- selectedFiltersObj[groupItem.field] ? [selectedFiltersObj[groupItem.field].value.fromDate, selectedFiltersObj[groupItem.field].value.fromDate] : []
629
- // )
630
- ,
631
- onSelectionChange: function onSelectionChange(date) {
632
- var filters = _extends({}, selectedFiltersObj);
633
- var formattedFrom = new Date(date);
634
- var formattedEnd = date.to ? new Date(date.to) : null; // new Date(date.to || CURRENT_DATE);
635
-
636
- filters[groupItem.field].value.fromDate = date;
637
- filters[groupItem.field].value.toDate = date;
638
-
639
- filters[groupItem.field].value.key = 'date';
640
- filters[groupItem.field].label = date ? _constants.MONTHS[formattedFrom.getMonth()] + ' ' + formattedFrom.getDate() + ' ' : 'no selection';
641
- _this.setState({ isSelectDateSelected: false }, function () {
642
- _this.changeFilters('selected', filters);
643
- });
644
- },
645
- onCalendarOpen: function onCalendarOpen() {
646
- _this.onSelection(groupItem, option);
647
- }
648
- });
649
- } else if (option.field === 'date_range') {
650
- return _react2.default.createElement(_datePicker2.default, {
651
- theme: _this.props.theme,
652
- label: _react2.default.createElement(
653
- _tag2.default,
654
- {
655
- key: option.field,
656
- theme: _this.props.theme,
657
- className: 'chip-button ' + _this.highlightSelectedFilters(groupItem, option)
658
- },
659
- option.title
660
- ),
661
- className: _this.highlightSelectedFilters(groupItem, option),
662
- labelAsText: true,
663
- rangePicker: true,
664
- minDate: isSelectRangeSelected ? null : selectedFiltersObj[groupItem.field].value.fromDate - option.max_days * _constants.CONVERT,
665
- maxDate: _this.getMaxDate(option, groupItem),
666
- datepickerStep: 2,
667
- selected:
668
- // previousSelectedFilters && previousSelectedFilters[groupItem.field].value.key !='date_range' ? []:(
669
- selectedFiltersObj[groupItem.field] ? [selectedFiltersObj[groupItem.field].value.fromDate, selectedFiltersObj[groupItem.field].value.toDate] : []
670
- // )
671
- ,
672
- onSelectionChange: function onSelectionChange(date) {
673
- var filters = _extends({}, selectedFiltersObj);
674
- var formattedFrom = date.from ? new Date(date.from) : null;
675
- var formattedEnd = date.to ? new Date(date.to) : null; // new Date(date.to || CURRENT_DATE);
676
- filters[groupItem.field].value.fromDate = date.from;
677
- filters[groupItem.field].value.toDate = date.to; // || CURRENT_DATE;
678
- filters[groupItem.field].value.key = 'date_range';
679
- filters[groupItem.field].label = date.from && date.to ? _constants.MONTHS[formattedFrom.getMonth()] + ' ' + formattedFrom.getDate() + ' - ' + _constants.MONTHS[formattedEnd.getMonth()] + ' ' + formattedEnd.getDate() : 'no selection';
680
- _this.setState({ isSelectRangeSelected: false }, function () {
681
- _this.changeFilters('selected', filters);
682
- });
683
- },
684
- onCalendarOpen: function onCalendarOpen() {
685
- _this.onSelection(groupItem, option);
686
- }
687
- });
688
- } else {
689
- return _react2.default.createElement(
690
- _tag2.default,
691
- {
692
- key: option.field,
693
- theme: _this.props.theme,
694
- className: 'chip-button ' + _this.highlightSelectedFilters(groupItem, option),
695
- onClick: function onClick() {
696
- // first range picker false then
697
- _this.setState({ isRangePickerVisible: false }, function () {
698
- _this.onSelection(groupItem, option);
699
- });
700
- }
701
- },
702
- option.title
703
- );
704
- }
705
- })
706
- )
707
- );
708
- }) : null,
709
- _react2.default.createElement(
710
- 'div',
711
- {
712
- style: {
713
- margin: '15px 0px 0px',
714
- textAlign: 'center',
715
- display: 'flex'
716
- }
552
+ });
553
+ } else if (option.field === 'date_range') {
554
+ return /*#__PURE__*/_react["default"].createElement(_datePicker["default"], {
555
+ theme: _this.props.theme,
556
+ label: /*#__PURE__*/_react["default"].createElement(_tag["default"], {
557
+ key: option.field,
558
+ theme: _this.props.theme,
559
+ className: 'chip-button ' + _this.highlightSelectedFilters(groupItem, option)
560
+ }, option.title),
561
+ className: _this.highlightSelectedFilters(groupItem, option),
562
+ labelAsText: true,
563
+ rangePicker: true,
564
+ minDate: isSelectRangeSelected ? null : selectedFiltersObj[groupItem.field].value.fromDate - option.max_days * _constants.CONVERT,
565
+ maxDate: _this.getMaxDate(option, groupItem),
566
+ datepickerStep: 2,
567
+ selected:
568
+ // previousSelectedFilters && previousSelectedFilters[groupItem.field].value.key !='date_range' ? []:(
569
+ selectedFiltersObj[groupItem.field] ? [selectedFiltersObj[groupItem.field].value.fromDate, selectedFiltersObj[groupItem.field].value.toDate] : []
570
+ // )
571
+ ,
572
+ onSelectionChange: function onSelectionChange(date) {
573
+ var filters = _objectSpread({}, selectedFiltersObj);
574
+ var formattedFrom = date.from ? new Date(date.from) : null;
575
+ var formattedEnd = date.to ? new Date(date.to) : null; // new Date(date.to || CURRENT_DATE);
576
+ filters[groupItem.field].value.fromDate = date.from;
577
+ filters[groupItem.field].value.toDate = date.to; // || CURRENT_DATE;
578
+ filters[groupItem.field].value.key = 'date_range';
579
+ filters[groupItem.field].label = date.from && date.to ? "".concat(_constants.MONTHS[formattedFrom.getMonth()], " ").concat(formattedFrom.getDate(), " - ").concat(_constants.MONTHS[formattedEnd.getMonth()], " ").concat(formattedEnd.getDate()) : 'no selection';
580
+ _this.setState({
581
+ isSelectRangeSelected: false
582
+ }, function () {
583
+ _this.changeFilters('selected', filters);
584
+ });
717
585
  },
718
- _react2.default.createElement(
719
- ResetBtn,
720
- {
721
- theme: _this.props.theme,
722
- appearance: 'cta',
723
- onClick: function onClick() {
724
- // this.toggleFiltersMenu(false);
725
- _this.applyFilters('reset');
726
- // this.changeFilters('reset', null);
727
- }
728
- },
729
- 'Reset'
730
- ),
731
- _react2.default.createElement(
732
- ApplyBtn,
733
- {
734
- theme: _this.props.theme,
735
- id: 'apply-btn',
736
- appearance: 'cta',
737
- display: 'rounded',
738
- onClick: function onClick() {
739
- _this.applyFilters();
740
- // this.toggleFiltersMenu(false);
741
- }
742
- },
743
- 'Apply'
744
- )
745
- )
746
- )
747
- )
748
- );
749
- };
750
-
586
+ onCalendarOpen: function onCalendarOpen() {
587
+ _this.onSelection(groupItem, option);
588
+ }
589
+ });
590
+ } else {
591
+ return /*#__PURE__*/_react["default"].createElement(_tag["default"], {
592
+ key: option.field,
593
+ theme: _this.props.theme,
594
+ className: 'chip-button ' + _this.highlightSelectedFilters(groupItem, option),
595
+ onClick: function onClick() {
596
+ // first range picker false then
597
+ _this.setState({
598
+ isRangePickerVisible: false
599
+ }, function () {
600
+ _this.onSelection(groupItem, option);
601
+ });
602
+ }
603
+ }, option.title);
604
+ }
605
+ })));
606
+ }) : null, /*#__PURE__*/_react["default"].createElement("div", {
607
+ style: {
608
+ margin: '15px 0px 0px',
609
+ textAlign: 'center',
610
+ display: 'flex'
611
+ }
612
+ }, /*#__PURE__*/_react["default"].createElement(ResetBtn, {
613
+ theme: _this.props.theme,
614
+ appearance: "cta",
615
+ onClick: function onClick() {
616
+ // this.toggleFiltersMenu(false);
617
+ _this.applyFilters('reset');
618
+ // this.changeFilters('reset', null);
619
+ }
620
+ }, "Reset"), /*#__PURE__*/_react["default"].createElement(ApplyBtn, {
621
+ theme: _this.props.theme,
622
+ id: "apply-btn",
623
+ appearance: "cta",
624
+ display: "rounded",
625
+ onClick: function onClick() {
626
+ _this.applyFilters();
627
+ // this.toggleFiltersMenu(false);
628
+ }
629
+ }, "Apply")))));
630
+ });
751
631
  _this.state = {
752
632
  isMenuOpen: false,
753
633
  selectedFiltersObj: props.selectedFilters ? props.selectedFilters : null,
754
634
  selectedFiltersFor: null,
755
- isSelectRangeSelected: false, // this is based on max_days
635
+ isSelectRangeSelected: false,
636
+ // this is based on max_days
756
637
  selectedUserIds: [],
757
638
  showDropDownOptions: false,
758
639
  autoSelectIndex: -1
759
640
  };
760
- _this._userFilter = _react2.default.createRef();
761
- _this._userFilterInput = _react2.default.createRef();
641
+ _this._userFilter = /*#__PURE__*/_react["default"].createRef();
642
+ _this._userFilterInput = /*#__PURE__*/_react["default"].createRef();
762
643
  return _this;
763
644
  }
764
-
765
- /**
766
- * This function handle the onChange event in the filter.
767
- * @param {Object} groupItem GUI elements for the particular section
768
- * @param {Object} optionItem the item from the options of that section
769
- */
770
-
771
-
772
- /**
773
- * This function performs action based on forAction on filters object
774
- * @param {String} forAction action performed on the filter object
775
- * @param {Object} filters Object containing current filters selected values
776
- */
777
-
778
-
779
- /**
780
- * This function hadles the onchange event for search input field inside filter
781
- * @param {string} query Input Filed value
782
- * @param {string} permission Type of dashboard
783
- */
784
-
785
-
786
- _createClass(Filter, [{
787
- key: 'onKeyDown',
788
-
789
-
645
+ (0, _inherits2["default"])(Filter, _Component);
646
+ return (0, _createClass2["default"])(Filter, [{
647
+ key: "onKeyDown",
648
+ value:
790
649
  /**
791
650
  * This function handles the keypress traverse over the dropdown option list
792
651
  * @param {Object} e the event object that is fired
793
652
  * @param {Object} groupItem Object containing groupitem details
794
653
  */
795
- value: function onKeyDown(e, groupItem) {
654
+ function onKeyDown(e, groupItem) {
796
655
  var autoSelectIndex = this.state.autoSelectIndex;
797
656
  var userIdsList = this.props.userIdsList;
798
-
799
-
800
657
  if (userIdsList.length) {
801
658
  switch (e.keyCode) {
802
659
  case 13:
@@ -833,68 +690,27 @@ var Filter = function (_Component) {
833
690
  }
834
691
  }
835
692
  }
836
-
837
- // to highlight selected filters
838
-
839
-
840
- // this to render filter label based on selectedFiltersObj
841
-
842
-
843
- /**
844
- * This function toggle filters menu - show & hide.
845
- * @param {boolean} flag contains value true/false to show/ hide filter.
846
- */
847
-
848
693
  }, {
849
- key: 'componentDidMount',
694
+ key: "componentDidMount",
850
695
  value: function componentDidMount() {
851
696
  document.body.addEventListener('click', this.toggleDropDown);
852
697
  }
853
-
854
- /**
855
- * This function hides the dropdown list when user clicks outside the area of input box
856
- * @param {Object} e click event that gets fired.
857
- */
858
-
859
-
860
- /**
861
- * This function applies the selected filter based on forData.
862
- * @param {string} forData action that needs to be performed on the filter.
863
- */
864
-
865
-
866
- /**
867
- * This function takes the current user object from the dropdown list and checks if it is pre-selected.
868
- * @param {Objec} user object that contains details for the user
869
- * @returns the name of class with active state or not.
870
- */
871
-
872
-
873
- /**
874
- * This function reset userIds in the filter.
875
- */
876
-
877
698
  }]);
878
-
879
- return Filter;
880
699
  }(_react.Component);
881
-
882
700
  Filter.propTypes = {
883
- theme: _propTypes2.default.oneOf(['light', 'dark', 'nexc']),
884
- applyFilters: _propTypes2.default.func,
885
- refreshDashboard: _propTypes2.default.func,
886
- tableLoadingActionFunc: _propTypes2.default.func,
887
- initialFilters: _propTypes2.default.instanceOf(Object),
888
- selectedFilters: _propTypes2.default.instanceOf(Object),
889
- filtersStructure: _propTypes2.default.instanceOf(Object),
890
- filterMessage: _propTypes2.default.string,
891
- width: _propTypes2.default.string,
892
- showSelectedFiltersAsChip: _propTypes2.default.bool
701
+ theme: _propTypes["default"].oneOf(['light', 'dark', 'nexc']),
702
+ applyFilters: _propTypes["default"].func,
703
+ refreshDashboard: _propTypes["default"].func,
704
+ tableLoadingActionFunc: _propTypes["default"].func,
705
+ initialFilters: _propTypes["default"].instanceOf(Object),
706
+ selectedFilters: _propTypes["default"].instanceOf(Object),
707
+ filtersStructure: _propTypes["default"].instanceOf(Object),
708
+ filterMessage: _propTypes["default"].string,
709
+ width: _propTypes["default"].string,
710
+ showSelectedFiltersAsChip: _propTypes["default"].bool
893
711
  };
894
-
895
712
  Filter.defaultProps = {
896
713
  width: '360px',
897
714
  theme: 'dark'
898
715
  };
899
-
900
- exports.default = Filter;
716
+ var _default = exports["default"] = Filter;