@talxis/base-controls 1.2407.2 → 1.2408.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.
Files changed (256) hide show
  1. package/dist/components/DateTime/DateTime.js +133 -1
  2. package/dist/components/DateTime/DateTime.js.map +1 -0
  3. package/dist/components/DateTime/components/Calendar.d.ts +1 -1
  4. package/dist/components/DateTime/components/Calendar.js +63 -1
  5. package/dist/components/DateTime/components/Calendar.js.map +1 -0
  6. package/dist/components/DateTime/hooks/useDateTime.js +137 -1
  7. package/dist/components/DateTime/hooks/useDateTime.js.map +1 -0
  8. package/dist/components/DateTime/index.js +3 -1
  9. package/dist/components/DateTime/index.js.map +1 -0
  10. package/dist/components/DateTime/interfaces.d.ts +11 -1
  11. package/dist/components/DateTime/styles.js +37 -1
  12. package/dist/components/DateTime/styles.js.map +1 -0
  13. package/dist/components/DateTime/translations.js +23 -1
  14. package/dist/components/DateTime/translations.js.map +1 -0
  15. package/dist/components/Decimal/Decimal.js +200 -1
  16. package/dist/components/Decimal/Decimal.js.map +1 -0
  17. package/dist/components/Decimal/components/ArrowButtons.js +38 -1
  18. package/dist/components/Decimal/components/ArrowButtons.js.map +1 -0
  19. package/dist/components/Decimal/components/styles.js +26 -1
  20. package/dist/components/Decimal/components/styles.js.map +1 -0
  21. package/dist/components/Decimal/index.js +2 -1
  22. package/dist/components/Decimal/index.js.map +1 -0
  23. package/dist/components/Decimal/interfaces.d.ts +1 -1
  24. package/dist/components/Duration/Duration.js +132 -1
  25. package/dist/components/Duration/Duration.js.map +1 -0
  26. package/dist/components/Duration/durationOptions.d.ts +2 -0
  27. package/dist/components/Duration/durationOptions.js +27 -0
  28. package/dist/components/Duration/durationOptions.js.map +1 -0
  29. package/dist/components/Duration/index.js +2 -1
  30. package/dist/components/Duration/index.js.map +1 -0
  31. package/dist/components/Duration/translations.js +31 -1
  32. package/dist/components/Duration/translations.js.map +1 -0
  33. package/dist/components/Grid/Grid.js +30 -1
  34. package/dist/components/Grid/Grid.js.map +1 -0
  35. package/dist/components/Grid/GridContext.js +6 -1
  36. package/dist/components/Grid/GridContext.js.map +1 -0
  37. package/dist/components/Grid/constants.js +4 -1
  38. package/dist/components/Grid/constants.js.map +1 -0
  39. package/dist/components/Grid/core/components/AgGrid/AgGrid.js +85 -1
  40. package/dist/components/Grid/core/components/AgGrid/AgGrid.js.map +1 -0
  41. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js +12 -1
  42. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js.map +1 -0
  43. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/styles.js +23 -1
  44. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/styles.js.map +1 -0
  45. package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js +11 -1
  46. package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js.map +1 -0
  47. package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/styles.js +82 -1
  48. package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/styles.js.map +1 -0
  49. package/dist/components/Grid/core/components/AgGrid/controllers/useAgGridController.js +169 -1
  50. package/dist/components/Grid/core/components/AgGrid/controllers/useAgGridController.js.map +1 -0
  51. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js +116 -1
  52. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js.map +1 -0
  53. package/dist/components/Grid/core/components/AgGrid/styles.js +91 -1
  54. package/dist/components/Grid/core/components/AgGrid/styles.js.map +1 -0
  55. package/dist/components/Grid/core/components/Cell/Commands/Commands.js +29 -1
  56. package/dist/components/Grid/core/components/Cell/Commands/Commands.js.map +1 -0
  57. package/dist/components/Grid/core/components/Cell/Commands/Icon.js +14 -1
  58. package/dist/components/Grid/core/components/Cell/Commands/Icon.js.map +1 -0
  59. package/dist/components/Grid/core/components/Cell/Commands/styles.js +54 -1
  60. package/dist/components/Grid/core/components/Cell/Commands/styles.js.map +1 -0
  61. package/dist/components/Grid/core/components/Cell/Commands/useCommands.js +52 -1
  62. package/dist/components/Grid/core/components/Cell/Commands/useCommands.js.map +1 -0
  63. package/dist/components/Grid/core/components/Cell/EditableCell/EditableCell.js +148 -1
  64. package/dist/components/Grid/core/components/Cell/EditableCell/EditableCell.js.map +1 -0
  65. package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyCell.js +139 -1
  66. package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyCell.js.map +1 -0
  67. package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyOptionSet/ReadOnlyOptionSet.js +49 -1
  68. package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyOptionSet/ReadOnlyOptionSet.js.map +1 -0
  69. package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyOptionSet/styles.js +27 -1
  70. package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyOptionSet/styles.js.map +1 -0
  71. package/dist/components/Grid/core/components/Cell/ReadOnlyCell/styles.js +58 -1
  72. package/dist/components/Grid/core/components/Cell/ReadOnlyCell/styles.js.map +1 -0
  73. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js +60 -1
  74. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js.map +1 -0
  75. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js +26 -1
  76. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js.map +1 -0
  77. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.js +19 -1
  78. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.js.map +1 -0
  79. package/dist/components/Grid/core/components/ColumnHeader/styles.js +44 -1
  80. package/dist/components/Grid/core/components/ColumnHeader/styles.js.map +1 -0
  81. package/dist/components/Grid/core/components/Component/Component.js +53 -1
  82. package/dist/components/Grid/core/components/Component/Component.js.map +1 -0
  83. package/dist/components/Grid/core/components/Component/controller/useComponentController.js +31 -1
  84. package/dist/components/Grid/core/components/Component/controller/useComponentController.js.map +1 -0
  85. package/dist/components/Grid/core/components/Component/model/Component.js +225 -1
  86. package/dist/components/Grid/core/components/Component/model/Component.js.map +1 -0
  87. package/dist/components/Grid/core/components/Dialog/Constants.js +9 -1
  88. package/dist/components/Grid/core/components/Dialog/Constants.js.map +1 -0
  89. package/dist/components/Grid/core/components/Dialog/Styles.js +61 -1
  90. package/dist/components/Grid/core/components/Dialog/Styles.js.map +1 -0
  91. package/dist/components/Grid/core/components/Dialog/index.js +16 -1
  92. package/dist/components/Grid/core/components/Dialog/index.js.map +1 -0
  93. package/dist/components/Grid/core/components/Dialog/interfaces/index.js +1 -0
  94. package/dist/components/Grid/core/components/Dialog/interfaces/index.js.map +1 -0
  95. package/dist/components/Grid/core/components/Save/Save.js +47 -1
  96. package/dist/components/Grid/core/components/Save/Save.js.map +1 -0
  97. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js +39 -1
  98. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js.map +1 -0
  99. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/RecordGrids/RecordGrids.js +136 -1
  100. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/RecordGrids/RecordGrids.js.map +1 -0
  101. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/RecordGrids/styles.js +54 -1
  102. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/RecordGrids/styles.js.map +1 -0
  103. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js +37 -1
  104. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js.map +1 -0
  105. package/dist/components/Grid/core/components/Save/hooks/useSave.js +45 -1
  106. package/dist/components/Grid/core/components/Save/hooks/useSave.js.map +1 -0
  107. package/dist/components/Grid/core/components/Save/styles.js +44 -1
  108. package/dist/components/Grid/core/components/Save/styles.js.map +1 -0
  109. package/dist/components/Grid/core/controllers/useGridController.js +39 -1
  110. package/dist/components/Grid/core/controllers/useGridController.js.map +1 -0
  111. package/dist/components/Grid/core/enums/ConditionOperator.js +50 -1
  112. package/dist/components/Grid/core/enums/ConditionOperator.js.map +1 -0
  113. package/dist/components/Grid/core/enums/DataType.js +30 -1
  114. package/dist/components/Grid/core/enums/DataType.js.map +1 -0
  115. package/dist/components/Grid/core/hooks/useGridInstance.js +9 -1
  116. package/dist/components/Grid/core/hooks/useGridInstance.js.map +1 -0
  117. package/dist/components/Grid/core/hooks/useRefreshCallback.js +20 -1
  118. package/dist/components/Grid/core/hooks/useRefreshCallback.js.map +1 -0
  119. package/dist/components/Grid/core/hooks/useRerender.js +13 -1
  120. package/dist/components/Grid/core/hooks/useRerender.js.map +1 -0
  121. package/dist/components/Grid/core/model/Grid.js +249 -1
  122. package/dist/components/Grid/core/model/Grid.js.map +1 -0
  123. package/dist/components/Grid/core/model/GridDependency.js +28 -1
  124. package/dist/components/Grid/core/model/GridDependency.js.map +1 -0
  125. package/dist/components/Grid/core/model/Metadata.js +22 -1
  126. package/dist/components/Grid/core/model/Metadata.js.map +1 -0
  127. package/dist/components/Grid/core/services/RecordUpdateService/controllers/useRecordUpdateServiceController.js +25 -1
  128. package/dist/components/Grid/core/services/RecordUpdateService/controllers/useRecordUpdateServiceController.js.map +1 -0
  129. package/dist/components/Grid/core/services/RecordUpdateService/model/RecordUpdateService.js +190 -1
  130. package/dist/components/Grid/core/services/RecordUpdateService/model/RecordUpdateService.js.map +1 -0
  131. package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js +50 -1
  132. package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js.map +1 -0
  133. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js +58 -1
  134. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js.map +1 -0
  135. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js +52 -1
  136. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js.map +1 -0
  137. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js +125 -1
  138. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js.map +1 -0
  139. package/dist/components/Grid/filtering/components/FilterCallout/styles.js +40 -1
  140. package/dist/components/Grid/filtering/components/FilterCallout/styles.js.map +1 -0
  141. package/dist/components/Grid/filtering/constants.js +51 -1
  142. package/dist/components/Grid/filtering/constants.js.map +1 -0
  143. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js +42 -1
  144. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js.map +1 -0
  145. package/dist/components/Grid/filtering/model/Condition.js +297 -1
  146. package/dist/components/Grid/filtering/model/Condition.js.map +1 -0
  147. package/dist/components/Grid/filtering/model/Filtering.js +78 -1
  148. package/dist/components/Grid/filtering/model/Filtering.js.map +1 -0
  149. package/dist/components/Grid/filtering/utils/FilteringUtilts.js +195 -1
  150. package/dist/components/Grid/filtering/utils/FilteringUtilts.js.map +1 -0
  151. package/dist/components/Grid/index.js +2 -1
  152. package/dist/components/Grid/index.js.map +1 -0
  153. package/dist/components/Grid/paging/components/Paging/Paging.js +63 -1
  154. package/dist/components/Grid/paging/components/Paging/Paging.js.map +1 -0
  155. package/dist/components/Grid/paging/components/Paging/styles.js +41 -1
  156. package/dist/components/Grid/paging/components/Paging/styles.js.map +1 -0
  157. package/dist/components/Grid/paging/controllers/usePagingController.js +23 -1
  158. package/dist/components/Grid/paging/controllers/usePagingController.js.map +1 -0
  159. package/dist/components/Grid/paging/model/Paging.js +56 -1
  160. package/dist/components/Grid/paging/model/Paging.js.map +1 -0
  161. package/dist/components/Grid/selection/controllers/useSelectionController.js +17 -1
  162. package/dist/components/Grid/selection/controllers/useSelectionController.js.map +1 -0
  163. package/dist/components/Grid/selection/model/Selection.js +69 -1
  164. package/dist/components/Grid/selection/model/Selection.js.map +1 -0
  165. package/dist/components/Grid/sorting/Sorting.js +33 -1
  166. package/dist/components/Grid/sorting/Sorting.js.map +1 -0
  167. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js +120 -1
  168. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js.map +1 -0
  169. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js +15 -1
  170. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js.map +1 -0
  171. package/dist/components/Grid/sorting/controllers/useColumnSortingController.js +21 -1
  172. package/dist/components/Grid/sorting/controllers/useColumnSortingController.js.map +1 -0
  173. package/dist/components/Grid/translations.js +81 -1
  174. package/dist/components/Grid/translations.js.map +1 -0
  175. package/dist/components/Grid/validation/controllers/useRecordValidationController.js +25 -1
  176. package/dist/components/Grid/validation/controllers/useRecordValidationController.js.map +1 -0
  177. package/dist/components/Grid/validation/model/ColumnValidation.js +84 -1
  178. package/dist/components/Grid/validation/model/ColumnValidation.js.map +1 -0
  179. package/dist/components/Lookup/Lookup.js +201 -1
  180. package/dist/components/Lookup/Lookup.js.map +1 -0
  181. package/dist/components/Lookup/components/RecordCreator.js +37 -1
  182. package/dist/components/Lookup/components/RecordCreator.js.map +1 -0
  183. package/dist/components/Lookup/components/TargetSelector.js +19 -1
  184. package/dist/components/Lookup/components/TargetSelector.js.map +1 -0
  185. package/dist/components/Lookup/hooks/useFetchXml.js +27 -1
  186. package/dist/components/Lookup/hooks/useFetchXml.js.map +1 -0
  187. package/dist/components/Lookup/hooks/useLoadedEntities.js +20 -1
  188. package/dist/components/Lookup/hooks/useLoadedEntities.js.map +1 -0
  189. package/dist/components/Lookup/hooks/useLookup.js +111 -1
  190. package/dist/components/Lookup/hooks/useLookup.js.map +1 -0
  191. package/dist/components/Lookup/index.js +3 -1
  192. package/dist/components/Lookup/index.js.map +1 -0
  193. package/dist/components/Lookup/styles.js +98 -1
  194. package/dist/components/Lookup/styles.js.map +1 -0
  195. package/dist/components/Lookup/translations.js +33 -1
  196. package/dist/components/Lookup/translations.js.map +1 -0
  197. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js +74 -1
  198. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js.map +1 -0
  199. package/dist/components/MultiSelectOptionSet/index.js +2 -1
  200. package/dist/components/MultiSelectOptionSet/index.js.map +1 -0
  201. package/dist/components/OptionSet/OptionSet.js +61 -1
  202. package/dist/components/OptionSet/OptionSet.js.map +1 -0
  203. package/dist/components/OptionSet/index.js +2 -1
  204. package/dist/components/OptionSet/index.js.map +1 -0
  205. package/dist/components/TextField/TextField.js +113 -1
  206. package/dist/components/TextField/TextField.js.map +1 -0
  207. package/dist/components/TextField/index.js +2 -1
  208. package/dist/components/TextField/index.js.map +1 -0
  209. package/dist/components/TwoOptions/TwoOptions.js +36 -1
  210. package/dist/components/TwoOptions/TwoOptions.js.map +1 -0
  211. package/dist/components/TwoOptions/index.js +2 -1
  212. package/dist/components/TwoOptions/index.js.map +1 -0
  213. package/dist/constants.js +35 -1
  214. package/dist/constants.js.map +1 -0
  215. package/dist/hooks/index.js +7 -1
  216. package/dist/hooks/index.js.map +1 -0
  217. package/dist/hooks/useControl.js +95 -1
  218. package/dist/hooks/useControl.js.map +1 -0
  219. package/dist/hooks/useControlSizing.js +15 -1
  220. package/dist/hooks/useControlSizing.js.map +1 -0
  221. package/dist/hooks/useControlTheme.js +9 -1
  222. package/dist/hooks/useControlTheme.js.map +1 -0
  223. package/dist/hooks/useFocusIn.js +33 -1
  224. package/dist/hooks/useFocusIn.js.map +1 -0
  225. package/dist/hooks/useInputBasedControl.js +38 -1
  226. package/dist/hooks/useInputBasedControl.js.map +1 -0
  227. package/dist/hooks/useMouseOver.js +23 -1
  228. package/dist/hooks/useMouseOver.js.map +1 -0
  229. package/dist/index.d.ts +11 -1
  230. package/dist/index.js +19 -1
  231. package/dist/index.js.map +1 -0
  232. package/dist/interfaces/index.js +1 -0
  233. package/dist/interfaces/index.js.map +1 -0
  234. package/dist/utils/Numeral.js +64 -1
  235. package/dist/utils/Numeral.js.map +1 -0
  236. package/dist/utils/Theme.js +72 -1
  237. package/dist/utils/Theme.js.map +1 -0
  238. package/dist/utils/index.js +3 -1
  239. package/dist/utils/index.js.map +1 -0
  240. package/package.json +4 -2
  241. package/dist/Grid-574c3822.js +0 -1
  242. package/dist/components/DateTime/interfaces.js +0 -1
  243. package/dist/components/Decimal/interfaces.js +0 -1
  244. package/dist/components/Duration/interfaces.js +0 -1
  245. package/dist/components/Grid/core/interfaces/IGridColumn.js +0 -1
  246. package/dist/components/Grid/core/interfaces/IGridContext.js +0 -1
  247. package/dist/components/Grid/interfaces.js +0 -1
  248. package/dist/components/Lookup/interfaces.js +0 -1
  249. package/dist/components/MultiSelectOptionSet/interfaces.js +0 -1
  250. package/dist/components/OptionSet/interfaces.js +0 -1
  251. package/dist/components/TextField/interfaces.js +0 -1
  252. package/dist/components/TwoOptions/interfaces.js +0 -1
  253. package/dist/interfaces/context.js +0 -1
  254. package/dist/interfaces/parameters.js +0 -1
  255. package/dist/interfaces/property.js +0 -1
  256. package/dist/interfaces/theme.js +0 -1
