@mikezimm/fps-core-v7 1.0.7 → 1.0.9

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 (234) hide show
  1. package/lib/banner/FPSWebPartClass/IThisFPSWebPartClass1152.d.ts +1 -1
  2. package/lib/banner/FPSWebPartClass/IThisFPSWebPartClass1152.d.ts.map +1 -1
  3. package/lib/banner/bannerX/sendFeedback.d.ts +4 -0
  4. package/lib/banner/bannerX/sendFeedback.d.ts.map +1 -0
  5. package/lib/banner/bannerX/sendFeedback.js +20 -0
  6. package/lib/banner/bannerX/sendFeedback.js.map +1 -0
  7. package/lib/banner/features/FPSDOM/FPSDocument.d.ts +25 -0
  8. package/lib/banner/features/FPSDOM/FPSDocument.d.ts.map +1 -0
  9. package/lib/banner/features/FPSDOM/FPSDocument.js +152 -0
  10. package/lib/banner/features/FPSDOM/FPSDocument.js.map +1 -0
  11. package/lib/banner/features/FPSDOM/FPSEnviro.d.ts +5 -0
  12. package/lib/banner/features/FPSDOM/FPSEnviro.d.ts.map +1 -0
  13. package/lib/banner/features/FPSDOM/FPSEnviro.js +103 -0
  14. package/lib/banner/features/FPSDOM/FPSEnviro.js.map +1 -0
  15. package/lib/{types/fps-class/window → banner/features/FPSDOM}/IFPSEnviro.d.ts +3 -3
  16. package/lib/{types/fps-class/window → banner/features/FPSDOM}/IFPSEnviro.d.ts.map +1 -1
  17. package/lib/banner/features/FPSDOM/IFPSEnviro.js.map +1 -0
  18. package/lib/banner/features/FPSDOM/IFPSSection.d.ts +35 -0
  19. package/lib/banner/features/FPSDOM/IFPSSection.d.ts.map +1 -0
  20. package/lib/banner/features/FPSDOM/IFPSSection.js +5 -0
  21. package/lib/banner/features/FPSDOM/IFPSSection.js.map +1 -0
  22. package/lib/banner/features/FPSDOM/IFPSWindowProps.d.ts +40 -0
  23. package/lib/banner/features/FPSDOM/IFPSWindowProps.d.ts.map +1 -0
  24. package/lib/banner/features/FPSDOM/IFPSWindowProps.js.map +1 -0
  25. package/lib/banner/features/FPSDOM/Window.d.ts +14 -0
  26. package/lib/banner/features/FPSDOM/Window.d.ts.map +1 -0
  27. package/lib/banner/features/FPSDOM/Window.js +2 -0
  28. package/lib/banner/features/FPSDOM/Window.js.map +1 -0
  29. package/lib/banner/features/ImportExport/BuildExportPropsX.d.ts +16 -0
  30. package/lib/banner/features/ImportExport/BuildExportPropsX.d.ts.map +1 -0
  31. package/lib/banner/features/ImportExport/BuildExportPropsX.js +79 -0
  32. package/lib/banner/features/ImportExport/BuildExportPropsX.js.map +1 -0
  33. package/lib/banner/features/ImportExport/ExportFunctions.d.ts +34 -0
  34. package/lib/banner/features/ImportExport/ExportFunctions.d.ts.map +1 -0
  35. package/lib/banner/features/ImportExport/ExportFunctions.js +59 -0
  36. package/lib/banner/features/ImportExport/ExportFunctions.js.map +1 -0
  37. package/lib/banner/features/ImportExport/IgnoreBlockProps.d.ts +3 -0
  38. package/lib/banner/features/ImportExport/IgnoreBlockProps.d.ts.map +1 -0
  39. package/lib/banner/features/ImportExport/IgnoreBlockProps.js +14 -0
  40. package/lib/banner/features/ImportExport/IgnoreBlockProps.js.map +1 -0
  41. package/lib/components/atoms/FilterButtons/functions/onFPSFilterButtonFieldChanged.js +1 -1
  42. package/lib/components/atoms/FilterButtons/functions/onFPSFilterButtonFieldChanged.js.map +1 -1
  43. package/lib/components/atoms/Links/GulpLinks.d.ts +3 -0
  44. package/lib/components/atoms/Links/GulpLinks.d.ts.map +1 -0
  45. package/lib/components/atoms/Links/GulpLinks.js +13 -0
  46. package/lib/components/atoms/Links/GulpLinks.js.map +1 -0
  47. package/lib/components/atoms/Links/ValidateLinks.d.ts +3 -0
  48. package/lib/components/atoms/Links/ValidateLinks.d.ts.map +1 -0
  49. package/lib/components/atoms/Links/ValidateLinks.js +13 -0
  50. package/lib/components/atoms/Links/ValidateLinks.js.map +1 -0
  51. package/lib/components/atoms/Links/_LinkIsValid.d.ts +15 -0
  52. package/lib/components/atoms/Links/_LinkIsValid.d.ts.map +1 -0
  53. package/lib/components/atoms/Links/_LinkIsValid.js +75 -0
  54. package/lib/components/atoms/Links/_LinkIsValid.js.map +1 -0
  55. package/lib/components/atoms/easy-analytics/functions/buildAnalyticsSummary.d.ts +4 -0
  56. package/lib/components/atoms/easy-analytics/functions/buildAnalyticsSummary.d.ts.map +1 -0
  57. package/lib/components/atoms/easy-analytics/functions/buildAnalyticsSummary.js +84 -0
  58. package/lib/components/atoms/easy-analytics/functions/buildAnalyticsSummary.js.map +1 -0
  59. package/lib/components/atoms/easy-analytics/functions/createAnalyticsSourceProps.d.ts +6 -0
  60. package/lib/components/atoms/easy-analytics/functions/createAnalyticsSourceProps.d.ts.map +1 -0
  61. package/lib/components/atoms/easy-analytics/functions/createAnalyticsSourceProps.js +36 -0
  62. package/lib/components/atoms/easy-analytics/functions/createAnalyticsSourceProps.js.map +1 -0
  63. package/lib/components/atoms/easy-analytics/functions/getBestAnalyticsLinkAndIcon.d.ts +9 -0
  64. package/lib/components/atoms/easy-analytics/functions/getBestAnalyticsLinkAndIcon.d.ts.map +1 -0
  65. package/lib/components/atoms/easy-analytics/functions/getBestAnalyticsLinkAndIcon.js +32 -0
  66. package/lib/components/atoms/easy-analytics/functions/getBestAnalyticsLinkAndIcon.js.map +1 -0
  67. package/lib/components/atoms/easy-analytics/functions/getPageTitle.d.ts +3 -0
  68. package/lib/components/atoms/easy-analytics/functions/getPageTitle.d.ts.map +1 -0
  69. package/lib/components/atoms/easy-analytics/functions/getPageTitle.js +11 -0
  70. package/lib/components/atoms/easy-analytics/functions/getPageTitle.js.map +1 -0
  71. package/lib/components/atoms/easy-analytics/functions/summarizeArrayByKey.d.ts +63 -0
  72. package/lib/components/atoms/easy-analytics/functions/summarizeArrayByKey.d.ts.map +1 -0
  73. package/lib/components/atoms/easy-analytics/functions/summarizeArrayByKey.js +172 -0
  74. package/lib/components/atoms/easy-analytics/functions/summarizeArrayByKey.js.map +1 -0
  75. package/lib/components/atoms/easy-analytics/interfaces/EasyContents.d.ts +8 -0
  76. package/lib/components/atoms/easy-analytics/interfaces/EasyContents.d.ts.map +1 -0
  77. package/lib/components/atoms/easy-analytics/interfaces/EasyContents.js +8 -0
  78. package/lib/components/atoms/easy-analytics/interfaces/EasyContents.js.map +1 -0
  79. package/lib/components/atoms/easy-analytics/interfaces/ExtremeStorageLog.d.ts +2 -0
  80. package/lib/components/atoms/easy-analytics/interfaces/ExtremeStorageLog.d.ts.map +1 -0
  81. package/lib/components/atoms/easy-analytics/interfaces/ExtremeStorageLog.js +2 -0
  82. package/lib/components/atoms/easy-analytics/interfaces/ExtremeStorageLog.js.map +1 -0
  83. package/lib/components/atoms/{easy-pages → easy-analytics}/interfaces/IEasyAnalyticsHookProps.d.ts +1 -1
  84. package/lib/components/atoms/easy-analytics/interfaces/IEasyAnalyticsHookProps.d.ts.map +1 -0
  85. package/lib/components/atoms/easy-analytics/interfaces/IEasyAnalyticsHookProps.js.map +1 -0
  86. package/lib/components/atoms/easy-analytics/interfaces/IStateSourceA.d.ts +15 -0
  87. package/lib/components/atoms/easy-analytics/interfaces/IStateSourceA.d.ts.map +1 -0
  88. package/lib/components/atoms/easy-analytics/interfaces/IStateSourceA.js +2 -0
  89. package/lib/components/atoms/easy-analytics/interfaces/IStateSourceA.js.map +1 -0
  90. package/lib/components/atoms/easy-analytics/interfaces/analytics.d.ts +86 -0
  91. package/lib/components/atoms/easy-analytics/interfaces/analytics.d.ts.map +1 -0
  92. package/lib/components/atoms/easy-analytics/interfaces/analytics.js +5 -0
  93. package/lib/components/atoms/easy-analytics/interfaces/analytics.js.map +1 -0
  94. package/lib/components/atoms/easy-analytics/interfaces/constants.d.ts +8 -0
  95. package/lib/components/atoms/easy-analytics/interfaces/constants.d.ts.map +1 -0
  96. package/lib/components/atoms/easy-analytics/interfaces/constants.js +23 -0
  97. package/lib/components/atoms/easy-analytics/interfaces/constants.js.map +1 -0
  98. package/lib/components/atoms/easy-pages/interfaces/IEasyPagesHookProps.d.ts +1 -1
  99. package/lib/components/atoms/easy-pages/interfaces/IEasyPagesHookProps.d.ts.map +1 -1
  100. package/lib/components/atoms/easy-pages/interfaces/createAnalyticsSourceProps.d.ts +6 -0
  101. package/lib/components/atoms/easy-pages/interfaces/createAnalyticsSourceProps.d.ts.map +1 -0
  102. package/lib/components/atoms/easy-pages/interfaces/createAnalyticsSourceProps.js +31 -0
  103. package/lib/components/atoms/easy-pages/interfaces/createAnalyticsSourceProps.js.map +1 -0
  104. package/lib/components/molecules/AnyContent/IAnyContent.d.ts +2 -2
  105. package/lib/components/molecules/AnyContent/IAnyContent.d.ts.map +1 -1
  106. package/lib/components/molecules/ModernPages/Interfaces/IModernPage.d.ts +25 -0
  107. package/lib/components/molecules/ModernPages/Interfaces/IModernPage.d.ts.map +1 -0
  108. package/lib/components/molecules/ModernPages/Interfaces/IModernPage.js +13 -0
  109. package/lib/components/molecules/ModernPages/Interfaces/IModernPage.js.map +1 -0
  110. package/lib/components/molecules/ModernPages/Interfaces/IModernPagesProps.d.ts +31 -0
  111. package/lib/components/molecules/ModernPages/Interfaces/IModernPagesProps.d.ts.map +1 -0
  112. package/lib/components/molecules/ModernPages/Interfaces/IModernPagesProps.js +4 -0
  113. package/lib/components/molecules/ModernPages/Interfaces/IModernPagesProps.js.map +1 -0
  114. package/lib/components/molecules/ModernPages/Interfaces/ISingleModernPageProps.d.ts +23 -0
  115. package/lib/components/molecules/ModernPages/Interfaces/ISingleModernPageProps.d.ts.map +1 -0
  116. package/lib/components/molecules/ModernPages/Interfaces/ISingleModernPageProps.js +2 -0
  117. package/lib/components/molecules/ModernPages/Interfaces/ISingleModernPageProps.js.map +1 -0
  118. package/lib/components/molecules/SearchPage/functions/addDeepPropsToSearch.d.ts +3 -0
  119. package/lib/components/molecules/SearchPage/functions/addDeepPropsToSearch.d.ts.map +1 -0
  120. package/lib/components/molecules/SearchPage/functions/addDeepPropsToSearch.js +9 -0
  121. package/lib/components/molecules/SearchPage/functions/addDeepPropsToSearch.js.map +1 -0
  122. package/lib/components/molecules/SearchPage/functions/addItemIsA.d.ts +4 -0
  123. package/lib/components/molecules/SearchPage/functions/addItemIsA.d.ts.map +1 -0
  124. package/lib/components/molecules/SearchPage/functions/addItemIsA.js +22 -0
  125. package/lib/components/molecules/SearchPage/functions/addItemIsA.js.map +1 -0
  126. package/lib/components/molecules/SearchPage/functions/addListIsAMeta.d.ts +4 -0
  127. package/lib/components/molecules/SearchPage/functions/addListIsAMeta.d.ts.map +1 -0
  128. package/lib/components/molecules/SearchPage/functions/addListIsAMeta.js +73 -0
  129. package/lib/components/molecules/SearchPage/functions/addListIsAMeta.js.map +1 -0
  130. package/lib/components/molecules/SearchPage/functions/addSearchAll.d.ts +6 -0
  131. package/lib/components/molecules/SearchPage/functions/addSearchAll.d.ts.map +1 -0
  132. package/lib/components/molecules/SearchPage/functions/addSearchAll.js +14 -0
  133. package/lib/components/molecules/SearchPage/functions/addSearchAll.js.map +1 -0
  134. package/lib/components/molecules/SearchPage/functions/addSearchAllV2.d.ts +6 -0
  135. package/lib/components/molecules/SearchPage/functions/addSearchAllV2.d.ts.map +1 -0
  136. package/lib/components/molecules/SearchPage/functions/addSearchAllV2.js +14 -0
  137. package/lib/components/molecules/SearchPage/functions/addSearchAllV2.js.map +1 -0
  138. package/lib/components/molecules/SearchPage/functions/addSearchFile.d.ts +5 -0
  139. package/lib/components/molecules/SearchPage/functions/addSearchFile.d.ts.map +1 -0
  140. package/lib/components/molecules/SearchPage/functions/addSearchFile.js +137 -0
  141. package/lib/components/molecules/SearchPage/functions/addSearchFile.js.map +1 -0
  142. package/lib/components/molecules/SearchPage/functions/addSearchFileV2.d.ts +7 -0
  143. package/lib/components/molecules/SearchPage/functions/addSearchFileV2.d.ts.map +1 -0
  144. package/lib/components/molecules/SearchPage/functions/addSearchFileV2.js +182 -0
  145. package/lib/components/molecules/SearchPage/functions/addSearchFileV2.js.map +1 -0
  146. package/lib/components/molecules/SearchPage/functions/addSearchMeta1.d.ts +39 -0
  147. package/lib/components/molecules/SearchPage/functions/addSearchMeta1.d.ts.map +1 -0
  148. package/lib/components/molecules/SearchPage/functions/addSearchMeta1.js +513 -0
  149. package/lib/components/molecules/SearchPage/functions/addSearchMeta1.js.map +1 -0
  150. package/lib/components/molecules/SearchPage/functions/addSearchMeta2.d.ts +10 -0
  151. package/lib/components/molecules/SearchPage/functions/addSearchMeta2.d.ts.map +1 -0
  152. package/lib/components/molecules/SearchPage/functions/addSearchMeta2.js +83 -0
  153. package/lib/components/molecules/SearchPage/functions/addSearchMeta2.js.map +1 -0
  154. package/lib/components/molecules/SearchPage/functions/getFilteredV1.d.ts +20 -0
  155. package/lib/components/molecules/SearchPage/functions/getFilteredV1.d.ts.map +1 -0
  156. package/lib/components/molecules/SearchPage/functions/getFilteredV1.js +130 -0
  157. package/lib/components/molecules/SearchPage/functions/getFilteredV1.js.map +1 -0
  158. package/lib/components/molecules/SearchPage/functions/markPopular.d.ts +19 -0
  159. package/lib/components/molecules/SearchPage/functions/markPopular.d.ts.map +1 -0
  160. package/lib/components/molecules/SearchPage/functions/markPopular.js +78 -0
  161. package/lib/components/molecules/SearchPage/functions/markPopular.js.map +1 -0
  162. package/lib/components/molecules/SpHttp/Groups/fetchWebGroupInfoAPI.d.ts +3 -0
  163. package/lib/components/molecules/SpHttp/Groups/fetchWebGroupInfoAPI.d.ts.map +1 -0
  164. package/lib/components/molecules/SpHttp/Groups/fetchWebGroupInfoAPI.js +44 -0
  165. package/lib/components/molecules/SpHttp/Groups/fetchWebGroupInfoAPI.js.map +1 -0
  166. package/lib/components/molecules/SpHttp/Lists/fetchSourceListsAPI.d.ts +4 -0
  167. package/lib/components/molecules/SpHttp/Lists/fetchSourceListsAPI.d.ts.map +1 -0
  168. package/lib/components/molecules/SpHttp/Lists/fetchSourceListsAPI.js +55 -0
  169. package/lib/components/molecules/SpHttp/Lists/fetchSourceListsAPI.js.map +1 -0
  170. package/lib/components/molecules/SpHttp/doSpJsFetch.d.ts +39 -0
  171. package/lib/components/molecules/SpHttp/doSpJsFetch.d.ts.map +1 -0
  172. package/lib/components/molecules/SpHttp/doSpJsFetch.js +88 -0
  173. package/lib/components/molecules/SpHttp/doSpJsFetch.js.map +1 -0
  174. package/lib/components/molecules/SpHttp/interfaces/IFPSSearchAPIResultsData.d.ts +31 -0
  175. package/lib/components/molecules/SpHttp/interfaces/IFPSSearchAPIResultsData.d.ts.map +1 -0
  176. package/lib/components/molecules/SpHttp/interfaces/IFPSSearchAPIResultsData.js +6 -0
  177. package/lib/components/molecules/SpHttp/interfaces/IFPSSearchAPIResultsData.js.map +1 -0
  178. package/lib/components/molecules/process-results/CheckItemsResults.d.ts +5 -2
  179. package/lib/components/molecules/process-results/CheckItemsResults.d.ts.map +1 -1
  180. package/lib/components/molecules/process-results/CheckItemsResults.js.map +1 -1
  181. package/lib/components/molecules/process-results/createEmptyFpsItemsReturn.d.ts +4 -0
  182. package/lib/components/molecules/process-results/createEmptyFpsItemsReturn.d.ts.map +1 -0
  183. package/lib/components/molecules/process-results/createEmptyFpsItemsReturn.js +16 -0
  184. package/lib/components/molecules/process-results/createEmptyFpsItemsReturn.js.map +1 -0
  185. package/lib/components/molecules/process-results/createErrorFpsListItemsReturn.d.ts +3 -0
  186. package/lib/components/molecules/process-results/createErrorFpsListItemsReturn.d.ts.map +1 -0
  187. package/lib/components/molecules/process-results/createErrorFpsListItemsReturn.js +10 -0
  188. package/lib/components/molecules/process-results/createErrorFpsListItemsReturn.js.map +1 -0
  189. package/lib/components/molecules/source-props/Lists/getVX/SysLists.d.ts +46 -0
  190. package/lib/components/molecules/source-props/Lists/getVX/SysLists.d.ts.map +1 -0
  191. package/lib/components/molecules/source-props/Lists/getVX/SysLists.js +125 -0
  192. package/lib/components/molecules/source-props/Lists/getVX/SysLists.js.map +1 -0
  193. package/lib/components/molecules/state-source/IStateSource.d.ts.map +1 -1
  194. package/lib/components/molecules/state-source/IStateSource.js +2 -0
  195. package/lib/components/molecules/state-source/IStateSource.js.map +1 -1
  196. package/lib/logic/Math/getNumber.d.ts +12 -0
  197. package/lib/logic/Math/getNumber.d.ts.map +1 -0
  198. package/lib/logic/Math/getNumber.js +24 -0
  199. package/lib/logic/Math/getNumber.js.map +1 -0
  200. package/lib/logic/Math/labels.d.ts +26 -0
  201. package/lib/logic/Math/labels.d.ts.map +1 -0
  202. package/lib/logic/Math/labels.js +52 -0
  203. package/lib/logic/Math/labels.js.map +1 -0
  204. package/lib/logic/Math/rounding.d.ts +13 -0
  205. package/lib/logic/Math/rounding.d.ts.map +1 -0
  206. package/lib/logic/Math/rounding.js +30 -0
  207. package/lib/logic/Math/rounding.js.map +1 -0
  208. package/lib/logic/Strings/getStringArrayBasic.d.ts +26 -0
  209. package/lib/logic/Strings/getStringArrayBasic.d.ts.map +1 -0
  210. package/lib/logic/Strings/getStringArrayBasic.js +45 -0
  211. package/lib/logic/Strings/getStringArrayBasic.js.map +1 -0
  212. package/lib/logic/Strings/getWordsFromString.d.ts +28 -0
  213. package/lib/logic/Strings/getWordsFromString.d.ts.map +1 -0
  214. package/lib/logic/Strings/getWordsFromString.js +88 -0
  215. package/lib/logic/Strings/getWordsFromString.js.map +1 -0
  216. package/lib/logic/Strings/urlServices.d.ts +62 -0
  217. package/lib/logic/Strings/urlServices.d.ts.map +1 -0
  218. package/lib/logic/Strings/urlServices.js +193 -0
  219. package/lib/logic/Strings/urlServices.js.map +1 -0
  220. package/lib/types/fps-class/window/Window.d.ts +2 -2
  221. package/lib/types/fps-class/window/Window.d.ts.map +1 -1
  222. package/lib/types/fps-returns/common/IFpsErrorObject.d.ts +1 -0
  223. package/lib/types/fps-returns/common/IFpsErrorObject.d.ts.map +1 -1
  224. package/lib/types/react/IFPSJSX_Element.d.ts.map +1 -1
  225. package/package.json +1 -1
  226. package/lib/components/atoms/easy-pages/interfaces/IEasyAnalyticsHookProps.d.ts.map +0 -1
  227. package/lib/components/atoms/easy-pages/interfaces/IEasyAnalyticsHookProps.js.map +0 -1
  228. package/lib/types/fps-class/window/IFPSEnviro.js.map +0 -1
  229. package/lib/types/fps-class/window/IFPSWindowProps.d.ts +0 -73
  230. package/lib/types/fps-class/window/IFPSWindowProps.d.ts.map +0 -1
  231. package/lib/types/fps-class/window/IFPSWindowProps.js.map +0 -1
  232. /package/lib/{types/fps-class/window → banner/features/FPSDOM}/IFPSEnviro.js +0 -0
  233. /package/lib/{types/fps-class/window → banner/features/FPSDOM}/IFPSWindowProps.js +0 -0
  234. /package/lib/components/atoms/{easy-pages → easy-analytics}/interfaces/IEasyAnalyticsHookProps.js +0 -0
