@mikezimm/fps-core-v7 1.0.7 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/banner/FPSWebPartClass/IThisFPSWebPartClass1152.d.ts +1 -1
- package/lib/banner/FPSWebPartClass/IThisFPSWebPartClass1152.d.ts.map +1 -1
- package/lib/banner/bannerX/sendFeedback.d.ts +4 -0
- package/lib/banner/bannerX/sendFeedback.d.ts.map +1 -0
- package/lib/banner/bannerX/sendFeedback.js +20 -0
- package/lib/banner/bannerX/sendFeedback.js.map +1 -0
- package/lib/banner/features/FPSDOM/FPSDocument.d.ts +25 -0
- package/lib/banner/features/FPSDOM/FPSDocument.d.ts.map +1 -0
- package/lib/banner/features/FPSDOM/FPSDocument.js +152 -0
- package/lib/banner/features/FPSDOM/FPSDocument.js.map +1 -0
- package/lib/banner/features/FPSDOM/FPSEnviro.d.ts +5 -0
- package/lib/banner/features/FPSDOM/FPSEnviro.d.ts.map +1 -0
- package/lib/banner/features/FPSDOM/FPSEnviro.js +103 -0
- package/lib/banner/features/FPSDOM/FPSEnviro.js.map +1 -0
- package/lib/{types/fps-class/window → banner/features/FPSDOM}/IFPSEnviro.d.ts +3 -3
- package/lib/{types/fps-class/window → banner/features/FPSDOM}/IFPSEnviro.d.ts.map +1 -1
- package/lib/banner/features/FPSDOM/IFPSEnviro.js.map +1 -0
- package/lib/banner/features/FPSDOM/IFPSSection.d.ts +35 -0
- package/lib/banner/features/FPSDOM/IFPSSection.d.ts.map +1 -0
- package/lib/banner/features/FPSDOM/IFPSSection.js +5 -0
- package/lib/banner/features/FPSDOM/IFPSSection.js.map +1 -0
- package/lib/banner/features/FPSDOM/IFPSWindowProps.d.ts +40 -0
- package/lib/banner/features/FPSDOM/IFPSWindowProps.d.ts.map +1 -0
- package/lib/banner/features/FPSDOM/IFPSWindowProps.js.map +1 -0
- package/lib/banner/features/FPSDOM/Window.d.ts +14 -0
- package/lib/banner/features/FPSDOM/Window.d.ts.map +1 -0
- package/lib/banner/features/FPSDOM/Window.js +2 -0
- package/lib/banner/features/FPSDOM/Window.js.map +1 -0
- package/lib/banner/features/ImportExport/BuildExportPropsX.d.ts +16 -0
- package/lib/banner/features/ImportExport/BuildExportPropsX.d.ts.map +1 -0
- package/lib/banner/features/ImportExport/BuildExportPropsX.js +79 -0
- package/lib/banner/features/ImportExport/BuildExportPropsX.js.map +1 -0
- package/lib/banner/features/ImportExport/ExportFunctions.d.ts +34 -0
- package/lib/banner/features/ImportExport/ExportFunctions.d.ts.map +1 -0
- package/lib/banner/features/ImportExport/ExportFunctions.js +59 -0
- package/lib/banner/features/ImportExport/ExportFunctions.js.map +1 -0
- package/lib/banner/features/ImportExport/IgnoreBlockProps.d.ts +3 -0
- package/lib/banner/features/ImportExport/IgnoreBlockProps.d.ts.map +1 -0
- package/lib/banner/features/ImportExport/IgnoreBlockProps.js +14 -0
- package/lib/banner/features/ImportExport/IgnoreBlockProps.js.map +1 -0
- package/lib/components/atoms/FilterButtons/functions/onFPSFilterButtonFieldChanged.js +1 -1
- package/lib/components/atoms/FilterButtons/functions/onFPSFilterButtonFieldChanged.js.map +1 -1
- package/lib/components/atoms/Links/GulpLinks.d.ts +3 -0
- package/lib/components/atoms/Links/GulpLinks.d.ts.map +1 -0
- package/lib/components/atoms/Links/GulpLinks.js +13 -0
- package/lib/components/atoms/Links/GulpLinks.js.map +1 -0
- package/lib/components/atoms/Links/ValidateLinks.d.ts +3 -0
- package/lib/components/atoms/Links/ValidateLinks.d.ts.map +1 -0
- package/lib/components/atoms/Links/ValidateLinks.js +13 -0
- package/lib/components/atoms/Links/ValidateLinks.js.map +1 -0
- package/lib/components/atoms/Links/_LinkIsValid.d.ts +15 -0
- package/lib/components/atoms/Links/_LinkIsValid.d.ts.map +1 -0
- package/lib/components/atoms/Links/_LinkIsValid.js +75 -0
- package/lib/components/atoms/Links/_LinkIsValid.js.map +1 -0
- package/lib/components/atoms/easy-analytics/functions/buildAnalyticsSummary.d.ts +4 -0
- package/lib/components/atoms/easy-analytics/functions/buildAnalyticsSummary.d.ts.map +1 -0
- package/lib/components/atoms/easy-analytics/functions/buildAnalyticsSummary.js +84 -0
- package/lib/components/atoms/easy-analytics/functions/buildAnalyticsSummary.js.map +1 -0
- package/lib/components/atoms/easy-analytics/functions/createAnalyticsSourceProps.d.ts +6 -0
- package/lib/components/atoms/easy-analytics/functions/createAnalyticsSourceProps.d.ts.map +1 -0
- package/lib/components/atoms/easy-analytics/functions/createAnalyticsSourceProps.js +36 -0
- package/lib/components/atoms/easy-analytics/functions/createAnalyticsSourceProps.js.map +1 -0
- package/lib/components/atoms/easy-analytics/functions/getBestAnalyticsLinkAndIcon.d.ts +9 -0
- package/lib/components/atoms/easy-analytics/functions/getBestAnalyticsLinkAndIcon.d.ts.map +1 -0
- package/lib/components/atoms/easy-analytics/functions/getBestAnalyticsLinkAndIcon.js +32 -0
- package/lib/components/atoms/easy-analytics/functions/getBestAnalyticsLinkAndIcon.js.map +1 -0
- package/lib/components/atoms/easy-analytics/functions/getPageTitle.d.ts +3 -0
- package/lib/components/atoms/easy-analytics/functions/getPageTitle.d.ts.map +1 -0
- package/lib/components/atoms/easy-analytics/functions/getPageTitle.js +11 -0
- package/lib/components/atoms/easy-analytics/functions/getPageTitle.js.map +1 -0
- package/lib/components/atoms/easy-analytics/functions/summarizeArrayByKey.d.ts +63 -0
- package/lib/components/atoms/easy-analytics/functions/summarizeArrayByKey.d.ts.map +1 -0
- package/lib/components/atoms/easy-analytics/functions/summarizeArrayByKey.js +172 -0
- package/lib/components/atoms/easy-analytics/functions/summarizeArrayByKey.js.map +1 -0
- package/lib/components/atoms/easy-analytics/interfaces/EasyContents.d.ts +8 -0
- package/lib/components/atoms/easy-analytics/interfaces/EasyContents.d.ts.map +1 -0
- package/lib/components/atoms/easy-analytics/interfaces/EasyContents.js +8 -0
- package/lib/components/atoms/easy-analytics/interfaces/EasyContents.js.map +1 -0
- package/lib/components/atoms/easy-analytics/interfaces/ExtremeStorageLog.d.ts +2 -0
- package/lib/components/atoms/easy-analytics/interfaces/ExtremeStorageLog.d.ts.map +1 -0
- package/lib/components/atoms/easy-analytics/interfaces/ExtremeStorageLog.js +2 -0
- package/lib/components/atoms/easy-analytics/interfaces/ExtremeStorageLog.js.map +1 -0
- package/lib/components/atoms/{easy-pages → easy-analytics}/interfaces/IEasyAnalyticsHookProps.d.ts +1 -1
- package/lib/components/atoms/easy-analytics/interfaces/IEasyAnalyticsHookProps.d.ts.map +1 -0
- package/lib/components/atoms/easy-analytics/interfaces/IEasyAnalyticsHookProps.js.map +1 -0
- package/lib/components/atoms/easy-analytics/interfaces/IStateSourceA.d.ts +15 -0
- package/lib/components/atoms/easy-analytics/interfaces/IStateSourceA.d.ts.map +1 -0
- package/lib/components/atoms/easy-analytics/interfaces/IStateSourceA.js +2 -0
- package/lib/components/atoms/easy-analytics/interfaces/IStateSourceA.js.map +1 -0
- package/lib/components/atoms/easy-analytics/interfaces/analytics.d.ts +86 -0
- package/lib/components/atoms/easy-analytics/interfaces/analytics.d.ts.map +1 -0
- package/lib/components/atoms/easy-analytics/interfaces/analytics.js +5 -0
- package/lib/components/atoms/easy-analytics/interfaces/analytics.js.map +1 -0
- package/lib/components/atoms/easy-analytics/interfaces/constants.d.ts +8 -0
- package/lib/components/atoms/easy-analytics/interfaces/constants.d.ts.map +1 -0
- package/lib/components/atoms/easy-analytics/interfaces/constants.js +23 -0
- package/lib/components/atoms/easy-analytics/interfaces/constants.js.map +1 -0
- package/lib/components/atoms/easy-pages/interfaces/IEasyPagesHookProps.d.ts +1 -1
- package/lib/components/atoms/easy-pages/interfaces/IEasyPagesHookProps.d.ts.map +1 -1
- package/lib/components/atoms/easy-pages/interfaces/createAnalyticsSourceProps.d.ts +6 -0
- package/lib/components/atoms/easy-pages/interfaces/createAnalyticsSourceProps.d.ts.map +1 -0
- package/lib/components/atoms/easy-pages/interfaces/createAnalyticsSourceProps.js +31 -0
- package/lib/components/atoms/easy-pages/interfaces/createAnalyticsSourceProps.js.map +1 -0
- package/lib/components/molecules/AnyContent/IAnyContent.d.ts +2 -2
- package/lib/components/molecules/AnyContent/IAnyContent.d.ts.map +1 -1
- package/lib/components/molecules/ModernPages/Interfaces/IModernPage.d.ts +25 -0
- package/lib/components/molecules/ModernPages/Interfaces/IModernPage.d.ts.map +1 -0
- package/lib/components/molecules/ModernPages/Interfaces/IModernPage.js +13 -0
- package/lib/components/molecules/ModernPages/Interfaces/IModernPage.js.map +1 -0
- package/lib/components/molecules/ModernPages/Interfaces/IModernPagesProps.d.ts +31 -0
- package/lib/components/molecules/ModernPages/Interfaces/IModernPagesProps.d.ts.map +1 -0
- package/lib/components/molecules/ModernPages/Interfaces/IModernPagesProps.js +4 -0
- package/lib/components/molecules/ModernPages/Interfaces/IModernPagesProps.js.map +1 -0
- package/lib/components/molecules/ModernPages/Interfaces/ISingleModernPageProps.d.ts +23 -0
- package/lib/components/molecules/ModernPages/Interfaces/ISingleModernPageProps.d.ts.map +1 -0
- package/lib/components/molecules/ModernPages/Interfaces/ISingleModernPageProps.js +2 -0
- package/lib/components/molecules/ModernPages/Interfaces/ISingleModernPageProps.js.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addDeepPropsToSearch.d.ts +3 -0
- package/lib/components/molecules/SearchPage/functions/addDeepPropsToSearch.d.ts.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addDeepPropsToSearch.js +9 -0
- package/lib/components/molecules/SearchPage/functions/addDeepPropsToSearch.js.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addItemIsA.d.ts +4 -0
- package/lib/components/molecules/SearchPage/functions/addItemIsA.d.ts.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addItemIsA.js +22 -0
- package/lib/components/molecules/SearchPage/functions/addItemIsA.js.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addListIsAMeta.d.ts +4 -0
- package/lib/components/molecules/SearchPage/functions/addListIsAMeta.d.ts.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addListIsAMeta.js +73 -0
- package/lib/components/molecules/SearchPage/functions/addListIsAMeta.js.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addSearchAll.d.ts +6 -0
- package/lib/components/molecules/SearchPage/functions/addSearchAll.d.ts.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addSearchAll.js +14 -0
- package/lib/components/molecules/SearchPage/functions/addSearchAll.js.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addSearchAllV2.d.ts +6 -0
- package/lib/components/molecules/SearchPage/functions/addSearchAllV2.d.ts.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addSearchAllV2.js +14 -0
- package/lib/components/molecules/SearchPage/functions/addSearchAllV2.js.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addSearchFile.d.ts +5 -0
- package/lib/components/molecules/SearchPage/functions/addSearchFile.d.ts.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addSearchFile.js +137 -0
- package/lib/components/molecules/SearchPage/functions/addSearchFile.js.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addSearchFileV2.d.ts +7 -0
- package/lib/components/molecules/SearchPage/functions/addSearchFileV2.d.ts.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addSearchFileV2.js +182 -0
- package/lib/components/molecules/SearchPage/functions/addSearchFileV2.js.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addSearchMeta1.d.ts +39 -0
- package/lib/components/molecules/SearchPage/functions/addSearchMeta1.d.ts.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addSearchMeta1.js +513 -0
- package/lib/components/molecules/SearchPage/functions/addSearchMeta1.js.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addSearchMeta2.d.ts +10 -0
- package/lib/components/molecules/SearchPage/functions/addSearchMeta2.d.ts.map +1 -0
- package/lib/components/molecules/SearchPage/functions/addSearchMeta2.js +83 -0
- package/lib/components/molecules/SearchPage/functions/addSearchMeta2.js.map +1 -0
- package/lib/components/molecules/SearchPage/functions/getFilteredV1.d.ts +20 -0
- package/lib/components/molecules/SearchPage/functions/getFilteredV1.d.ts.map +1 -0
- package/lib/components/molecules/SearchPage/functions/getFilteredV1.js +130 -0
- package/lib/components/molecules/SearchPage/functions/getFilteredV1.js.map +1 -0
- package/lib/components/molecules/SearchPage/functions/markPopular.d.ts +19 -0
- package/lib/components/molecules/SearchPage/functions/markPopular.d.ts.map +1 -0
- package/lib/components/molecules/SearchPage/functions/markPopular.js +78 -0
- package/lib/components/molecules/SearchPage/functions/markPopular.js.map +1 -0
- package/lib/components/molecules/source-props/Lists/getVX/SysLists.d.ts +46 -0
- package/lib/components/molecules/source-props/Lists/getVX/SysLists.d.ts.map +1 -0
- package/lib/components/molecules/source-props/Lists/getVX/SysLists.js +125 -0
- package/lib/components/molecules/source-props/Lists/getVX/SysLists.js.map +1 -0
- package/lib/logic/Math/getNumber.d.ts +12 -0
- package/lib/logic/Math/getNumber.d.ts.map +1 -0
- package/lib/logic/Math/getNumber.js +24 -0
- package/lib/logic/Math/getNumber.js.map +1 -0
- package/lib/logic/Math/labels.d.ts +26 -0
- package/lib/logic/Math/labels.d.ts.map +1 -0
- package/lib/logic/Math/labels.js +52 -0
- package/lib/logic/Math/labels.js.map +1 -0
- package/lib/logic/Math/rounding.d.ts +13 -0
- package/lib/logic/Math/rounding.d.ts.map +1 -0
- package/lib/logic/Math/rounding.js +30 -0
- package/lib/logic/Math/rounding.js.map +1 -0
- package/lib/logic/Strings/getStringArrayBasic.d.ts +26 -0
- package/lib/logic/Strings/getStringArrayBasic.d.ts.map +1 -0
- package/lib/logic/Strings/getStringArrayBasic.js +45 -0
- package/lib/logic/Strings/getStringArrayBasic.js.map +1 -0
- package/lib/logic/Strings/getWordsFromString.d.ts +28 -0
- package/lib/logic/Strings/getWordsFromString.d.ts.map +1 -0
- package/lib/logic/Strings/getWordsFromString.js +88 -0
- package/lib/logic/Strings/getWordsFromString.js.map +1 -0
- package/lib/logic/Strings/urlServices.d.ts +62 -0
- package/lib/logic/Strings/urlServices.d.ts.map +1 -0
- package/lib/logic/Strings/urlServices.js +193 -0
- package/lib/logic/Strings/urlServices.js.map +1 -0
- package/lib/types/fps-class/window/Window.d.ts +2 -2
- package/lib/types/fps-class/window/Window.d.ts.map +1 -1
- package/lib/types/react/IFPSJSX_Element.d.ts.map +1 -1
- package/package.json +1 -1
- package/lib/components/atoms/easy-pages/interfaces/IEasyAnalyticsHookProps.d.ts.map +0 -1
- package/lib/components/atoms/easy-pages/interfaces/IEasyAnalyticsHookProps.js.map +0 -1
- package/lib/types/fps-class/window/IFPSEnviro.js.map +0 -1
- package/lib/types/fps-class/window/IFPSWindowProps.d.ts +0 -73
- package/lib/types/fps-class/window/IFPSWindowProps.d.ts.map +0 -1
- package/lib/types/fps-class/window/IFPSWindowProps.js.map +0 -1
- /package/lib/{types/fps-class/window → banner/features/FPSDOM}/IFPSEnviro.js +0 -0
- /package/lib/{types/fps-class/window → banner/features/FPSDOM}/IFPSWindowProps.js +0 -0
- /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('"') > -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
|