@@ -1 +1,201 @@
1
- import{__awaiter as e}from"tslib";import{jsxs as t,Fragment as o,jsx as r}from"react/jsx-runtime";import{useLookup as i}from"./hooks/useLookup.js";import{useRef as n,useState as s,useEffect as a}from"react";import{ThemeProvider as l}from"@fluentui/react";import{TagPicker as u}from"@talxis/react-components";import{TargetSelector as d}from"./components/TargetSelector.js";import{useMouseOver as c}from"../../hooks/useMouseOver.js";import{getLookupStyles as m}from"./styles.js";import{RecordCreator as p}from"./components/RecordCreator.js";import{useFocusIn as v}from"../../hooks/useFocusIn.js";import{useControlSizing as g}from"../../hooks/useControlSizing.js";import"../../hooks/useControl.js";import"fast-deep-equal/es6";import"merge-anything";import"liquidjs";import"../../hooks/useControlTheme.js";import"../../utils/Theme.js";import"@fluentui/react-migration-v8-v9";import"./translations.js";import"./hooks/useFetchXml.js";import"@talxis/client-libraries";import"@fluentui/react/lib/Text";import"./hooks/useLoadedEntities.js";const y=y=>{var f,h,k,b;const T=y.context,j=n(null),S=n(null),C=!0===(null===(f=y.parameters.MultipleEnabled)||void 0===f?void 0:f.raw)?1/0:1,{height:x}=g(y.context.mode),[E,N,w,I,L,M,P]=i(y),D=m(P,1===C,x),F=c(j),R=v(j,100),_=n(!0),O=n(!1),[q,B]=s("---"),V=null!==(h=y.onOverrideComponentProps)&&void 0!==h?h:e=>e;a((()=>{_.current?_.current=!1:S.current.state.suggestionsVisible&&$()}),[N]),a((()=>{const e=e=>{var t;if(!T.mode.isControlDisabled&&"Backspace"===e.key){const e=null===(t=j.current)||void 0===t?void 0:t.querySelector('[class*="TALXIS__tag-picker__root"]');document.activeElement===e&&1===E.length&&(I.select(void 0),setTimeout((()=>{var e;null===(e=S.current)||void 0===e||e.focusInput()}),200))}};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}),[E]),a((()=>{var e;!0===(null===(e=y.parameters.AutoFocus)||void 0===e?void 0:e.raw)&&A()}),[]);const A=()=>{var e,t,o,r;if((null===(t=null===(e=S.current)||void 0===e?void 0:e.items)||void 0===t?void 0:t.length)===C){const e=null===(o=j.current)||void 0===o?void 0:o.querySelector(":scope>div");return null==e||e.click(),void(null==e||e.focus())}null===(r=S.current)||void 0===r||r.focusInput()},$=()=>e(void 0,void 0,void 0,(function*(){S.current.suggestionStore.updateSuggestions([]),S.current.setState({suggestionsVisible:!0,suggestionsLoading:!0});const e=yield z(S.current.input.current.value);S.current.updateSuggestionsList(e),S.current.setState({isMostRecentlyUsedVisible:!1,suggestionsVisible:!0,moreSuggestionsAvailable:!1})})),z=(t,o)=>e(void 0,void 0,void 0,(function*(){var e;const r=yield M(t),i=[];for(const t of r){if(null==o?void 0:o.find((e=>e.key===t.id)))continue;const r=yield null===(e=N.find((e=>e.entityName===t.entityType)))||void 0===e?void 0:e.metadata;i.push({key:t.id,text:t.name||w.noName(),secondaryText:null==r?void 0:r.DisplayName,"data-entity":t.entityType})}return i})),X=V({ref:S,underlined:P.effects.underlined,readOnly:T.mode.isControlDisabled,resolveDelay:200,stackItems:1===C,errorMessage:y.parameters.value.errorMessage,hideErrorMessage:!(null===(k=y.parameters.ShowErrorMessage)||void 0===k?void 0:k.raw),pickerCalloutProps:{layerProps:{eventBubblingEnabled:!0},className:D.suggestions},inputProps:{placeholder:q,onMouseEnter:()=>{T.mode.isControlDisabled||B(`${w.placeholder()} ${y.parameters.value.attributes.DisplayName}`)},onMouseLeave:()=>{B("---")}},pickerSuggestionsProps:{loadingText:w.searching(),noResultsFoundText:w.noRecordsFound(),suggestionsHeaderText:t(o,{children:[!1!==(null===(b=y.parameters.IsInlineNewEnabled)||void 0===b?void 0:b.raw)&&r(p,{labels:w,entities:N,onCreateRecord:I.create}),y.parameters.value.attributes.Targets.length>1&&r(d,{labels:w,entities:N,onEntitySelected:e=>{L(e)}})]})},transparent:1===C,onChange:e=>{I.select(null==e?void 0:e.map((e=>({entityType:e["data-entity"],id:e.key,name:e.text}))))},searchBtnProps:{key:"search",iconProps:{iconName:"Search"}},selectedItems:E.map((e=>{var t;return{key:e.id,text:e.name||w.noName(),"data-entity":e.entityType,"data-navigation-enabled":!1!==(null===(t=y.parameters.EnableNavigation)||void 0===t?void 0:t.raw),onClick:()=>{var t;!1!==(null===(t=y.parameters.EnableNavigation)||void 0===t?void 0:t.raw)&&T.navigation.openForm({entityName:e.entityType,entityId:e.id})},deleteButtonProps:F||R||C>1?{key:"delete",iconProps:{iconName:"ChromeClose",styles:{root:{fontSize:12,width:16}}},onClick:()=>{O.current=!1,I.deselect(e),setTimeout((()=>{A()}),200)}}:void 0}})),itemLimit:C,onResolveSuggestions:z});return r(l,Object.assign({applyTo:"none",theme:P,className:`talxis__lookupControl ${D.root}`,ref:j},{children:r(u,Object.assign({},X))}))};export{y as Lookup};
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import { useLookup } from './hooks/useLookup.js';
3
+ import { useRef, useState, useEffect } from 'react';
4
+ import { ThemeProvider } from '@fluentui/react';
5
+ import { TagPicker } from '@talxis/react-components';
6
+ import { TargetSelector } from './components/TargetSelector.js';
7
+ import { useMouseOver } from '../../hooks/useMouseOver.js';
8
+ import { getLookupStyles } from './styles.js';
9
+ import { RecordCreator } from './components/RecordCreator.js';
10
+ import { useFocusIn } from '../../hooks/useFocusIn.js';
11
+ import { useControlSizing } from '../../hooks/useControlSizing.js';
12
+
13
+ const Lookup = (props) => {
14
+ const context = props.context;
15
+ const ref = useRef(null);
16
+ const componentRef = useRef(null);
17
+ const itemLimit = props.parameters.MultipleEnabled?.raw === true ? Infinity : 1;
18
+ const { height } = useControlSizing(props.context.mode);
19
+ const [value, entities, labels, records, selectEntity, getSearchResults, theme] = useLookup(props);
20
+ const styles = getLookupStyles(theme, itemLimit === 1, height);
21
+ const mouseOver = useMouseOver(ref);
22
+ const isFocused = useFocusIn(ref, 100);
23
+ const firstRenderRef = useRef(true);
24
+ const shouldFocusRef = useRef(false);
25
+ const [placeholder, setPlaceholder] = useState('---');
26
+ const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);
27
+ useEffect(() => {
28
+ if (firstRenderRef.current) {
29
+ firstRenderRef.current = false;
30
+ return;
31
+ }
32
+ //@ts-ignore
33
+ if (componentRef.current.state.suggestionsVisible) {
34
+ //if the suggestions callout is open and the selected target changes, refresh the results
35
+ forceSearch();
36
+ }
37
+ }, [entities]);
38
+ useEffect(() => {
39
+ const onKeyPress = (ev) => {
40
+ if (context.mode.isControlDisabled) {
41
+ return;
42
+ }
43
+ if (ev.key === 'Backspace') {
44
+ const picker = ref.current?.querySelector('[class*="TALXIS__tag-picker__root"]');
45
+ if ((document.activeElement === picker) && value.length === 1) {
46
+ records.select(undefined);
47
+ setTimeout(() => {
48
+ componentRef.current?.focusInput();
49
+ }, 200);
50
+ }
51
+ }
52
+ };
53
+ document.addEventListener('keydown', onKeyPress);
54
+ return () => {
55
+ document.removeEventListener('keydown', onKeyPress);
56
+ };
57
+ }, [value]);
58
+ useEffect(() => {
59
+ if (props.parameters.AutoFocus?.raw === true) {
60
+ focus();
61
+ }
62
+ }, []);
63
+ const focus = () => {
64
+ if (componentRef.current?.items?.length === itemLimit) {
65
+ const el = ref.current?.querySelector(':scope>div');
66
+ el?.click();
67
+ el?.focus();
68
+ return;
69
+ }
70
+ componentRef.current?.focusInput();
71
+ };
72
+ const forceSearch = async () => {
73
+ //@ts-ignore - We need to use internal methods to show and fill the suggestions on entity change
74
+ componentRef.current.suggestionStore.updateSuggestions([]);
75
+ //@ts-ignore - ^^same as above
76
+ componentRef.current.setState({
77
+ suggestionsVisible: true,
78
+ suggestionsLoading: true,
79
+ });
80
+ //@ts-ignore - ^^same as above
81
+ const results = await onResolveSuggestions(componentRef.current.input.current.value);
82
+ //@ts-ignore - ^^same as above
83
+ componentRef.current.updateSuggestionsList(results);
84
+ //@ts-ignore - ^^same above
85
+ componentRef.current.setState({
86
+ isMostRecentlyUsedVisible: false,
87
+ suggestionsVisible: true,
88
+ moreSuggestionsAvailable: false,
89
+ });
90
+ };
91
+ const isComponentActive = () => {
92
+ return mouseOver || isFocused;
93
+ };
94
+ const onResolveSuggestions = async (filter, selectedItems) => {
95
+ //TODO: onResolveSuggestions gets called when the record gets selected resulting in unnecessary call
96
+ const results = await getSearchResults(filter);
97
+ const suggestions = [];
98
+ for (const result of results) {
99
+ if (selectedItems?.find(x => x.key === result.id)) {
100
+ continue;
101
+ }
102
+ const metadata = await entities.find(x => x.entityName === result.entityType)?.metadata;
103
+ suggestions.push({
104
+ key: result.id,
105
+ text: result.name || labels.noName(),
106
+ secondaryText: metadata?.DisplayName,
107
+ 'data-entity': result.entityType
108
+ });
109
+ }
110
+ return suggestions;
111
+ };
112
+ const componentProps = onOverrideComponentProps({
113
+ ref: componentRef,
114
+ underlined: theme.effects.underlined,
115
+ readOnly: context.mode.isControlDisabled,
116
+ resolveDelay: 200,
117
+ stackItems: itemLimit === 1,
118
+ errorMessage: props.parameters.value.errorMessage,
119
+ hideErrorMessage: !props.parameters.ShowErrorMessage?.raw,
120
+ pickerCalloutProps: {
121
+ layerProps: {
122
+ eventBubblingEnabled: true
123
+ },
124
+ className: styles.suggestions
125
+ },
126
+ inputProps: {
127
+ placeholder: placeholder,
128
+ onMouseEnter: () => {
129
+ if (context.mode.isControlDisabled) {
130
+ return;
131
+ }
132
+ setPlaceholder(`${labels.placeholder()} ${props.parameters.value.attributes.DisplayName}`);
133
+ },
134
+ onMouseLeave: () => {
135
+ setPlaceholder("---");
136
+ }
137
+ },
138
+ pickerSuggestionsProps: {
139
+ loadingText: labels.searching(),
140
+ noResultsFoundText: labels.noRecordsFound(),
141
+ // @ts-ignore
142
+ suggestionsHeaderText: (jsxs(Fragment, { children: [props.parameters.IsInlineNewEnabled?.raw !== false && (jsx(RecordCreator, { labels: labels, entities: entities, onCreateRecord: records.create })), props.parameters.value.attributes.Targets.length > 1 && (jsx(TargetSelector, { labels: labels, entities: entities, onEntitySelected: (entityName) => {
143
+ selectEntity(entityName);
144
+ } }))] }))
145
+ },
146
+ transparent: itemLimit === 1,
147
+ onChange: (items) => {
148
+ records.select(items?.map((item) => {
149
+ return {
150
+ entityType: item['data-entity'],
151
+ id: item.key,
152
+ name: item.text
153
+ };
154
+ }));
155
+ },
156
+ searchBtnProps: {
157
+ key: 'search',
158
+ iconProps: {
159
+ iconName: 'Search'
160
+ }
161
+ },
162
+ selectedItems: value.map((lookup) => {
163
+ return {
164
+ key: lookup.id,
165
+ text: lookup.name || labels.noName(),
166
+ 'data-entity': lookup.entityType,
167
+ 'data-navigation-enabled': props.parameters.EnableNavigation?.raw !== false,
168
+ onClick: () => {
169
+ if (props.parameters.EnableNavigation?.raw === false) {
170
+ return;
171
+ }
172
+ context.navigation.openForm({
173
+ entityName: lookup.entityType,
174
+ entityId: lookup.id
175
+ });
176
+ },
177
+ deleteButtonProps: isComponentActive() || itemLimit > 1
178
+ ? {
179
+ key: 'delete',
180
+ iconProps: {
181
+ iconName: 'Cancel',
182
+ },
183
+ onClick: () => {
184
+ shouldFocusRef.current = false;
185
+ records.deselect(lookup);
186
+ setTimeout(() => {
187
+ focus();
188
+ }, 200);
189
+ }
190
+ }
191
+ : undefined
192
+ };
193
+ }),
194
+ itemLimit: itemLimit,
195
+ onResolveSuggestions: onResolveSuggestions
196
+ });
197
+ return (jsx(ThemeProvider, { applyTo: "none", theme: theme, className: `talxis__lookupControl ${styles.root}`, ref: ref, children: jsx(TagPicker, { ...componentProps }) }));
198
+ };
199
+
200
+ export { Lookup };
201
+ //# sourceMappingURL=Lookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Lookup.js","sources":["../../../src/components/Lookup/Lookup.tsx"],"sourcesContent":["\nimport { ILookup } from \"./interfaces\";\nimport { useLookup } from \"./hooks/useLookup\";\nimport React, { useEffect, useRef, useState } from 'react';\nimport { ThemeProvider } from \"@fluentui/react\";\nimport { IItemProps, TagPicker } from \"@talxis/react-components\";\nimport { TargetSelector } from \"./components/TargetSelector\";\nimport { useMouseOver } from \"../../hooks/useMouseOver\";\nimport { getLookupStyles } from \"./styles\";\nimport { IBasePicker } from \"@fluentui/react/lib/components/pickers/BasePicker.types\";\nimport { ITag } from \"@fluentui/react/lib/components/pickers/TagPicker/TagPicker.types\";\nimport { RecordCreator } from \"./components/RecordCreator\";\nimport { useFocusIn } from \"../../hooks/useFocusIn\";\nimport { useControlSizing } from \"../../hooks/useControlSizing\";\n\nexport const Lookup = (props: ILookup) => {\n const context = props.context;\n const ref = useRef<HTMLDivElement>(null);\n const componentRef = useRef<IBasePicker<ITag>>(null);\n const itemLimit = props.parameters.MultipleEnabled?.raw === true ? Infinity : 1\n const { height } = useControlSizing(props.context.mode);\n const [value, entities, labels, records, selectEntity, getSearchResults, theme] = useLookup(props);\n const styles = getLookupStyles(theme, itemLimit === 1, height);\n const mouseOver = useMouseOver(ref);\n const isFocused = useFocusIn(ref, 100);\n const firstRenderRef = useRef(true);\n const shouldFocusRef = useRef(false);\n const [placeholder, setPlaceholder] = useState('---');\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n\n\n useEffect(() => {\n if (firstRenderRef.current) {\n firstRenderRef.current = false;\n return;\n }\n //@ts-ignore\n if (componentRef.current.state.suggestionsVisible) {\n //if the suggestions callout is open and the selected target changes, refresh the results\n forceSearch();\n }\n }, [entities])\n\n useEffect(() => {\n const onKeyPress = (ev: KeyboardEvent) => {\n if (context.mode.isControlDisabled) {\n return;\n }\n if (ev.key === 'Backspace') {\n const picker = ref.current?.querySelector('[class*=\"TALXIS__tag-picker__root\"]');\n if ((document.activeElement === picker) && value.length === 1) {\n records.select(undefined);\n setTimeout(() => {\n componentRef.current?.focusInput()\n }, 200)\n }\n }\n }\n document.addEventListener('keydown', onKeyPress)\n return () => {\n document.removeEventListener('keydown', onKeyPress);\n }\n }, [value]);\n\n useEffect(() => {\n if (props.parameters.AutoFocus?.raw === true) {\n focus();\n }\n }, []);\n\n const focus = () => {\n if(componentRef.current?.items?.length === itemLimit) {\n const el = ref.current?.querySelector(':scope>div') as HTMLDivElement;\n el?.click();\n el?.focus();\n return;\n }\n componentRef.current?.focusInput();\n }\n\n const forceSearch = async () => {\n //@ts-ignore - We need to use internal methods to show and fill the suggestions on entity change\n componentRef.current.suggestionStore.updateSuggestions([]);\n //@ts-ignore - ^^same as above\n componentRef.current.setState({\n suggestionsVisible: true,\n suggestionsLoading: true,\n });\n //@ts-ignore - ^^same as above\n const results = await onResolveSuggestions(componentRef.current.input.current.value)\n //@ts-ignore - ^^same as above\n componentRef.current.updateSuggestionsList(results);\n //@ts-ignore - ^^same above\n componentRef.current.setState({\n isMostRecentlyUsedVisible: false,\n suggestionsVisible: true,\n moreSuggestionsAvailable: false,\n });\n }\n\n const isComponentActive = () => {\n return mouseOver || isFocused;\n }\n\n const onResolveSuggestions = async (filter: string, selectedItems?: IItemProps[] | undefined): Promise<IItemProps[]> => {\n //TODO: onResolveSuggestions gets called when the record gets selected resulting in unnecessary call\n const results = await getSearchResults(filter);\n const suggestions: IItemProps[] = [];\n for (const result of results) {\n if (selectedItems?.find(x => x.key === result.id)) {\n continue;\n }\n const metadata = await entities.find(x => x.entityName === result.entityType)?.metadata;\n suggestions.push({\n key: result.id,\n text: result.name || labels.noName(),\n secondaryText: metadata?.DisplayName,\n 'data-entity': result.entityType\n })\n }\n return suggestions;\n }\n const componentProps = onOverrideComponentProps({\n ref: componentRef,\n underlined: theme.effects.underlined,\n readOnly: context.mode.isControlDisabled,\n resolveDelay: 200,\n stackItems: itemLimit === 1,\n errorMessage: props.parameters.value.errorMessage,\n hideErrorMessage: !props.parameters.ShowErrorMessage?.raw,\n pickerCalloutProps: {\n layerProps: {\n eventBubblingEnabled: true\n },\n className: styles.suggestions\n },\n\n inputProps: {\n placeholder: placeholder,\n onMouseEnter: () => {\n if (context.mode.isControlDisabled) {\n return;\n }\n setPlaceholder(`${labels.placeholder()} ${props.parameters.value.attributes.DisplayName}`);\n },\n onMouseLeave: () => {\n setPlaceholder(\"---\");\n }\n },\n pickerSuggestionsProps: {\n loadingText: labels.searching(),\n noResultsFoundText: labels.noRecordsFound(),\n // @ts-ignore\n suggestionsHeaderText: (\n <>\n {props.parameters.IsInlineNewEnabled?.raw !== false && (\n <RecordCreator labels={labels} entities={entities} onCreateRecord={records.create} />\n )}\n {props.parameters.value.attributes.Targets.length > 1 && (\n <TargetSelector\n labels={labels}\n entities={entities}\n onEntitySelected={(entityName) => {\n selectEntity(entityName);\n }}\n />\n )}\n </>\n )\n },\n transparent: itemLimit === 1,\n onChange: (items) => {\n records.select(\n items?.map((item) => {\n return {\n entityType: item['data-entity'],\n id: item.key,\n name: item.text\n };\n })\n );\n },\n searchBtnProps: {\n key: 'search',\n iconProps: {\n iconName: 'Search'\n }\n },\n selectedItems: value.map((lookup) => {\n return {\n key: lookup.id,\n text: lookup.name || labels.noName(),\n 'data-entity': lookup.entityType,\n 'data-navigation-enabled': props.parameters.EnableNavigation?.raw !== false,\n onClick: () => {\n if (props.parameters.EnableNavigation?.raw === false) {\n return;\n }\n context.navigation.openForm({\n entityName: lookup.entityType,\n entityId: lookup.id\n });\n },\n deleteButtonProps:\n isComponentActive() || itemLimit > 1\n ? {\n key: 'delete',\n iconProps: {\n iconName: 'Cancel',\n },\n onClick: () => {\n shouldFocusRef.current = false;\n records.deselect(lookup);\n setTimeout(() => {\n focus();\n }, 200);\n }\n }\n : undefined\n };\n }),\n itemLimit: itemLimit,\n onResolveSuggestions: onResolveSuggestions\n });\n\n return (\n <ThemeProvider applyTo=\"none\" theme={theme} className={`talxis__lookupControl ${styles.root}`} ref={ref}>\n <TagPicker {...componentProps} />\n </ThemeProvider>\n );\n};"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
@@ -1 +1,37 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useTheme as t,CommandBarButton as o,ContextualMenuItemType as i}from"@fluentui/react";import{getLookupStyles as r}from"../styles.js";import{useLoadedEntities as a}from"../hooks/useLoadedEntities.js";import"tslib";import"react";const s=s=>{const{labels:m,entities:n,onCreateRecord:c}=Object.assign({},s),[d]=a(n),l=t(),p=r(l,0),u=n.find((e=>e.selected));return e(o,{className:p.createRecordBtn,iconProps:{iconName:"Add"},onClick:u?()=>c(u.entityName):void 0,menuProps:u?void 0:{calloutProps:{coverTarget:!1},isBeakVisible:!0,items:d?[{key:"header",itemType:i.Header,text:"Vyberte tabulku"},...d.map((e=>({key:e.entityName,text:e.metadata.DisplayName,onClick:()=>c(e.entityName)})))]:[]},text:m.newRecord()})};export{s as RecordCreator};
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useTheme, CommandBarButton, ContextualMenuItemType } from '@fluentui/react';
3
+ import { getLookupStyles } from '../styles.js';
4
+ import { useLoadedEntities } from '../hooks/useLoadedEntities.js';
5
+
6
+ const RecordCreator = (props) => {
7
+ const { labels, entities, onCreateRecord } = { ...props };
8
+ const [loadedEntities] = useLoadedEntities(entities);
9
+ const theme = useTheme();
10
+ const styles = getLookupStyles(theme, 0);
11
+ const selectedEntity = entities.find(x => x.selected);
12
+ return (jsx(CommandBarButton, { className: styles.createRecordBtn, iconProps: {
13
+ iconName: 'Add'
14
+ }, onClick: selectedEntity ? () => onCreateRecord(selectedEntity.entityName) : undefined, menuProps: !selectedEntity ? {
15
+ calloutProps: {
16
+ coverTarget: false
17
+ },
18
+ isBeakVisible: true,
19
+ items: loadedEntities ? (() => {
20
+ const items = [{
21
+ key: 'header',
22
+ itemType: ContextualMenuItemType.Header,
23
+ text: 'Vyberte tabulku'
24
+ }];
25
+ return [...items, ...loadedEntities.map(entity => {
26
+ return {
27
+ key: entity.entityName,
28
+ text: entity.metadata.DisplayName,
29
+ onClick: () => onCreateRecord(entity.entityName)
30
+ };
31
+ })];
32
+ })() : []
33
+ } : undefined, text: labels.newRecord() }));
34
+ };
35
+
36
+ export { RecordCreator };
37
+ //# sourceMappingURL=RecordCreator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecordCreator.js","sources":["../../../../src/components/Lookup/components/RecordCreator.tsx"],"sourcesContent":["\n//@ts-nocheck - typescript\nimport { ContextualMenuItemType, IContextualMenuItem, useTheme } from \"@fluentui/react\";\nimport { CommandBarButton } from \"@fluentui/react\";\nimport { IEntity, ILookupTranslations } from \"../interfaces\";\nimport { getLookupStyles } from \"../styles\";\nimport { StringProps } from '../../../types';\nimport { useLoadedEntities } from \"../hooks/useLoadedEntities\";\nimport React from 'react';\n\ninterface IRecordCreator {\n labels: Required<StringProps<ILookupTranslations>>,\n entities: IEntity[];\n onCreateRecord: (entityName: string) => void;\n}\n\nexport const RecordCreator = (props: IRecordCreator) => {\n const {labels, entities, onCreateRecord} = {...props};\n const [loadedEntities] = useLoadedEntities(entities);\n const theme = useTheme();\n const styles = getLookupStyles(theme, 0)\n const selectedEntity = entities.find(x => x.selected);\n\n return (\n <CommandBarButton\n className={styles.createRecordBtn}\n iconProps={{\n iconName: 'Add'\n }}\n onClick={selectedEntity ? () => onCreateRecord(selectedEntity.entityName) : undefined}\n menuProps={!selectedEntity ? {\n calloutProps: {\n coverTarget: false \n },\n isBeakVisible: true,\n items: loadedEntities ? (() => {\n const items: IContextualMenuItem[] = [{\n key: 'header',\n itemType: ContextualMenuItemType.Header,\n text: 'Vyberte tabulku'\n }]\n return [...items, ...loadedEntities.map(entity => {\n return {\n key: entity.entityName,\n text: entity.metadata.DisplayName,\n onClick: () => onCreateRecord(entity.entityName)\n }\n })];\n })() : []\n }: undefined} \n text={labels.newRecord()} />\n )\n}"],"names":["_jsx"],"mappings":";;;;;AAgBa,MAAA,aAAa,GAAG,CAAC,KAAqB,KAAI;AACnD,IAAA,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAC,GAAG,EAAC,GAAG,KAAK,EAAC,CAAC;IACtD,MAAM,CAAC,cAAc,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACrD,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;AACxC,IAAA,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEtD,QACIA,GAAC,CAAA,gBAAgB,EACb,EAAA,SAAS,EAAE,MAAM,CAAC,eAAe,EACjC,SAAS,EAAE;AACP,YAAA,QAAQ,EAAE,KAAK;SAClB,EACD,OAAO,EAAE,cAAc,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,EACrF,SAAS,EAAE,CAAC,cAAc,GAAG;AACzB,YAAA,YAAY,EAAE;AACV,gBAAA,WAAW,EAAE,KAAK;AACrB,aAAA;AACD,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,KAAK,EAAE,cAAc,GAAG,CAAC,MAAK;gBAC1B,MAAM,KAAK,GAA0B,CAAC;AAClC,wBAAA,GAAG,EAAE,QAAQ;wBACb,QAAQ,EAAE,sBAAsB,CAAC,MAAM;AACvC,wBAAA,IAAI,EAAE,iBAAiB;AACvB,qBAAA,CAAC,CAAA;gBACF,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,IAAG;wBAC7C,OAAO;4BACH,GAAG,EAAE,MAAM,CAAC,UAAU;AACtB,4BAAA,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW;4BACjC,OAAO,EAAE,MAAM,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC;yBACnD,CAAA;qBACJ,CAAC,CAAC,CAAC;AACX,aAAC,GAAG,GAAG,EAAE;AACZ,SAAA,GAAE,SAAS,EACZ,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,EAAI,CAAA,EACnC;AACL;;;;"}
@@ -1 +1,19 @@
1
- import{jsxs as e,jsx as t,Fragment as s}from"react/jsx-runtime";import{Text as i}from"@fluentui/react/lib/Text";import{useTheme as a,Link as r}from"@fluentui/react";import{getTargetSelectorStyles as l}from"../styles.js";import{useLoadedEntities as c}from"../hooks/useLoadedEntities.js";import"tslib";import"react";const n=n=>{const{labels:o,entities:m,onEntitySelected:d}=Object.assign({},n),[g]=c(m),p=a(),b=l(p);return e("div",Object.assign({className:b.targetSelector},{children:[e(i,Object.assign({variant:"small"},{children:[o.resultsFrom()," "]})),e("div",Object.assign({className:b.targetSelectorLinks},{children:[t(r,Object.assign({onClick:()=>d(null),className:b.targetSelectorLink,"data-selected":!m.find((e=>e.selected))},{children:"All"})),g&&t(s,{children:g.map((e=>t(r,Object.assign({className:b.targetSelectorLink,"data-selected":e.selected,onClick:()=>d(e.entityName)},{children:e.metadata.DisplayName}))))})]}))]}))};export{n as TargetSelector};
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
+ import { Text } from '@fluentui/react/lib/Text';
3
+ import { useTheme, Link } from '@fluentui/react';
4
+ import { getTargetSelectorStyles } from '../styles.js';
5
+ import { useLoadedEntities } from '../hooks/useLoadedEntities.js';
6
+
7
+ const TargetSelector = (props) => {
8
+ const { labels, entities, onEntitySelected } = { ...props };
9
+ const [loadedEntities] = useLoadedEntities(entities);
10
+ const theme = useTheme();
11
+ const styles = getTargetSelectorStyles(theme);
12
+ return (jsxs("div", { className: styles.targetSelector, children: [jsxs(Text, { variant: 'small', children: [labels.resultsFrom(), " "] }), jsxs("div", { className: styles.targetSelectorLinks, children: [jsx(Link, { onClick: () => onEntitySelected(null), className: styles.targetSelectorLink, "data-selected": !entities.find(x => x.selected), children: "All" }), loadedEntities &&
13
+ jsx(Fragment, { children: loadedEntities.map((entity) => {
14
+ return jsx(Link, { className: styles.targetSelectorLink, "data-selected": entity.selected, onClick: () => onEntitySelected(entity.entityName), children: entity.metadata.DisplayName });
15
+ }) })] })] }));
16
+ };
17
+
18
+ export { TargetSelector };
19
+ //# sourceMappingURL=TargetSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TargetSelector.js","sources":["../../../../src/components/Lookup/components/TargetSelector.tsx"],"sourcesContent":["import React from 'react';\nimport { IEntity } from '../interfaces';\nimport { Text } from '@fluentui/react/lib/Text';\nimport { Link, useTheme } from '@fluentui/react';\nimport { getTargetSelectorStyles } from '../styles';\nimport { useLoadedEntities } from '../hooks/useLoadedEntities';\n\ninterface ITargetSelector {\n labels: any;\n entities: IEntity[];\n onEntitySelected: (entityName: string | null) => void;\n}\n\n\nexport const TargetSelector = (props: ITargetSelector) => {\n const { labels, entities, onEntitySelected } = { ...props };\n const [loadedEntities] = useLoadedEntities(entities);\n const theme = useTheme();\n const styles = getTargetSelectorStyles(theme);\n\n return (\n <div className={styles.targetSelector}>\n <Text variant='small'>{labels.resultsFrom()} </Text>\n <div className={styles.targetSelectorLinks}>\n <Link\n onClick={() => onEntitySelected(null)}\n className={styles.targetSelectorLink}\n data-selected={!entities.find(x => x.selected)}>All</Link>\n {loadedEntities &&\n <>\n {loadedEntities.map((entity) => {\n return <Link\n className={styles.targetSelectorLink}\n data-selected={entity.selected}\n onClick={() => onEntitySelected(entity.entityName)}>{entity.metadata.DisplayName}</Link>\n })}\n </>\n }\n </div>\n </div>\n )\n}"],"names":["_jsxs","_jsx","_Fragment"],"mappings":";;;;;;AAca,MAAA,cAAc,GAAG,CAAC,KAAsB,KAAI;AACrD,IAAA,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC5D,MAAM,CAAC,cAAc,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACrD,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;AACzB,IAAA,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;AAE9C,IAAA,QACIA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,cAAc,EAAA,QAAA,EAAA,CACjCA,IAAC,CAAA,IAAI,EAAC,EAAA,OAAO,EAAC,OAAO,EAAE,QAAA,EAAA,CAAA,MAAM,CAAC,WAAW,EAAE,EAAA,GAAA,CAAA,EAAA,CAAS,EACpDA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,mBAAmB,EAAA,QAAA,EAAA,CACtCC,IAAC,IAAI,EAAA,EACD,OAAO,EAAE,MAAM,gBAAgB,CAAC,IAAI,CAAC,EACrC,SAAS,EAAE,MAAM,CAAC,kBAAkB,EAAA,eAAA,EACrB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAA,QAAA,EAAA,KAAA,EAAA,CAAY,EAC7D,cAAc;AACX,wBAAAA,GAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EACK,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,KAAI;AAC3B,gCAAA,OAAOD,GAAC,CAAA,IAAI,EACR,EAAA,SAAS,EAAE,MAAM,CAAC,kBAAkB,EACrB,eAAA,EAAA,MAAM,CAAC,QAAQ,EAC9B,OAAO,EAAE,MAAM,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAG,QAAA,EAAA,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAQ,CAAA;AAChG,6BAAC,CAAC,EAAA,CACH,CAEL,EAAA,CAAA,CAAA,EAAA,CACJ,EACT;AACL;;;;"}
@@ -1 +1,27 @@
1
- import{__awaiter as e}from"tslib";import{useRef as r}from"react";import{FetchXmlBuilder as t}from"@talxis/client-libraries";const i=i=>{const o=r({});return[r=>e(void 0,void 0,void 0,(function*(){return o.current[r]||(o.current[r]=i.webAPI.retrieveRecord("savedquery",r,"?$select=fetchxml")),(yield o.current[r]).fetchxml})),(r,i,o)=>e(void 0,void 0,void 0,(function*(){if(!o)return i;const e=yield r.metadata,n=t.fetch.fromXml(i);return n.entity.addFilter(new t.filter(t.FilterType.Or,[new t.condition(e.PrimaryNameAttribute,t.Operator.Like,[new t.value(`%${o}%`)])])),n.toXml()}))]};export{i as useFetchXml};
1
+ import { useRef } from 'react';
2
+ import { FetchXmlBuilder } from '@talxis/client-libraries';
3
+
4
+ const useFetchXml = (context) => {
5
+ const cachedFetchXml = useRef({});
6
+ const get = async (viewId) => {
7
+ if (!cachedFetchXml.current[viewId]) {
8
+ cachedFetchXml.current[viewId] = context.webAPI.retrieveRecord('savedquery', viewId, '?$select=fetchxml');
9
+ }
10
+ return (await cachedFetchXml.current[viewId]).fetchxml;
11
+ };
12
+ const applyLookupQuery = async (entity, fetchXml, query) => {
13
+ if (!query) {
14
+ return fetchXml;
15
+ }
16
+ const metadata = await entity.metadata;
17
+ const xmlObject = FetchXmlBuilder.fetch.fromXml(fetchXml);
18
+ xmlObject.entity.addFilter(new FetchXmlBuilder.filter(FetchXmlBuilder.FilterType.Or, [
19
+ new FetchXmlBuilder.condition(metadata.PrimaryNameAttribute, FetchXmlBuilder.Operator.Like, [new FetchXmlBuilder.value(`%${query}%`)])
20
+ ]));
21
+ return xmlObject.toXml();
22
+ };
23
+ return [get, applyLookupQuery];
24
+ };
25
+
26
+ export { useFetchXml };
27
+ //# sourceMappingURL=useFetchXml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFetchXml.js","sources":["../../../../src/components/Lookup/hooks/useFetchXml.ts"],"sourcesContent":["import { useRef } from \"react\"\nimport { IEntity } from \"../interfaces\";\nimport { FetchXmlBuilder } from \"@talxis/client-libraries\";\n\nexport const useFetchXml = (context: ComponentFramework.Context<any>): [\n (viewId: string) => Promise<string>,\n (entity: IEntity, fetchXml: string, query: string) => Promise<string>\n] => {\n const cachedFetchXml = useRef<{\n [viewId: string]: Promise<ComponentFramework.WebApi.Entity>\n }>({});\n\n const get = async (viewId: string): Promise<string> => {\n if (!cachedFetchXml.current[viewId]) {\n cachedFetchXml.current[viewId] = context.webAPI.retrieveRecord('savedquery', viewId, '?$select=fetchxml');\n }\n return (await cachedFetchXml.current[viewId]).fetchxml;\n }\n const applyLookupQuery = async (entity: IEntity, fetchXml: string, query: string): Promise<string> => {\n if (!query) {\n return fetchXml\n }\n const metadata = await entity.metadata;\n const xmlObject = FetchXmlBuilder.fetch.fromXml(fetchXml);\n xmlObject.entity.addFilter(new FetchXmlBuilder.filter(FetchXmlBuilder.FilterType.Or, [\n new FetchXmlBuilder.condition(metadata.PrimaryNameAttribute, FetchXmlBuilder.Operator.Like, [new FetchXmlBuilder.value(`%${query}%`)])\n ]))\n return xmlObject.toXml();\n }\n return [get, applyLookupQuery]\n}"],"names":[],"mappings":";;;AAIa,MAAA,WAAW,GAAG,CAAC,OAAwC,KAGhE;AACA,IAAA,MAAM,cAAc,GAAG,MAAM,CAE1B,EAAE,CAAC,CAAC;AAEP,IAAA,MAAM,GAAG,GAAG,OAAO,MAAc,KAAqB;AAClD,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACjC,YAAA,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAC7G,SAAA;QACD,OAAO,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;AAC3D,KAAC,CAAA;IACD,MAAM,gBAAgB,GAAG,OAAO,MAAe,EAAE,QAAgB,EAAE,KAAa,KAAqB;QACjG,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,OAAO,QAAQ,CAAA;AAClB,SAAA;AACD,QAAA,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QACvC,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC1D,QAAA,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,EAAE;YACjF,IAAI,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,CAAG,CAAC,CAAC,CAAC;AACzI,SAAA,CAAC,CAAC,CAAA;AACH,QAAA,OAAO,SAAS,CAAC,KAAK,EAAE,CAAC;AAC7B,KAAC,CAAA;AACD,IAAA,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;AAClC;;;;"}
@@ -1 +1,20 @@
1
- import{__awaiter as t}from"tslib";import{useState as e,useEffect as i}from"react";const o=o=>{const[d,a]=e(null);return i((()=>{t(void 0,void 0,void 0,(function*(){a(yield Promise.all(o.map((e=>t(void 0,void 0,void 0,(function*(){return{entityName:e.entityName,selected:e.selected,metadata:yield e.metadata}}))))))}))}),[o]),[d]};export{o as useLoadedEntities};
1
+ import { useState, useEffect } from 'react';
2
+
3
+ const useLoadedEntities = (entities) => {
4
+ const [loadedEntities, setLoadedEntities] = useState(null);
5
+ useEffect(() => {
6
+ (async () => {
7
+ setLoadedEntities(await Promise.all(entities.map(async (entity) => {
8
+ return {
9
+ entityName: entity.entityName,
10
+ selected: entity.selected,
11
+ metadata: await entity.metadata
12
+ };
13
+ })));
14
+ })();
15
+ }, [entities]);
16
+ return [loadedEntities];
17
+ };
18
+
19
+ export { useLoadedEntities };
20
+ //# sourceMappingURL=useLoadedEntities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLoadedEntities.js","sources":["../../../../src/components/Lookup/hooks/useLoadedEntities.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { IEntity, IMetadata } from \"../interfaces\";\n\ninterface ILoadedEntity extends Omit<IEntity, 'metadata'> {\n metadata: IMetadata\n}\n\nexport const useLoadedEntities = (entities: IEntity[]): [ILoadedEntity[] | null] => {\n const [loadedEntities, setLoadedEntities] = useState<ILoadedEntity[] | null>(null);\n useEffect(() => {\n (async () => {\n setLoadedEntities(await Promise.all(entities.map(async entity => {\n return {\n entityName: entity.entityName,\n selected: entity.selected,\n metadata: await entity.metadata\n }\n })))\n })();\n }, [entities]);\n\n return [loadedEntities]\n}"],"names":[],"mappings":";;AAOa,MAAA,iBAAiB,GAAG,CAAC,QAAmB,KAA8B;IAC/E,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IACnF,SAAS,CAAC,MAAK;QACX,CAAC,YAAW;AACR,YAAA,iBAAiB,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAM,MAAM,KAAG;gBAC5D,OAAO;oBACH,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;AACzB,oBAAA,QAAQ,EAAE,MAAM,MAAM,CAAC,QAAQ;iBAClC,CAAA;aACJ,CAAC,CAAC,CAAC,CAAA;SACP,GAAG,CAAC;AACT,KAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CAAC,cAAc,CAAC,CAAA;AAC3B;;;;"}
@@ -1 +1,111 @@
1
- import{__awaiter as e}from"tslib";import{useState as t}from"react";import{useControl as i}from"../../../hooks/useControl.js";import"../../../utils/Theme.js";import{lookupTranslations as o}from"../translations.js";import{useFetchXml as a}from"./useFetchXml.js";import"fast-deep-equal/es6";import"merge-anything";import"liquidjs";import"../../../hooks/useControlTheme.js";import"@fluentui/react";import"@fluentui/react-migration-v8-v9";import"../../../hooks/useControlSizing.js";import"@talxis/client-libraries";const n=n=>{const r=n.parameters.value.attributes.Targets,s=n.parameters.value.raw,l=n.context,{labels:m,theme:d,onNotifyOutputChanged:u}=i("Lookup",n,o),[c,f]=a(l),[p,v]=t((()=>r.map((e=>({entityName:e,selected:1===r.length,metadata:n.context.utils.getEntityMetadata(e,[])}))))),y=p.find((e=>e.selected)),h=(t,i)=>e(void 0,void 0,void 0,(function*(){const e=(yield n.parameters.value.getAllViews(t)).find((e=>e.isDefault));if(!(null==e?void 0:e.viewId))throw new Error(`Entity ${t} does not have a default view id!`);let o=null==e?void 0:e.fetchXml;return o||(o=yield c(e.viewId)),f(p.find((e=>e.entityName===t)),o,i)}));return[s,p,m,{create:t=>e(void 0,void 0,void 0,(function*(){const e=yield l.navigation.openForm({entityName:t,useQuickCreateForm:!0});e.savedEntityReference&&u({value:e.savedEntityReference})})),deselect:e=>{const t=new Map(s.map((e=>[e.id,e])));t.delete(e.id),u({value:[...t.values()]})},select:e=>{u({value:e})}},e=>{v([...p].map((t=>({entityName:t.entityName,metadata:t.metadata,selected:t.entityName===e}))))},t=>e(void 0,void 0,void 0,(function*(){if(n.onSearch)return n.onSearch(y?[null==y?void 0:y.entityName]:r,t);const e=new Map;if(y)e.set(y.entityName,h(y.entityName,t));else for(const i of r)e.set(i,h(i,t));yield Promise.all(e.values());const i=new Map;for(const[t,o]of e)i.set(t,l.webAPI.retrieveMultipleRecords(t,`?$top=25&fetchXml=${encodeURIComponent(yield o)}`));yield Promise.all(i.values());const o=[];for(const[e,t]of i)for(const i of(yield t).entities){const t=yield p.find((t=>t.entityName===e)).metadata;o.push({entityType:e,id:i[t.PrimaryIdAttribute],name:i[t.PrimaryNameAttribute]})}return o})),d]};export{n as useLookup};
1
+ import { useState } from 'react';
2
+ import { lookupTranslations } from '../translations.js';
3
+ import { useFetchXml } from './useFetchXml.js';
4
+ import { useControl } from '../../../hooks/useControl.js';
5
+
6
+ const useLookup = (props) => {
7
+ const targets = props.parameters.value.attributes.Targets;
8
+ const boundValue = props.parameters.value.raw;
9
+ const context = props.context;
10
+ const { labels, theme, onNotifyOutputChanged } = useControl('Lookup', props, lookupTranslations);
11
+ const [getFetchXml, applyLookupQuery] = useFetchXml(context);
12
+ const [entities, setEntities] = useState(() => {
13
+ return targets.map(target => {
14
+ return {
15
+ entityName: target,
16
+ selected: targets.length === 1 ? true : false,
17
+ metadata: props.context.utils.getEntityMetadata(target, []),
18
+ };
19
+ });
20
+ });
21
+ const selectedEntity = entities.find(x => x.selected);
22
+ const selectEntity = (entityName) => {
23
+ setEntities([...entities].map(entity => {
24
+ return {
25
+ entityName: entity.entityName,
26
+ metadata: entity.metadata,
27
+ selected: entity.entityName === entityName
28
+ };
29
+ }));
30
+ };
31
+ const selectRecords = (records) => {
32
+ onNotifyOutputChanged({
33
+ value: records
34
+ });
35
+ };
36
+ const getSearchFetchXml = async (entityName, query) => {
37
+ const response = (await props.parameters.value.getAllViews(entityName)).find(x => x.isDefault);
38
+ if (!response?.viewId) {
39
+ throw new Error(`Entity ${entityName} does not have a default view id!`);
40
+ }
41
+ let fetchXml = response?.fetchXml;
42
+ if (!fetchXml) {
43
+ fetchXml = await getFetchXml(response.viewId);
44
+ }
45
+ return applyLookupQuery(entities.find(x => x.entityName === entityName), fetchXml, query);
46
+ };
47
+ const getSearchResults = async (query) => {
48
+ if (props.onSearch) {
49
+ return props.onSearch(selectedEntity ? [selectedEntity?.entityName] : targets, query);
50
+ }
51
+ const fetchXmlMap = new Map();
52
+ if (selectedEntity) {
53
+ fetchXmlMap.set(selectedEntity.entityName, getSearchFetchXml(selectedEntity.entityName, query));
54
+ }
55
+ else {
56
+ for (const entity of targets) {
57
+ fetchXmlMap.set(entity, getSearchFetchXml(entity, query));
58
+ }
59
+ }
60
+ await Promise.all(fetchXmlMap.values());
61
+ const responsePromiseMap = new Map();
62
+ for (const [entityName, fetchXml] of fetchXmlMap) {
63
+ responsePromiseMap.set(entityName, context.webAPI.retrieveMultipleRecords(entityName, `?$top=25&fetchXml=${encodeURIComponent((await fetchXml))}`));
64
+ }
65
+ await Promise.all(responsePromiseMap.values());
66
+ const result = [];
67
+ for (const [entityName, response] of responsePromiseMap) {
68
+ for (const entity of (await response).entities) {
69
+ const entityMetadata = await entities.find(x => x.entityName === entityName).metadata;
70
+ result.push({
71
+ entityType: entityName,
72
+ id: entity[entityMetadata.PrimaryIdAttribute],
73
+ name: entity[entityMetadata.PrimaryNameAttribute]
74
+ });
75
+ }
76
+ }
77
+ return result;
78
+ };
79
+ const createRecord = async (entityName) => {
80
+ const result = await context.navigation.openForm({
81
+ entityName: entityName,
82
+ useQuickCreateForm: true
83
+ });
84
+ if (!result.savedEntityReference) {
85
+ return;
86
+ }
87
+ onNotifyOutputChanged({
88
+ value: result.savedEntityReference
89
+ });
90
+ };
91
+ const deselectRecord = (record) => {
92
+ const map = new Map(boundValue.map(value => [value.id, value]));
93
+ map.delete(record.id);
94
+ onNotifyOutputChanged({
95
+ value: [...map.values()]
96
+ });
97
+ };
98
+ return [
99
+ boundValue, entities, labels, {
100
+ create: createRecord,
101
+ deselect: deselectRecord,
102
+ select: selectRecords
103
+ },
104
+ selectEntity,
105
+ getSearchResults,
106
+ theme
107
+ ];
108
+ };
109
+
110
+ export { useLookup };
111
+ //# sourceMappingURL=useLookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLookup.js","sources":["../../../../src/components/Lookup/hooks/useLookup.ts"],"sourcesContent":["import { useState } from \"react\";\nimport { ITranslation, useControl } from \"../../../hooks\";\nimport { ITheme } from \"../../../interfaces/theme\";\nimport { IEntity, ILookup } from \"../interfaces\";\nimport { lookupTranslations } from \"../translations\";\nimport { useFetchXml } from \"./useFetchXml\";\n\nexport const useLookup = (props: ILookup): [\n ComponentFramework.LookupValue[],\n IEntity[],\n ITranslation<Required<ILookup>['translations']>,\n {\n create: (entityName: string) => void,\n select: (record: ComponentFramework.LookupValue[] | undefined) => void,\n deselect: (record: ComponentFramework.LookupValue) => void,\n },\n (entityName: string | null) => void,\n (query: string) => Promise<ComponentFramework.LookupValue[]>,\n ITheme\n] => {\n\n const targets = props.parameters.value.attributes.Targets;\n const boundValue = props.parameters.value.raw;\n const context = props.context;\n const {labels, theme, onNotifyOutputChanged} = useControl('Lookup', props, lookupTranslations);\n const [getFetchXml, applyLookupQuery] = useFetchXml(context);\n \n const [entities, setEntities] = useState<IEntity[]>(() => {\n return targets.map(target => {\n return {\n entityName: target,\n selected: targets.length === 1 ? true : false,\n metadata: props.context.utils.getEntityMetadata(target, []) as any,\n }\n })\n });\n\n const selectedEntity = entities.find(x => x.selected);\n\n const selectEntity = (entityName: string | null) => {\n setEntities([...entities as IEntity[]].map(entity => {\n return {\n entityName: entity.entityName,\n metadata: entity.metadata,\n selected: entity.entityName === entityName\n }\n }))\n }\n\n const selectRecords = (records: ComponentFramework.LookupValue[] | undefined) => {\n onNotifyOutputChanged({\n value: records\n })\n }\n const getSearchFetchXml = async (entityName: string, query: string): Promise<string> => {\n const response = (await props.parameters.value.getAllViews(entityName)).find(x => x.isDefault);\n if (!response?.viewId) {\n throw new Error(`Entity ${entityName} does not have a default view id!`);\n }\n let fetchXml = response?.fetchXml\n if(!fetchXml) {\n fetchXml = await getFetchXml(response.viewId)\n }\n return applyLookupQuery(entities.find(x => x.entityName === entityName)!, fetchXml, query);\n\n }\n const getSearchResults = async (query: string): Promise<ComponentFramework.LookupValue[]> => {\n if(props.onSearch) { \n return props.onSearch(selectedEntity ? [selectedEntity?.entityName] : targets, query);\n }\n const fetchXmlMap = new Map<string, Promise<string>>();\n if(selectedEntity) {\n fetchXmlMap.set(selectedEntity.entityName, getSearchFetchXml(selectedEntity.entityName, query))\n }\n else {\n for (const entity of targets) {\n fetchXmlMap.set(entity, getSearchFetchXml(entity, query))\n }\n }\n await Promise.all(fetchXmlMap.values());\n const responsePromiseMap = new Map<string, Promise<ComponentFramework.WebApi.RetrieveMultipleResponse>>()\n for (const [entityName, fetchXml] of fetchXmlMap) {\n responsePromiseMap.set(entityName, context.webAPI.retrieveMultipleRecords(entityName, `?$top=25&fetchXml=${encodeURIComponent((await fetchXml))}`))\n }\n await Promise.all(responsePromiseMap.values());\n const result: ComponentFramework.LookupValue[] = [];\n for (const [entityName, response] of responsePromiseMap) {\n for (const entity of (await response).entities) {\n const entityMetadata = await entities.find(x => x.entityName === entityName)!.metadata;\n result.push({\n entityType: entityName,\n id: entity[entityMetadata.PrimaryIdAttribute],\n name: entity[entityMetadata.PrimaryNameAttribute]\n });\n }\n }\n return result;\n }\n\n const createRecord = async (entityName: string) => {\n const result = await context.navigation.openForm({\n entityName: entityName,\n useQuickCreateForm: true\n });\n if (!result.savedEntityReference) {\n return;\n }\n onNotifyOutputChanged({\n value: result.savedEntityReference\n })\n }\n\n const deselectRecord = (record: ComponentFramework.LookupValue) => {\n const map = new Map<string, ComponentFramework.LookupValue>(boundValue.map(value => [value.id, value]));\n map.delete(record.id);\n onNotifyOutputChanged({\n value: [...map.values()]\n })\n }\n\n return [\n boundValue, entities, labels, {\n create: createRecord,\n deselect: deselectRecord,\n select: selectRecords\n },\n selectEntity,\n getSearchResults,\n theme\n ];\n};"],"names":[],"mappings":"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"}
@@ -1 +1,3 @@
1
- export{Lookup}from"./Lookup.js";export{useLookup}from"./hooks/useLookup.js";import"tslib";import"react/jsx-runtime";import"react";import"@fluentui/react";import"@talxis/react-components";import"./components/TargetSelector.js";import"@fluentui/react/lib/Text";import"./styles.js";import"./hooks/useLoadedEntities.js";import"../../hooks/useMouseOver.js";import"./components/RecordCreator.js";import"../../hooks/useFocusIn.js";import"../../hooks/useControlSizing.js";import"../../hooks/useControl.js";import"fast-deep-equal/es6";import"merge-anything";import"liquidjs";import"../../hooks/useControlTheme.js";import"../../utils/Theme.js";import"@fluentui/react-migration-v8-v9";import"./translations.js";import"./hooks/useFetchXml.js";import"@talxis/client-libraries";
1
+ export { Lookup } from './Lookup.js';
2
+ export { useLookup } from './hooks/useLookup.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}