@@ -0,0 +1,513 @@
1
+ import { ItemHasUniquePerms } from "../../AnyContent/IsA/IFPSItemIsA";
2
+ import { addItemIsA } from "./addItemIsA";
3
+ // import { addOtherIsAMeta } from "./addOtherIsAMeta";
4
+ import { EmptyFPSItemSearch } from "../../AnyContent/IFPSItemSearch";
5
+ import { DefaultOverflowTab } from '../../../atoms/easy-pages/interfaces/epTypes';
6
+ // import { addSearchFileData } from "./addSearchFile";
7
+ export function createMinFPSItemTime(item, field) {
8
+ var _a;
9
+ // 2024-07-15: I think this being outside of the function was causing the error:
10
+ // Reason being, time stamp Today was generated on first load, likely before analytics was saved.
11
+ // In that case the Analytics time could be after 'Today' causing a negative few miliseconds
12
+ // https://github.com/mikezimm/drilldown7/issues/431
13
+ const Today = new Date();
14
+ const TodayMS = Today.getTime();
15
+ const itemFieldValue = (_a = item[field]) !== null && _a !== void 0 ? _a : '';
16
+ // 2024/09-07: Added ] as '' to pass typescript errors for now
17
+ const ms = Date.parse(itemFieldValue);
18
+ const valid = Number.isNaN(ms) ? false : true;
19
+ const Stamp = {
20
+ valid: valid,
21
+ ms: valid === true ? ms : 0,
22
+ now: Today,
23
+ // 2024/09-07: Added ] as '' to pass typescript errors for now
24
+ theTime: item[field],
25
+ local: valid === true && itemFieldValue ? itemFieldValue.toLocaleString() : '',
26
+ dayYYYYMMDD: valid === true && itemFieldValue ? `${itemFieldValue.substring(0, 10)}` : `Z`,
27
+ age: valid === true ? (TodayMS - ms) / (1000 * 60 * 60 * 24) : -79,
28
+ };
29
+ // https://github.com/mikezimm/drilldown7/issues/431
30
+ if (['Created', 'Modified', 'FirstPublishedDate'].indexOf(field) > -1 && Stamp.age && Stamp.age < 0)
31
+ Stamp.age = .00001;
32
+ return Stamp;
33
+ }
34
+ export function createMinFPSItemUser(item, field) {
35
+ const fieldValue = item[field];
36
+ const Stamp = {
37
+ valid: false,
38
+ Id: -79,
39
+ ID: -79,
40
+ Title: '',
41
+ Name: '',
42
+ Email: '',
43
+ };
44
+ if (fieldValue) {
45
+ if (fieldValue.Title) {
46
+ Stamp.Title = fieldValue.Title, Stamp.valid = true;
47
+ }
48
+ else if (fieldValue.title) {
49
+ Stamp.Title = fieldValue.title, Stamp.valid = true;
50
+ }
51
+ if (fieldValue.Email) {
52
+ Stamp.Email = fieldValue.Email, Stamp.valid = true;
53
+ }
54
+ else if (fieldValue.email) {
55
+ Stamp.Email = fieldValue.email, Stamp.valid = true;
56
+ }
57
+ if (fieldValue.Name) {
58
+ Stamp.Name = fieldValue.Name, Stamp.valid = true;
59
+ }
60
+ else if (fieldValue.name) {
61
+ Stamp.Name = fieldValue.name, Stamp.valid = true;
62
+ }
63
+ if (fieldValue.Id) {
64
+ Stamp.Id = fieldValue.Id, Stamp.valid = true;
65
+ }
66
+ else if (fieldValue.id) {
67
+ Stamp.Id = fieldValue.id, Stamp.valid = true;
68
+ }
69
+ else if (fieldValue.ID) {
70
+ Stamp.Id = fieldValue.ID, Stamp.valid = true;
71
+ }
72
+ if (Stamp.Id > -1)
73
+ Stamp.ID = Stamp.Id;
74
+ // [ `${field}/Title`, `${field}/Name`, ].map( prop => {
75
+ // const splits: string[] = prop.split('/');
76
+ // if ( item[ splits[0] ] && item[ splits[0] ][ splits[1] ] ) item[ prop ] = item[ splits[0] ][ splits[1] ];
77
+ // });
78
+ }
79
+ return Stamp;
80
+ }
81
+ /**
82
+ * 2023-07-06 - REFACTOR -
83
+ * @param item
84
+ * @returns
85
+ */
86
+ export function addDateTimeInfoSearch(item) {
87
+ if (!item.FPSItem)
88
+ item.FPSItem = {
89
+ IsA: { allIsAKeys: [] },
90
+ // 2024-09-07: Added Search and File to pass the updated IFPSItem requirements
91
+ Search: EmptyFPSItemSearch,
92
+ File: undefined,
93
+ };
94
+ if (!item.FPSItem.Search)
95
+ item.FPSItem.Search = EmptyFPSItemSearch;
96
+ const Stamp = {};
97
+ //https://stackoverflow.com/a/15191245
98
+ /**
99
+ * If item is based on search results (like subs, lists, libraries, hubs ) it will have LastItemUserModifiedDate
100
+ * Then use the LastItemUserModifiedDate and do not try to add a person's name
101
+ */
102
+ if (!item.Modified) {
103
+ if (item.LastItemModifiedDate) {
104
+ item.Modified = item.LastItemModifiedDate;
105
+ }
106
+ else if (item.LastItemUserModifiedDate) {
107
+ item.Modified = item.LastItemUserModifiedDate;
108
+ }
109
+ }
110
+ if (item.Created) {
111
+ Stamp.created = createMinFPSItemTime(item, 'Created');
112
+ item.createdAge = Stamp.created.age; // Added for AgeSlider search using getFilteredV1
113
+ }
114
+ if (item.Modified) {
115
+ Stamp.modified = createMinFPSItemTime(item, 'Modified');
116
+ item.modifiedAge = Stamp.modified.age; // Added for AgeSlider search using getFilteredV1
117
+ }
118
+ if (item.FirstPublishedDate) {
119
+ Stamp.published = createMinFPSItemTime(item, 'FirstPublishedDate');
120
+ item.publishedAge = Stamp.published.age; // Added for AgeSlider search using getFilteredV1
121
+ }
122
+ // [ 'Author/Title', 'Author/Name', 'Editor/Title', 'Editor/Name', ].map( prop => {
123
+ // const splits: string[] = prop.split('/');
124
+ // if ( item[ splits[0] ] && item[ splits[0] ][ splits[1] ] ) item[ prop ] = item[ splits[0] ][ splits[1] ];
125
+ // });
126
+ Stamp.author = createMinFPSItemUser(item, 'Author');
127
+ Stamp.editor = createMinFPSItemUser(item, 'Editor');
128
+ /**
129
+ * If item is based on search results (like subs, lists, libraries, hubs ) it will have LastItemUserModifiedDate
130
+ * Then use the LastItemUserModifiedDate and do not try to add a person's name
131
+ */
132
+ if (Stamp.author && Stamp.created)
133
+ Stamp.createdNote = `${Stamp.author.Title} - ${item.Created ? item.Created.substring(0, 10) : ''}`;
134
+ if (Stamp.editor && Stamp.modified)
135
+ Stamp.modifiedNote = `${Stamp.editor.Title} - ${item.Modified ? item.Modified.substring(0, 10) : ''}`;
136
+ item.FPSItem.Stamp = Stamp;
137
+ return item;
138
+ }
139
+ export function addSearchMeta1(items, sourceProps, search) {
140
+ //searchNest will be an array of prop key arrays... so [ 'Author/Title' ] => [ ["Author","Title"] ]
141
+ const searchNest = [];
142
+ // https://github.com/mikezimm/pivottiles7/issues/395
143
+ if (sourceProps && sourceProps.searchProps)
144
+ sourceProps.searchProps.map(prop => {
145
+ if (prop.indexOf('.') > -1 || prop.indexOf('/') > -1) {
146
+ searchNest.push(prop.trim().replace(' ', '').split(/[./]/gm));
147
+ }
148
+ else {
149
+ searchNest.push([prop.trim().replace(' ', '')]);
150
+ }
151
+ });
152
+ items.map((item) => {
153
+ let searchTitle = '';
154
+ let searchDesc = '';
155
+ const searchHref = '';
156
+ if (!item.FPSItem)
157
+ item.FPSItem = {
158
+ IsA: { allIsAKeys: [] },
159
+ File: { valid: false, fileDisplayName: '' },
160
+ Search: JSON.parse(JSON.stringify(EmptyFPSItemSearch)),
161
+ };
162
+ item = addDateTimeInfoSearch(item);
163
+ // This was only from ALVFinMan... should be removed
164
+ if (item.ReportingSections) {
165
+ item.Reporting = item.ReportingSections;
166
+ }
167
+ const meta = [];
168
+ //This is for display purposes so user can see what property the search criteria is found in
169
+ const searchText = searchNest.map((propArray, idx) => {
170
+ if (propArray.length === 1) {
171
+ item[sourceProps.searchProps[idx]] = item[propArray[0]]; //Add flattened value - item["Author/Title"]= item.Author.Title
172
+ if (Array.isArray(item[propArray[0]])) {
173
+ return `${sourceProps.searchProps[idx]}=${item[propArray[0]].join(';')}`;
174
+ }
175
+ else {
176
+ return `${sourceProps.searchProps[idx]}=${item[propArray[0]]}`;
177
+ }
178
+ }
179
+ else if (propArray.length === 2) {
180
+ //Add flatened value for people/expanded columns
181
+ let hasError = false;
182
+ try {
183
+ if (Array.isArray(item[propArray[0]])) {
184
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
185
+ item[sourceProps.searchProps[idx]] = item[propArray[0]].map((itemX) => { return itemX[propArray[1]]; }); //Add flattened value - item["Author/Title"]= [ item.Author[0].Title, item.Author[1].Title]
186
+ }
187
+ else {
188
+ if (item[propArray[0]]) {
189
+ item[sourceProps.searchProps[idx]] = item[propArray[0]][propArray[1]]; //Add flattened value - item["Author/Title"]= item.Author.Title
190
+ }
191
+ else {
192
+ // Need to add this in if the value was not found. Like the column had no value and was undefined or null... aka Acronyms Standards lookup
193
+ item[sourceProps.searchProps[idx]] = 'UNK';
194
+ hasError = true;
195
+ }
196
+ }
197
+ /**
198
+ * This section was specific to ALVFM columns
199
+ */
200
+ //Manually copy ReportingSections/Title over to Reporting/Title
201
+ // if ( sourceProps.searchProps[ idx ] === 'ReportingSections/Title' ) { item[ 'Reporting/Title'] = item[ sourceProps.searchProps[ idx ] ]; }
202
+ }
203
+ catch (e) {
204
+ // alert('Error doing search props');
205
+ const lastPart = item[propArray[0]] ? item[propArray[0]][propArray[1]] : 'UNK';
206
+ item[sourceProps.searchProps[idx]] = lastPart;
207
+ console.log('Search Error: ~ `77', item, sourceProps.searchProps, idx, item[propArray[0]], lastPart);
208
+ hasError = true;
209
+ }
210
+ if (hasError === true) {
211
+ return `${sourceProps.searchProps[idx]}=UNK`;
212
+ }
213
+ else {
214
+ //This first loop never gets triggered with multi-select lookups because the array is really item [ propArray[0] ]
215
+ if (Array.isArray(item[propArray[0]][propArray[1]])) {
216
+ let result = `${sourceProps.searchProps[idx]}=${item[propArray[0]][propArray[1]].join(';')}`;
217
+ // This is specific to ALVFM
218
+ if (sourceProps.searchProps[idx] === 'ReportingSections/Title') {
219
+ result += ` || Reporting/Title=${item[propArray[0]][propArray[1]].join(';')}`;
220
+ }
221
+ return result;
222
+ }
223
+ else if (Array.isArray(item[propArray[0]])) { //As in Controller2/Title
224
+ /**
225
+ * NEED TO ADD LOOP HERE TO CHECK FOR MULTI-SELECT Lookups like ReportingSections/Titles.
226
+ * They don't get caught in the above one because the logic does not work that way
227
+ */
228
+ if (item[sourceProps.searchProps[idx]]) {
229
+ const result = `${sourceProps.searchProps[idx]}=${item[sourceProps.searchProps[idx]].join(';')}`;
230
+ return result;
231
+ }
232
+ }
233
+ else {
234
+ let result = `${sourceProps.searchProps[idx]}=${item[propArray[0]][propArray[1]]}`;
235
+ // This is specific to ALVFM
236
+ if (sourceProps.searchProps[idx] === 'ReportingSections/Title') {
237
+ result += ` || Reporting/Title=${item[propArray[0]][propArray[1]]}`;
238
+ }
239
+ return result;
240
+ }
241
+ }
242
+ }
243
+ }).join(' || ');
244
+ //Get rid of any empty strings
245
+ searchText.split(' || ').map(text => {
246
+ if (text) {
247
+ meta.push(text);
248
+ }
249
+ });
250
+ //searchTextLC is used for actual search function - removes Column Titles from searchable text
251
+ const searchTextLC = sourceProps && sourceProps.searchProps ? sourceProps.searchProps.map(prop => {
252
+ if (Array.isArray(item[prop])) {
253
+ return `${item[prop].join(';')}`;
254
+ }
255
+ else {
256
+ return `${item[prop]}`;
257
+ }
258
+ }).join(' || ') : '';
259
+ item.FPSItem.Search.searchText = searchText;
260
+ item.FPSItem.Search.searchTextLC = searchTextLC.toLocaleLowerCase();
261
+ item.FPSItem.Search.meta = [...meta,];
262
+ item = addStandardSearchArrays(item, sourceProps, search);
263
+ // //update item's left search string arrays
264
+ // if ( search && search.left && search.left.Search ) {
265
+ // search.left.Search.map( ( keyWord: string, idx: number ) => {
266
+ // const keyWordLC = search.left.SearchLC[ idx ];
267
+ // if ( item.FPSItem.SearchLC.indexOf( keyWordLC ) > - 1 ) {
268
+ // item.FPSItem.Search.leftSearch.push( keyWord );
269
+ // item.FPSItem.Search.leftSearchLC.push( keyWordLC );
270
+ // }
271
+ // });
272
+ // }
273
+ // //update item's top search string arrays
274
+ // if ( search && search.top && search.top.Search ) {
275
+ // search.top.Search.map( ( keyWord: string, idx: number ) => {
276
+ // const keyWordLC = search.top.SearchLC[ idx ];
277
+ // if ( item.FPSItem.Search.searchTextLC.indexOf( keyWordLC ) > - 1 ) {
278
+ // item.FPSItem.Search.topSearch.push( keyWord );
279
+ // item.FPSItem.Search.topSearchLC.push( keyWordLC );
280
+ // }
281
+ // });
282
+ // }
283
+ //update item's top search string arrays
284
+ // if ( search && search.type && search.type.Search ) {
285
+ // search.type.Search.map( ( keyWord: string, idx: number ) => {
286
+ // const keyWordLC = search.type.SearchLC[ idx ];
287
+ // if ( item.FPSItem.Search.searchTextLC.indexOf( keyWordLC ) > - 1 ) {
288
+ // item.typeSearch.push( keyWord );
289
+ // item.typeSearchLC.push( keyWordLC );
290
+ // }
291
+ // });
292
+ // }
293
+ if (item.HasUniqueRoleAssignments === true) {
294
+ item = addItemIsA(item, ItemHasUniquePerms);
295
+ }
296
+ // item = addOtherIsAMeta( item );
297
+ item.FPSItem.Search.searchTitle = `${searchTitle}`;
298
+ item.FPSItem.Search.searchDesc = `${searchDesc}`;
299
+ item.FPSItem.Search.searchHref = `${searchHref}`;
300
+ // item.FPSItem.Search.meta = [...meta, ...item.FPSItem.Search.leftSearch, ...item.FPSItem.Search.topSearch ];
301
+ // Check if it's a file:
302
+ // if ( item.File || item.FileSizeDisplay || item.FileLeafRef || item.FileRef || item.File_x0020_Type || item.FirstPublishedDate ) {
303
+ // // Item is a file
304
+ // item = addItemIsA( item, ItemIsAFile );
305
+ // }
306
+ // item.FPSItem.File.fileDisplayName = ''; //Basically the file name but without extension
307
+ // //https://github.com/mikezimm/Compliance/issues/121
308
+ // if ( item.FileSizeDisplay ) item.FPSItem.File.fileSizeNumber = parseInt( item.FileSizeDisplay );
309
+ // let searchType = item.FPSItem.Search.type;
310
+ // const extIdx = item.FileRef ? item.FileRef.lastIndexOf('.') : -1;
311
+ // if ( item['File_x0020_Type'] ) { // eslint-disable-line dot-notation
312
+ // searchType = item['File_x0020_Type'] ; // eslint-disable-line dot-notation
313
+ // searchTitle = item['FileLeafRef'] ? item['FileLeafRef'] : 'No Filename to show'; // eslint-disable-line dot-notation
314
+ // item.FPSItem.File.fileDisplayName = item['FileLeafRef'].replace(`.${searchType}`,''); // eslint-disable-line dot-notation
315
+ // searchDesc = '';
316
+ // item = addItemIsA( item, ItemIsAFile );
317
+ // // https://github.com/mikezimm/fps-library-v2/issues/51 - DO NOT do this loop if it's a folder with a . in it :)
318
+ // } else if ( item.FileSystemObjectType !== 1 && extIdx > -1 ) {
319
+ // searchType = item.FileRef.substring( extIdx + 1 );
320
+ // if ( searchType === 'aspx' ) {
321
+ // searchType = 'page';
322
+ // searchTitle = item.Title;
323
+ // item.FPSItem.File.fileDisplayName = item['FileLeafRef'].replace(`.aspx`,''); // eslint-disable-line dot-notation
324
+ // searchDesc = item.Description;
325
+ // /**
326
+ // * OData__OriginalSourceUrl is a hidden column in SharePoint Online that is used to store the original URL of a document that was uploaded to SharePoint.
327
+ // * This column is used by the SharePoint Online search engine to crawl and index documents.
328
+ // * It is not recommended to modify or delete this column as it can cause issues with search results and other SharePoint Online features¹.
329
+ // I hope this helps! Let me know if you have any other questions.
330
+ // Source: Conversation with Bing, 7/6/2023
331
+ // (1) Use OData query operations in SharePoint REST requests. https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests.
332
+ // (2) OData Source for SharePoint Online - social.msdn.microsoft.com. https://social.msdn.microsoft.com/Forums/en-US/58807617-90aa-48e3-a06f-9582b683d8de/odata-source-for-sharepoint-online?forum=sharepointadmin.
333
+ // (3) Working with SharePoint Online through OData v4 Endpoint - KingswaySoft. http://www.kingswaysoft.com/blog/2021/06/29/Working-with-SharePoint-Online-through-OData-v4-Endpoint.
334
+ // (4) Using OData sources with Business Connectivity Services in SharePoint .... https://learn.microsoft.com/en-us/sharepoint/dev/general-development/using-odata-sources-with-business-connectivity-services-in-sharepoint.
335
+ // */
336
+ // if ( item.OData__OriginalSourceUrl !== null ) {
337
+ // item = addItemIsA( item, ItemIsANewsLink );
338
+ // } else if ( item.PromotedState === 1 || item.PromotedState === 2 ) {
339
+ // item = addItemIsA( item, ItemIsANewsPost );
340
+ // } else {
341
+ // item = addItemIsA( item, ItemIsAPage );
342
+ // }
343
+ // }
344
+ // // Handle folder objects
345
+ // } else if ( !searchType && item.FileSystemObjectType === 1 ) {
346
+ // const thisContentType = item[`ContentType/Name`] ? item[`ContentType/Name`] : 'Unknown';
347
+ // if ( thisContentType.indexOf( `Document Set` ) > -1 ) {
348
+ // searchType = 'docset';
349
+ // item[`File_x0020_Type`] = 'docset';
350
+ // searchTitle = item.FileLeafRef ? item.FileLeafRef : '';
351
+ // searchDesc = item.Description ? item.Description : '';
352
+ // item = addItemIsA( item, ItemIsADocSet );
353
+ // } else {
354
+ // searchType = 'folder';
355
+ // item[`File_x0020_Type`] = 'folder';
356
+ // searchTitle = item.FileLeafRef ? item.FileLeafRef : ''; //webRelativeLink
357
+ // const webLink = `${sourceProps.webUrl}${sourceProps.webRelativeLink ? sourceProps.webRelativeLink : ''}`;
358
+ // const fileRelativeLink = item.FileRef.indexOf( webLink ) === 0 ?
359
+ // item.FileRef.substring( webLink.length ) : item.FileRef;
360
+ // searchDesc = item.Description ? item.Description : fileRelativeLink.substring( 0, fileRelativeLink.lastIndexOf( item.FileLeafRef ) -1 );
361
+ // item = addItemIsA( item, ItemIsFolderContent );
362
+ // }
363
+ // } else {
364
+ // searchType = sourceProps.defType;
365
+ // searchTitle = item.Title;
366
+ // searchDesc = 'Other Type Search Desc';
367
+ // }
368
+ // // If folder, add folderTree array
369
+ // if ( item.FileSystemObjectType === 0 || item.FileSystemObjectType === 1 ) {
370
+ // const libUrl: string = `${sourceProps.webUrl}${sourceProps.webRelativeLink ? sourceProps.webRelativeLink : ''}`
371
+ // const folderString: string = item.FileRef && libUrl ? item.FileRef.replace( libUrl, '' ).replace(`/${item.FileLeafRef}`,'') : '';
372
+ // const folderTree: string[] = folderString ? folderString.indexOf('/') === 0 ? folderString.substring(1).split('/') : folderString.split('/') : [];
373
+ // item.FPSItem.File.folderString = folderString;
374
+ // item.FPSItem.File.folderTree = folderTree;
375
+ // }
376
+ // item.FPSItem.Search.searchTitle = `${searchTitle}`;
377
+ // item.FPSItem.Search.searchDesc = `${searchDesc}`;
378
+ // item.FPSItem.Search.searchHref = `${searchHref}`;
379
+ /**
380
+ * This section was specific to ALVFM columns
381
+ */
382
+ // if ( sourceProps.key === 'manual' || sourceProps.key === 'help' || sourceProps.key === 'news' ) {
383
+ // item.FPSItem.Search.searchTitle = item.Title;
384
+ // }
385
+ item.FPSItem.Search.format = sourceProps.key;
386
+ // if ( item.Tab && item.LinkColumn ) {
387
+ // console.log('DataFetch.ts ~ 493');
388
+ // }
389
+ /**
390
+ * This section was specific to ALVFM columns
391
+ */
392
+ // if ( !searchDesc && item.SearchWords ) { searchDesc = item.SearchWords; }
393
+ // if ( !searchHref && item.LinkColumn ) {
394
+ // searchHref = item.LinkColumn.Url;
395
+ // if ( !searchDesc && item.SearchWords ) { searchDesc = item.LinkColumn.Description; }
396
+ // }
397
+ // //Just add this prop to everything for ease of use.
398
+ // if ( item.ReportingForms ) {
399
+ // if ( Array.isArray( item.ReportingForms) === true ) {
400
+ // item.ReportingFormsStr = item.ReportingForms.map( ( form: any ) => { return form.Title ; } ).join('; ');
401
+ // } else { item.ReportingFormsStr = item.ReportingForms; }
402
+ // } else {
403
+ // item.ReportingForms = [];
404
+ // item.ReportingFormsStr = '';
405
+ // }
406
+ // if ( searchType === 'account' ) {
407
+ // searchTitle = '';
408
+ // searchDesc = [ searchType, item.ReportingForms.Title, item.SubCategory, item.Name1, item.Description ] .join ('<>');
409
+ // if ( item.Description && ( item.Description.indexOf('&quot;') > -1 || item.Description.indexOf('</') > -1 ) ) { item.descIsHTML = true ; }
410
+ // searchHref = '';
411
+ // }
412
+ /**
413
+ * This could be added as secondary function after adding custom search code to catch any loose ends.
414
+ */
415
+ //This if was added for the Standards Wiki Library where the title column is actually Title0
416
+ // if ( !searchTitle && item.Title0 ) { searchTitle = item.Title0 ; }
417
+ // if ( !searchTitle && item.FileLeafRef ) { searchTitle = item.FileLeafRef.substr(0, item.FileLeafRef.lastIndexOf('.') ) ; } //Added for Std #139 which does not have a Title value.
418
+ // if ( !searchDesc ) { searchDesc = '' ; }
419
+ // if ( !searchHref ) {
420
+ // if ( item.ServerRedirectedEmbedUri ) { searchHref = item.ServerRedirectedEmbedUri ; }
421
+ // else if ( item.FileRef ) { searchHref = item.FileRef ; }
422
+ // else if ( item[ 'File/ServerRelativeUrl' ] ) { searchHref = item[ 'File/ServerRelativeUrl' ] ; }
423
+ // }
424
+ // let searchTypeIdx = SearchTypes.keys.indexOf( searchType ) ;
425
+ // if ( searchTypeIdx === -1 ) {
426
+ // console.log('Invalid searchTypeIdx not found:', searchType, SearchTypes.keys );
427
+ // }
428
+ // const adjustIdx = SearchTypes.objs[ searchTypeIdx ].adjust ? SearchTypes.objs[ searchTypeIdx ].adjust : 0;
429
+ // searchTypeIdx = searchTypeIdx + adjustIdx;
430
+ // if ( searchType === 'entity' ) {
431
+ // // console.log('found Entity:', searchType, searchTypeIdx, item );
432
+ // }
433
+ // searchTypeIdx = searchTypeIdx > -1 ? searchTypeIdx : SearchTypes.keys.length -1 ;
434
+ // item.FPSItem.Search.searchTitle = `${searchTitle}`;
435
+ // item.FPSItem.Search.searchDesc = `${searchDesc}`;
436
+ // item.FPSItem.Search.searchHref = `${searchHref}`;
437
+ });
438
+ return items;
439
+ }
440
+ /**
441
+ * addStandardSearchArrays:
442
+ *
443
+ * This was derived from ALVFM DataFetch which added keyword arrays found in item search directly to the item.
444
+ * This makes searching faster when using buttons because it is just looking for a specific word match in an array... not searching entire string.
445
+ *
446
+ * @param item
447
+ * @param sourceProps - These are specific search criteria based on each specific source
448
+ * @param search - These are general search criteria used in a multi-source search page like in ALVFM
449
+ * @returns
450
+ */
451
+ export function addStandardSearchArrays(item, sourceProps, search) {
452
+ //update item's top search string arrays
453
+ if (search && search.top && search.top.Search)
454
+ item = buildItemSearchArray(item, 'top', search.top.Search, search.top.SearchLC, sourceProps.OverflowTab);
455
+ if (search && search.left && search.left.Search)
456
+ item = buildItemSearchArray(item, 'left', search.left.Search, search.left.SearchLC, sourceProps.OverflowTab);
457
+ if (search && search.type && search.type.Search)
458
+ item = buildItemSearchArray(item, 'type', search.type.Search, search.type.SearchLC, sourceProps.OverflowTab);
459
+ if (sourceProps.meta0 && sourceProps.meta0.length > 0)
460
+ item = buildItemSearchArray(item, 'meta0', sourceProps.meta0, [], sourceProps.OverflowTab);
461
+ if (sourceProps.meta1 && sourceProps.meta1.length > 0)
462
+ item = buildItemSearchArray(item, 'meta1', sourceProps.meta1, [], sourceProps.OverflowTab);
463
+ if (sourceProps.meta2 && sourceProps.meta2.length > 0)
464
+ item = buildItemSearchArray(item, 'meta2', sourceProps.meta2, [], sourceProps.OverflowTab);
465
+ if (sourceProps.meta3 && sourceProps.meta3.length > 0)
466
+ item = buildItemSearchArray(item, 'meta3', sourceProps.meta3, [], sourceProps.OverflowTab);
467
+ if (sourceProps.metaX && sourceProps.metaX.length > 0)
468
+ item = buildItemSearchArray(item, 'metaX', sourceProps.metaX, [], sourceProps.OverflowTab);
469
+ return item;
470
+ }
471
+ /**
472
+ * buildItemSearchArray
473
+ *
474
+ * This is called by addStandardSearchArrays and makes it more reuslable and scalable to add this type of data to items.
475
+ *
476
+ * @param item
477
+ * @param key
478
+ * @param keyWords
479
+ * @param keyWordsLC
480
+ * @returns
481
+ */
482
+ export function buildItemSearchArray(item, key, keyWords, keyWordsLC, OverflowTab = DefaultOverflowTab) {
483
+ if (!key)
484
+ return item;
485
+ if (!item[key])
486
+ item[key] = [];
487
+ if (!item.FPSItem.Search.meta)
488
+ item.FPSItem.Search.meta = []; // Based on testing if ( ![] ) and it does not exist yet, it will return true and then create it.
489
+ if (!item[`${key}LC`])
490
+ item[`${key}LC`] = [];
491
+ // 2023-02-16: Added for cases where you use something like meta1
492
+ if (!item[`${key}Search`])
493
+ item[`${key}Search`] = [];
494
+ if (!item[`${key}SearchLC`])
495
+ item[`${key}SearchLC`] = [];
496
+ keyWords.map((keyWord, idx) => {
497
+ // 2023-02-16: Added for when keyWordsLC === 0... then you can't get an index so just use keyWord
498
+ const keyWordLC = keyWordsLC && keyWordsLC.length > 0 && keyWordsLC.length >= idx ? keyWordsLC[idx] : keyWord.toLocaleLowerCase();
499
+ if (item.FPSItem.Search.searchTextLC.indexOf(keyWordLC) > -1) {
500
+ item[`${key}Search`].push(keyWord);
501
+ item[`${key}SearchLC`].push(keyWordLC);
502
+ // Finally add normal case keyword to meta array for use downstream - aka highlighted text with casing for readability
503
+ item.FPSItem.Search.meta.push(keyWord);
504
+ }
505
+ });
506
+ // 2023-02-16: Added for cases where you use something like meta1
507
+ if (item[`${key}Search`].length === 0) {
508
+ item[`${key}Search`].push(OverflowTab);
509
+ item[`${key}SearchLC`].push(OverflowTab.toLocaleLowerCase());
510
+ }
511
+ return item;
512
+ }
513
+ //# sourceMappingURL=addSearchMeta1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addSearchMeta1.js","sourceRoot":"","sources":["../../../../../src/components/molecules/SearchPage/functions/addSearchMeta1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { IAnySourceItem } from "../../AnyContent/IAnyContent";
2
+ import { ISearchTypes } from "../../SearchPage/Interfaces/ISearchTypes";
3
+ /**
4
+ *
5
+ * @param items
6
+ * @param SearchTypes - Pass in
7
+ * @returns
8
+ */
9
+ export declare function addSearchMeta2(items: IAnySourceItem[], SearchTypes: ISearchTypes): IAnySourceItem[];
10
+ //# sourceMappingURL=addSearchMeta2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addSearchMeta2.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/SearchPage/functions/addSearchMeta2.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAG,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAe,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAIrF;;;;;GAKG;AAEH,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,YAAY,GAAG,cAAc,EAAE,CAyEnG"}
@@ -0,0 +1,83 @@
1
+ import { mergeWordArrays } from "../../../../logic/Strings/getWordsFromString";
2
+ import { addItemIsA } from "./addItemIsA";
3
+ import { check4This } from '../../../../logic/Links/CheckSearch';
4
+ /**
5
+ *
6
+ * @param items
7
+ * @param SearchTypes - Pass in
8
+ * @returns
9
+ */
10
+ export function addSearchMeta2(items, SearchTypes) {
11
+ if (!SearchTypes)
12
+ return items;
13
+ items.map((item) => {
14
+ let { searchTitle, searchDesc, searchHref } = item.FPSItem.Search;
15
+ /**
16
+ * This could be added as secondary function after adding custom search code to catch any loose ends.
17
+ */
18
+ //This if was added for the Standards Wiki Library where the title column is actually Title0
19
+ if (!searchTitle && item[`Title0`]) {
20
+ searchTitle = item[`Title0`];
21
+ }
22
+ if (!searchTitle && item.FileLeafRef) {
23
+ searchTitle = item.FileLeafRef.substr(0, item.FileLeafRef.lastIndexOf('.'));
24
+ } //Added for Std #139 which does not have a Title value.
25
+ if (!searchDesc) {
26
+ searchDesc = '';
27
+ }
28
+ if (!searchHref) {
29
+ if (item.ServerRedirectedEmbedUri) {
30
+ searchHref = item.ServerRedirectedEmbedUri;
31
+ }
32
+ else if (item.FileRef) {
33
+ searchHref = item.FileRef;
34
+ }
35
+ else if (item['File/ServerRelativeUrl']) {
36
+ searchHref = item['File/ServerRelativeUrl'];
37
+ }
38
+ }
39
+ let searchTypeIdx = SearchTypes.keys.indexOf(item.FPSItem.Search.type);
40
+ let typeIdx = searchTypeIdx;
41
+ if (searchTypeIdx === -1) {
42
+ if (check4This('addSearchMeta2=true') === true && item.FPSItem.Search.type !== 'labels' && item.FPSItem.Search.type !== 'rigItems' && item.FPSItem.Search.type !== 'allLists')
43
+ console.log('Invalid searchTypeIdx not found:', item.FPSItem.Search.type, SearchTypes.keys);
44
+ }
45
+ // 2023-02-13: This is needed because sometimes the type is not found and this will prevent crashes
46
+ if (SearchTypes.objs[searchTypeIdx]) {
47
+ const adjustIdx = SearchTypes.objs[searchTypeIdx].adjust ? SearchTypes.objs[searchTypeIdx].adjust : 0;
48
+ /**
49
+ * 2024-09-07: changed to ( adjustIdx === undefined ? 0 : adjustIdx ) to pass lint/build error
50
+ * typeIdx = searchTypeIdx + ( typeof adjustIdx !== undefined ? adjustIdx : 0 ) ;
51
+ * typeIdx = searchTypeIdx + adjustIdx;
52
+ * error TS18048: 'adjustIdx' is possibly 'undefined'
53
+ */
54
+ typeIdx = searchTypeIdx + (adjustIdx === undefined ? 0 : adjustIdx);
55
+ if (SearchTypes.objs[searchTypeIdx].contentGroup) {
56
+ item.FPSItem.contentGroup = SearchTypes.objs[searchTypeIdx].contentGroup;
57
+ item = addItemIsA(item, `ItemIs${SearchTypes.objs[searchTypeIdx].contentGroup}Content`);
58
+ }
59
+ item.FPSItem.Search.primarySearchType = SearchTypes.objs[searchTypeIdx];
60
+ if (!item.FPSItem.Search.searchTypes)
61
+ item.FPSItem.Search.searchTypes = [];
62
+ if (!item.FPSItem.Search.allIsAKeys)
63
+ item.FPSItem.Search.allIsAKeys = [];
64
+ // Get existing item.SearchTypes that match the current one
65
+ const SearchTypeIsAlreadyAdded = item.FPSItem.Search.searchTypes.filter((sType) => { return sType.key === SearchTypes.objs[searchTypeIdx].key; });
66
+ // Add current one if it does not already exist.
67
+ if (SearchTypeIsAlreadyAdded.length === 0)
68
+ item.FPSItem.Search.searchTypes.push(SearchTypes.objs[searchTypeIdx]);
69
+ // Merge allIsAKeys from this Search Type with the Item's allIsAKeys
70
+ item.FPSItem.Search.allIsAKeys = mergeWordArrays(SearchTypes.objs[searchTypeIdx].isAKeys, item.FPSItem.Search.allIsAKeys, false, 'asis');
71
+ }
72
+ // This was added to insure all allIsKeys get pushed to meta if they have not already been pushed.
73
+ item.FPSItem.Search.allIsAKeys.map((key) => { if (item.FPSItem.Search.meta.indexOf(key) < 0)
74
+ item.FPSItem.Search.meta.push(key); });
75
+ item.FPSItem.Search.typeIdx = typeIdx > -1 ? typeIdx : SearchTypes.keys.length - 1;
76
+ item.FPSItem.Search.searchTypeIdx = searchTypeIdx;
77
+ item.FPSItem.Search.searchTitle = `${searchTitle}`;
78
+ item.FPSItem.Search.searchDesc = `${searchDesc}`;
79
+ item.FPSItem.Search.searchHref = `${searchHref}`;
80
+ });
81
+ return items;
82
+ }
83
+ //# sourceMappingURL=addSearchMeta2.js.map