@pnp/sp 2.7.0 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/LICENSE +25 -25
  2. package/appcatalog/index.d.ts +8 -8
  3. package/appcatalog/index.js +30 -30
  4. package/appcatalog/types.d.ts +81 -81
  5. package/appcatalog/types.js +177 -177
  6. package/appcatalog/web.d.ts +16 -16
  7. package/appcatalog/web.js +6 -6
  8. package/attachments/index.d.ts +2 -2
  9. package/attachments/index.js +2 -2
  10. package/attachments/item.d.ts +12 -12
  11. package/attachments/item.js +4 -4
  12. package/attachments/types.d.ts +92 -92
  13. package/attachments/types.js +240 -240
  14. package/batch.d.ts +17 -17
  15. package/batch.js +223 -223
  16. package/batch.js.map +1 -1
  17. package/clientside-pages/funcs.d.ts +22 -22
  18. package/clientside-pages/funcs.js +25 -25
  19. package/clientside-pages/index.d.ts +2 -2
  20. package/clientside-pages/index.js +2 -2
  21. package/clientside-pages/types.d.ts +496 -494
  22. package/clientside-pages/types.d.ts.map +1 -1
  23. package/clientside-pages/types.js +1496 -1485
  24. package/clientside-pages/types.js.map +1 -1
  25. package/clientside-pages/web.d.ts +41 -41
  26. package/clientside-pages/web.js +57 -57
  27. package/column-defaults/folder.d.ts +27 -27
  28. package/column-defaults/folder.js +82 -82
  29. package/column-defaults/index.d.ts +3 -3
  30. package/column-defaults/index.js +2 -2
  31. package/column-defaults/list.d.ts +19 -19
  32. package/column-defaults/list.js +198 -198
  33. package/column-defaults/types.d.ts +21 -21
  34. package/column-defaults/types.js +1 -1
  35. package/comments/clientside-page.d.ts +57 -57
  36. package/comments/clientside-page.d.ts.map +1 -1
  37. package/comments/clientside-page.js +136 -136
  38. package/comments/index.d.ts +2 -2
  39. package/comments/index.js +2 -2
  40. package/comments/item.d.ts +29 -29
  41. package/comments/item.js +47 -47
  42. package/comments/types.d.ts +107 -107
  43. package/comments/types.d.ts.map +1 -1
  44. package/comments/types.js +145 -145
  45. package/comments/types.js.map +1 -1
  46. package/content-types/index.d.ts +4 -4
  47. package/content-types/index.js +4 -4
  48. package/content-types/item.d.ts +12 -12
  49. package/content-types/item.js +4 -4
  50. package/content-types/list.d.ts +12 -12
  51. package/content-types/list.js +4 -4
  52. package/content-types/types.d.ts +107 -107
  53. package/content-types/types.js +166 -166
  54. package/content-types/web.d.ts +12 -12
  55. package/content-types/web.js +4 -4
  56. package/decorators.d.ts +11 -11
  57. package/decorators.js +28 -28
  58. package/features/index.d.ts +3 -3
  59. package/features/index.js +3 -3
  60. package/features/site.d.ts +12 -12
  61. package/features/site.js +4 -4
  62. package/features/types.d.ts +47 -47
  63. package/features/types.js +109 -109
  64. package/features/web.d.ts +12 -12
  65. package/features/web.js +4 -4
  66. package/fields/index.d.ts +4 -4
  67. package/fields/index.js +4 -4
  68. package/fields/list.d.ts +12 -12
  69. package/fields/list.js +4 -4
  70. package/fields/types.d.ts +368 -361
  71. package/fields/types.d.ts.map +1 -1
  72. package/fields/types.js +624 -609
  73. package/fields/types.js.map +1 -1
  74. package/fields/web.d.ts +17 -17
  75. package/fields/web.js +5 -5
  76. package/files/folder.d.ts +12 -12
  77. package/files/folder.js +4 -4
  78. package/files/index.d.ts +4 -4
  79. package/files/index.js +4 -4
  80. package/files/item.d.ts +12 -12
  81. package/files/item.js +4 -4
  82. package/files/types.d.ts +421 -421
  83. package/files/types.js +853 -853
  84. package/files/types.js.map +1 -1
  85. package/files/web.d.ts +35 -35
  86. package/files/web.js +15 -15
  87. package/folders/index.d.ts +4 -4
  88. package/folders/index.js +4 -4
  89. package/folders/item.d.ts +9 -9
  90. package/folders/item.js +4 -4
  91. package/folders/list.d.ts +12 -12
  92. package/folders/list.js +4 -4
  93. package/folders/types.d.ts +207 -207
  94. package/folders/types.js +433 -433
  95. package/folders/types.js.map +1 -1
  96. package/folders/web.d.ts +39 -39
  97. package/folders/web.js +15 -15
  98. package/forms/index.d.ts +2 -2
  99. package/forms/index.js +2 -2
  100. package/forms/list.d.ts +9 -9
  101. package/forms/list.js +4 -4
  102. package/forms/types.d.ts +35 -35
  103. package/forms/types.js +41 -41
  104. package/hubsites/index.d.ts +12 -12
  105. package/hubsites/index.js +15 -15
  106. package/hubsites/site.d.ts +26 -26
  107. package/hubsites/site.js +39 -39
  108. package/hubsites/types.d.ts +55 -55
  109. package/hubsites/types.js +53 -53
  110. package/hubsites/web.d.ts +21 -21
  111. package/hubsites/web.js +23 -23
  112. package/index.d.ts +14 -14
  113. package/index.js +13 -13
  114. package/items/index.d.ts +2 -2
  115. package/items/index.js +2 -2
  116. package/items/list.d.ts +9 -9
  117. package/items/list.js +4 -4
  118. package/items/types.d.ts +226 -219
  119. package/items/types.d.ts.map +1 -1
  120. package/items/types.js +549 -511
  121. package/items/types.js.map +1 -1
  122. package/lists/index.d.ts +2 -2
  123. package/lists/index.js +2 -2
  124. package/lists/types.d.ts +495 -495
  125. package/lists/types.js +522 -522
  126. package/lists/types.js.map +1 -1
  127. package/lists/web.d.ts +43 -43
  128. package/lists/web.js +27 -27
  129. package/navigation/index.d.ts +8 -8
  130. package/navigation/index.js +14 -14
  131. package/navigation/types.d.ts +154 -154
  132. package/navigation/types.js +219 -219
  133. package/navigation/web.d.ts +13 -13
  134. package/navigation/web.js +4 -4
  135. package/odata.d.ts +5 -5
  136. package/odata.js +90 -90
  137. package/odata.js.map +1 -1
  138. package/operations.d.ts +9 -9
  139. package/operations.js +63 -63
  140. package/package.json +4 -4
  141. package/presets/all.d.ts +72 -72
  142. package/presets/all.js +72 -72
  143. package/presets/core.d.ts +11 -11
  144. package/presets/core.js +11 -11
  145. package/profiles/index.d.ts +7 -7
  146. package/profiles/index.js +13 -13
  147. package/profiles/types.d.ts +357 -357
  148. package/profiles/types.js +454 -454
  149. package/readme.md +21 -21
  150. package/regional-settings/content-type.d.ts +7 -7
  151. package/regional-settings/content-type.js +4 -4
  152. package/regional-settings/field.d.ts +7 -7
  153. package/regional-settings/field.js +4 -4
  154. package/regional-settings/funcs.d.ts +2 -2
  155. package/regional-settings/funcs.js +8 -8
  156. package/regional-settings/index.d.ts +6 -6
  157. package/regional-settings/index.js +6 -6
  158. package/regional-settings/list.d.ts +7 -7
  159. package/regional-settings/list.js +4 -4
  160. package/regional-settings/types.d.ts +111 -111
  161. package/regional-settings/types.js +159 -159
  162. package/regional-settings/user-custom-actions.d.ts +7 -7
  163. package/regional-settings/user-custom-actions.js +4 -4
  164. package/regional-settings/web.d.ts +12 -12
  165. package/regional-settings/web.js +7 -7
  166. package/related-items/index.d.ts +1 -1
  167. package/related-items/index.js +1 -1
  168. package/related-items/types.d.ts +76 -76
  169. package/related-items/types.js +103 -103
  170. package/related-items/web.d.ts +12 -12
  171. package/related-items/web.js +9 -9
  172. package/rest.d.ts +44 -44
  173. package/rest.js +72 -72
  174. package/search/index.d.ts +30 -30
  175. package/search/index.js +25 -25
  176. package/search/query.d.ts +62 -62
  177. package/search/query.js +302 -302
  178. package/search/suggest.d.ts +76 -76
  179. package/search/suggest.js +66 -66
  180. package/search/types.d.ts +426 -426
  181. package/search/types.js +57 -57
  182. package/security/funcs.d.ts +43 -43
  183. package/security/funcs.js +142 -142
  184. package/security/index.d.ts +4 -4
  185. package/security/index.js +4 -4
  186. package/security/item.d.ts +7 -7
  187. package/security/item.js +14 -14
  188. package/security/list.d.ts +7 -7
  189. package/security/list.js +14 -14
  190. package/security/types.d.ts +318 -318
  191. package/security/types.js +399 -399
  192. package/security/web.d.ts +9 -9
  193. package/security/web.js +15 -15
  194. package/sharepointqueryable.d.ts +135 -135
  195. package/sharepointqueryable.js +265 -265
  196. package/sharing/file.d.ts +18 -18
  197. package/sharing/file.d.ts.map +1 -1
  198. package/sharing/file.js +116 -15
  199. package/sharing/file.js.map +1 -1
  200. package/sharing/folder.d.ts +9 -9
  201. package/sharing/folder.js +136 -136
  202. package/sharing/funcs.d.ts +62 -62
  203. package/sharing/funcs.js +239 -239
  204. package/sharing/funcs.js.map +1 -1
  205. package/sharing/index.d.ts +5 -5
  206. package/sharing/index.js +5 -5
  207. package/sharing/item.d.ts +16 -16
  208. package/sharing/item.js +15 -15
  209. package/sharing/types.d.ts +583 -583
  210. package/sharing/types.js +113 -113
  211. package/sharing/web.d.ts +19 -19
  212. package/sharing/web.js +76 -76
  213. package/site-designs/index.d.ts +8 -8
  214. package/site-designs/index.js +14 -14
  215. package/site-designs/types.d.ts +319 -319
  216. package/site-designs/types.js +203 -203
  217. package/site-designs/web.d.ts +25 -25
  218. package/site-designs/web.js +11 -11
  219. package/site-groups/index.d.ts +2 -2
  220. package/site-groups/index.js +2 -2
  221. package/site-groups/types.d.ts +89 -89
  222. package/site-groups/types.js +125 -125
  223. package/site-groups/web.d.ts +40 -40
  224. package/site-groups/web.js +30 -30
  225. package/site-scripts/index.d.ts +9 -9
  226. package/site-scripts/index.js +15 -15
  227. package/site-scripts/list.d.ts +12 -12
  228. package/site-scripts/list.js +24 -24
  229. package/site-scripts/types.d.ts +183 -183
  230. package/site-scripts/types.js +141 -141
  231. package/site-scripts/web.d.ts +13 -13
  232. package/site-scripts/web.js +5 -5
  233. package/site-users/index.d.ts +2 -2
  234. package/site-users/index.js +2 -2
  235. package/site-users/types.d.ts +138 -138
  236. package/site-users/types.js +122 -122
  237. package/site-users/web.d.ts +31 -31
  238. package/site-users/web.js +27 -27
  239. package/sites/index.d.ts +7 -7
  240. package/sites/index.js +13 -13
  241. package/sites/types.d.ts +147 -147
  242. package/sites/types.js +321 -321
  243. package/social/index.d.ts +10 -10
  244. package/social/index.js +13 -13
  245. package/social/types.d.ts +309 -309
  246. package/social/types.js +322 -322
  247. package/sphttpclient.d.ts +18 -18
  248. package/sphttpclient.js +189 -189
  249. package/splibconfig.d.ts +22 -22
  250. package/splibconfig.js +13 -13
  251. package/sputilities/index.d.ts +7 -7
  252. package/sputilities/index.js +13 -13
  253. package/sputilities/types.d.ts +130 -130
  254. package/sputilities/types.js +118 -118
  255. package/subscriptions/index.d.ts +2 -2
  256. package/subscriptions/index.js +2 -2
  257. package/subscriptions/list.d.ts +13 -13
  258. package/subscriptions/list.js +4 -4
  259. package/subscriptions/types.d.ts +54 -54
  260. package/subscriptions/types.js +111 -111
  261. package/taxonomy/index.d.ts +7 -7
  262. package/taxonomy/index.js +13 -13
  263. package/taxonomy/types.d.ts +200 -200
  264. package/taxonomy/types.js +347 -347
  265. package/taxonomy/types.js.map +1 -1
  266. package/telemetry.d.ts +12 -12
  267. package/telemetry.js +48 -48
  268. package/types.d.ts +218 -218
  269. package/types.js +79 -79
  270. package/user-custom-actions/index.d.ts +4 -4
  271. package/user-custom-actions/index.js +4 -4
  272. package/user-custom-actions/list.d.ts +12 -12
  273. package/user-custom-actions/list.js +4 -4
  274. package/user-custom-actions/site.d.ts +12 -12
  275. package/user-custom-actions/site.js +4 -4
  276. package/user-custom-actions/types.d.ts +82 -82
  277. package/user-custom-actions/types.js +93 -93
  278. package/user-custom-actions/web.d.ts +15 -15
  279. package/user-custom-actions/web.js +4 -4
  280. package/utils/escapeQueryStrValue.d.ts +1 -1
  281. package/utils/escapeQueryStrValue.js +19 -19
  282. package/utils/extractweburl.d.ts +1 -1
  283. package/utils/extractweburl.js +15 -15
  284. package/utils/file-names.d.ts +17 -17
  285. package/utils/file-names.js +38 -38
  286. package/utils/metadata.d.ts +5 -5
  287. package/utils/metadata.js +5 -5
  288. package/utils/objectToSPKeyValueCollection.d.ts +20 -20
  289. package/utils/objectToSPKeyValueCollection.js +16 -16
  290. package/utils/toResourcePath.d.ts +7 -7
  291. package/utils/toResourcePath.js +6 -6
  292. package/utils/toabsoluteurl.d.ts +7 -7
  293. package/utils/toabsoluteurl.js +61 -61
  294. package/views/index.d.ts +2 -2
  295. package/views/index.js +2 -2
  296. package/views/list.d.ts +23 -23
  297. package/views/list.js +8 -8
  298. package/views/types.d.ts +140 -140
  299. package/views/types.js +184 -184
  300. package/webparts/file.d.ts +15 -15
  301. package/webparts/file.js +6 -6
  302. package/webparts/index.d.ts +2 -2
  303. package/webparts/index.js +2 -2
  304. package/webparts/types.d.ts +83 -83
  305. package/webparts/types.js +117 -117
  306. package/webs/index.d.ts +16 -16
  307. package/webs/index.js +16 -16
  308. package/webs/types.d.ts +210 -210
  309. package/webs/types.js +295 -295
@@ -1,20 +1,20 @@
1
- import { IFieldDefault } from "./types.js";
2
- declare module "../lists/types" {
3
- interface _List {
4
- getDefaultColumnValues(): Promise<IFieldDefault[]>;
5
- setDefaultColumnValues(defaults: IFieldDefault[]): Promise<void>;
6
- }
7
- interface IList {
8
- /**
9
- * Gets the default column value for a given list
10
- */
11
- getDefaultColumnValues(): Promise<IFieldDefault[]>;
12
- /**
13
- * Replaces all the column defaults with the supplied values
14
- *
15
- * @param defaults
16
- */
17
- setDefaultColumnValues(defaults: IFieldDefault[]): Promise<void>;
18
- }
19
- }
1
+ import { IFieldDefault } from "./types.js";
2
+ declare module "../lists/types" {
3
+ interface _List {
4
+ getDefaultColumnValues(): Promise<IFieldDefault[]>;
5
+ setDefaultColumnValues(defaults: IFieldDefault[]): Promise<void>;
6
+ }
7
+ interface IList {
8
+ /**
9
+ * Gets the default column value for a given list
10
+ */
11
+ getDefaultColumnValues(): Promise<IFieldDefault[]>;
12
+ /**
13
+ * Replaces all the column defaults with the supplied values
14
+ *
15
+ * @param defaults
16
+ */
17
+ setDefaultColumnValues(defaults: IFieldDefault[]): Promise<void>;
18
+ }
19
+ }
20
20
  //# sourceMappingURL=list.d.ts.map
@@ -1,199 +1,199 @@
1
- import { __awaiter, __generator } from "tslib";
2
- import { addProp, TextParser, headers, body } from "@pnp/odata";
3
- import { _List, List } from "../lists/types.js";
4
- import { Folder } from "../folders/types.js";
5
- import { combine, isArray } from "@pnp/common";
6
- import { escapeQueryStrValue } from "../utils/escapeQueryStrValue.js";
7
- import { Logger } from "@pnp/logging";
8
- import { spPost } from "../operations.js";
9
- import { SharePointQueryableCollection } from "../presets/all.js";
10
- addProp(_List, "rootFolder", Folder, "rootFolder");
11
- _List.prototype.getDefaultColumnValues = function () {
12
- return __awaiter(this, void 0, void 0, function () {
13
- var pathPart, webUrl, path, baseFilePath, xml, e_1, matches, tags;
14
- return __generator(this, function (_a) {
15
- switch (_a.label) {
16
- case 0: return [4 /*yield*/, this.rootFolder.select("ServerRelativePath")()];
17
- case 1:
18
- pathPart = _a.sent();
19
- return [4 /*yield*/, this.select("ParentWeb/Url").expand("ParentWeb")()];
20
- case 2:
21
- webUrl = _a.sent();
22
- path = combine("/", pathPart.ServerRelativePath.DecodedUrl, "Forms/client_LocationBasedDefaults.html");
23
- baseFilePath = combine(webUrl.ParentWeb.Url, "_api/web", "getFileByServerRelativePath(decodedUrl='" + escapeQueryStrValue(path) + "')");
24
- xml = "";
25
- _a.label = 3;
26
- case 3:
27
- _a.trys.push([3, 5, , 6]);
28
- return [4 /*yield*/, Folder(baseFilePath, "$value").usingParser(new TextParser())(headers({ "binaryStringResponseBody": "true" }))];
29
- case 4:
30
- xml = _a.sent();
31
- return [3 /*break*/, 6];
32
- case 5:
33
- e_1 = _a.sent();
34
- // if this call fails we assume it is because the file is 404
35
- if (e_1 && e_1.status && e_1.status === 404) {
36
- // return an empty array
37
- return [2 /*return*/, []];
38
- }
39
- throw e_1;
40
- case 6:
41
- matches = xml.match(/<a.*?<\/a>/ig);
42
- tags = matches === null ? [] : matches.map(function (t) { return t.trim(); });
43
- // now we need to turn these tags of form into objects
44
- // <a href="/sites/dev/My%20Title"><DefaultValue FieldName="TextField">Test</DefaultValue></a>
45
- return [2 /*return*/, tags.reduce(function (defVals, t) {
46
- var m = /<a href="(.*?)">/ig.exec(t);
47
- // if things worked out captures are:
48
- // 0: whole string
49
- // 1: ENCODED server relative path
50
- if (m.length < 1) {
51
- // this indicates an error somewhere, but we have no way to meaningfully recover
52
- // perhaps the way the tags are stored has changed on the server? Check that first.
53
- Logger.write("Could not parse default column value from '" + t + "'", 2 /* Warning */);
54
- return null;
55
- }
56
- // return the parsed out values
57
- var subMatches = t.match(/<DefaultValue.*?<\/DefaultValue>/ig);
58
- var subTags = subMatches === null ? [] : subMatches.map(function (st) { return st.trim(); });
59
- subTags.map(function (st) {
60
- var sm = /<DefaultValue FieldName="(.*?)">(.*?)<\/DefaultValue>/ig.exec(st);
61
- // if things worked out captures are:
62
- // 0: whole string
63
- // 1: Field internal name
64
- // 2: Default value as string
65
- if (sm.length < 1) {
66
- Logger.write("Could not parse default column value from '" + st + "'", 2 /* Warning */);
67
- }
68
- else {
69
- defVals.push({
70
- name: sm[1],
71
- path: decodeURIComponent(m[1]),
72
- value: sm[2],
73
- });
74
- }
75
- });
76
- return defVals;
77
- }, []).filter(function (v) { return v !== null; })];
78
- }
79
- });
80
- });
81
- };
82
- _List.prototype.setDefaultColumnValues = function (defaults) {
83
- return __awaiter(this, void 0, void 0, function () {
84
- var fieldDefs, defaultsByPath, i, paths, pathDefaults, j, pathFields, tags, href, pathDefault, xml, pathPart, webUrl, path, baseFilePath, existingReceivers;
85
- return __generator(this, function (_a) {
86
- switch (_a.label) {
87
- case 0: return [4 /*yield*/, SharePointQueryableCollection(this, "fields").select("InternalName", "TypeAsString").filter("Hidden ne true")()];
88
- case 1:
89
- fieldDefs = _a.sent();
90
- defaultsByPath = {};
91
- for (i = 0; i < defaults.length; i++) {
92
- if (defaultsByPath[defaults[i].path] == null) {
93
- defaultsByPath[defaults[i].path] = [defaults[i]];
94
- }
95
- else {
96
- defaultsByPath[defaults[i].path].push(defaults[i]);
97
- }
98
- }
99
- paths = Object.getOwnPropertyNames(defaultsByPath);
100
- pathDefaults = [];
101
- // For each path, group field defaults
102
- for (j = 0; j < paths.length; j++) {
103
- pathFields = defaultsByPath[paths[j]];
104
- tags = pathFields.map(function (fieldDefault) {
105
- var index = fieldDefs.findIndex(function (fd) { return fd.InternalName === fieldDefault.name; });
106
- if (index < 0) {
107
- throw Error("Field '" + fieldDefault.name + "' does not exist in the list. Please check the internal field name. Failed to set defaults.");
108
- }
109
- var fieldDef = fieldDefs[index];
110
- var value = "";
111
- switch (fieldDef.TypeAsString) {
112
- case "Boolean":
113
- case "Currency":
114
- case "Text":
115
- case "DateTime":
116
- case "Number":
117
- case "Choice":
118
- case "User":
119
- if (isArray(fieldDefault.value)) {
120
- throw Error("The type '" + fieldDef.TypeAsString + "' does not support multiple values.");
121
- }
122
- value = "" + fieldDefault.value;
123
- break;
124
- case "MultiChoice":
125
- if (isArray(fieldDefault.value)) {
126
- value = fieldDefault.value.map(function (v) { return "" + v; }).join(";");
127
- }
128
- else {
129
- value = "" + fieldDefault.value;
130
- }
131
- break;
132
- case "UserMulti":
133
- if (isArray(fieldDefault.value)) {
134
- value = fieldDefault.value.map(function (v) { return "" + v; }).join(";#");
135
- }
136
- else {
137
- value = "" + fieldDefault.value;
138
- }
139
- break;
140
- case "Taxonomy":
141
- case "TaxonomyFieldType":
142
- if (isArray(fieldDefault.value)) {
143
- throw Error("The type '" + fieldDef.TypeAsString + "' does not support multiple values.");
144
- }
145
- else {
146
- value = fieldDefault.value.wssId + ";#" + fieldDefault.value.termName + "|" + fieldDefault.value.termId;
147
- }
148
- break;
149
- case "TaxonomyMulti":
150
- case "TaxonomyFieldTypeMulti":
151
- if (isArray(fieldDefault.value)) {
152
- value = fieldDefault.value.map(function (v) { return v.wssId + ";#" + v.termName + "|" + v.termId; }).join(";#");
153
- }
154
- else {
155
- value = [fieldDefault.value].map(function (v) { return v.wssId + ";#" + v.termName + "|" + v.termId; }).join(";#");
156
- }
157
- break;
158
- }
159
- return "<DefaultValue FieldName=\"" + fieldDefault.name + "\">" + value + "</DefaultValue>";
160
- });
161
- href = pathFields[0].path.replace(/ /gi, "%20");
162
- pathDefault = "<a href=\"" + href + "\">" + tags.join("") + "</a>";
163
- pathDefaults.push(pathDefault);
164
- }
165
- xml = "<MetadataDefaults>" + pathDefaults.join("") + "</MetadataDefaults>";
166
- return [4 /*yield*/, this.rootFolder.select("ServerRelativePath")()];
167
- case 2:
168
- pathPart = _a.sent();
169
- return [4 /*yield*/, this.select("ParentWeb/Url").expand("ParentWeb")()];
170
- case 3:
171
- webUrl = _a.sent();
172
- path = combine("/", pathPart.ServerRelativePath.DecodedUrl, "Forms");
173
- baseFilePath = combine(webUrl.ParentWeb.Url, "_api/web", "getFolderByServerRelativePath(decodedUrl='" + escapeQueryStrValue(path) + "')", "files");
174
- return [4 /*yield*/, spPost(Folder(baseFilePath, "add(overwrite=true,url='client_LocationBasedDefaults.html')"), { body: xml })];
175
- case 4:
176
- _a.sent();
177
- return [4 /*yield*/, this.eventReceivers.filter("ReceiverName eq 'LocationBasedMetadataDefaultsReceiver ItemAdded'").select("ReceiverId")()];
178
- case 5:
179
- existingReceivers = _a.sent();
180
- if (!(existingReceivers.length < 1)) return [3 /*break*/, 7];
181
- return [4 /*yield*/, spPost(List(this.eventReceivers, "add"), body({
182
- eventReceiverCreationInformation: {
183
- EventType: 10001,
184
- ReceiverAssembly: "Microsoft.Office.DocumentManagement, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c",
185
- ReceiverClass: "Microsoft.Office.DocumentManagement.LocationBasedMetadataDefaultsReceiver",
186
- ReceiverName: "LocationBasedMetadataDefaultsReceiver ItemAdded",
187
- SequenceNumber: 1000,
188
- Synchronization: 1,
189
- },
190
- }))];
191
- case 6:
192
- _a.sent();
193
- _a.label = 7;
194
- case 7: return [2 /*return*/];
195
- }
196
- });
197
- });
198
- };
1
+ import { __awaiter, __generator } from "tslib";
2
+ import { addProp, TextParser, headers, body } from "@pnp/odata";
3
+ import { _List, List } from "../lists/types.js";
4
+ import { Folder } from "../folders/types.js";
5
+ import { combine, isArray } from "@pnp/common";
6
+ import { escapeQueryStrValue } from "../utils/escapeQueryStrValue.js";
7
+ import { Logger } from "@pnp/logging";
8
+ import { spPost } from "../operations.js";
9
+ import { SharePointQueryableCollection } from "../presets/all.js";
10
+ addProp(_List, "rootFolder", Folder, "rootFolder");
11
+ _List.prototype.getDefaultColumnValues = function () {
12
+ return __awaiter(this, void 0, void 0, function () {
13
+ var pathPart, webUrl, path, baseFilePath, xml, e_1, matches, tags;
14
+ return __generator(this, function (_a) {
15
+ switch (_a.label) {
16
+ case 0: return [4 /*yield*/, this.rootFolder.select("ServerRelativePath")()];
17
+ case 1:
18
+ pathPart = _a.sent();
19
+ return [4 /*yield*/, this.select("ParentWeb/Url").expand("ParentWeb")()];
20
+ case 2:
21
+ webUrl = _a.sent();
22
+ path = combine("/", pathPart.ServerRelativePath.DecodedUrl, "Forms/client_LocationBasedDefaults.html");
23
+ baseFilePath = combine(webUrl.ParentWeb.Url, "_api/web", "getFileByServerRelativePath(decodedUrl='" + escapeQueryStrValue(path) + "')");
24
+ xml = "";
25
+ _a.label = 3;
26
+ case 3:
27
+ _a.trys.push([3, 5, , 6]);
28
+ return [4 /*yield*/, Folder(baseFilePath, "$value").usingParser(new TextParser())(headers({ "binaryStringResponseBody": "true" }))];
29
+ case 4:
30
+ xml = _a.sent();
31
+ return [3 /*break*/, 6];
32
+ case 5:
33
+ e_1 = _a.sent();
34
+ // if this call fails we assume it is because the file is 404
35
+ if (e_1 && e_1.status && e_1.status === 404) {
36
+ // return an empty array
37
+ return [2 /*return*/, []];
38
+ }
39
+ throw e_1;
40
+ case 6:
41
+ matches = xml.match(/<a.*?<\/a>/ig);
42
+ tags = matches === null ? [] : matches.map(function (t) { return t.trim(); });
43
+ // now we need to turn these tags of form into objects
44
+ // <a href="/sites/dev/My%20Title"><DefaultValue FieldName="TextField">Test</DefaultValue></a>
45
+ return [2 /*return*/, tags.reduce(function (defVals, t) {
46
+ var m = /<a href="(.*?)">/ig.exec(t);
47
+ // if things worked out captures are:
48
+ // 0: whole string
49
+ // 1: ENCODED server relative path
50
+ if (m.length < 1) {
51
+ // this indicates an error somewhere, but we have no way to meaningfully recover
52
+ // perhaps the way the tags are stored has changed on the server? Check that first.
53
+ Logger.write("Could not parse default column value from '" + t + "'", 2 /* Warning */);
54
+ return null;
55
+ }
56
+ // return the parsed out values
57
+ var subMatches = t.match(/<DefaultValue.*?<\/DefaultValue>/ig);
58
+ var subTags = subMatches === null ? [] : subMatches.map(function (st) { return st.trim(); });
59
+ subTags.map(function (st) {
60
+ var sm = /<DefaultValue FieldName="(.*?)">(.*?)<\/DefaultValue>/ig.exec(st);
61
+ // if things worked out captures are:
62
+ // 0: whole string
63
+ // 1: Field internal name
64
+ // 2: Default value as string
65
+ if (sm.length < 1) {
66
+ Logger.write("Could not parse default column value from '" + st + "'", 2 /* Warning */);
67
+ }
68
+ else {
69
+ defVals.push({
70
+ name: sm[1],
71
+ path: decodeURIComponent(m[1]),
72
+ value: sm[2],
73
+ });
74
+ }
75
+ });
76
+ return defVals;
77
+ }, []).filter(function (v) { return v !== null; })];
78
+ }
79
+ });
80
+ });
81
+ };
82
+ _List.prototype.setDefaultColumnValues = function (defaults) {
83
+ return __awaiter(this, void 0, void 0, function () {
84
+ var fieldDefs, defaultsByPath, i, paths, pathDefaults, j, pathFields, tags, href, pathDefault, xml, pathPart, webUrl, path, baseFilePath, existingReceivers;
85
+ return __generator(this, function (_a) {
86
+ switch (_a.label) {
87
+ case 0: return [4 /*yield*/, SharePointQueryableCollection(this, "fields").select("InternalName", "TypeAsString").filter("Hidden ne true")()];
88
+ case 1:
89
+ fieldDefs = _a.sent();
90
+ defaultsByPath = {};
91
+ for (i = 0; i < defaults.length; i++) {
92
+ if (defaultsByPath[defaults[i].path] == null) {
93
+ defaultsByPath[defaults[i].path] = [defaults[i]];
94
+ }
95
+ else {
96
+ defaultsByPath[defaults[i].path].push(defaults[i]);
97
+ }
98
+ }
99
+ paths = Object.getOwnPropertyNames(defaultsByPath);
100
+ pathDefaults = [];
101
+ // For each path, group field defaults
102
+ for (j = 0; j < paths.length; j++) {
103
+ pathFields = defaultsByPath[paths[j]];
104
+ tags = pathFields.map(function (fieldDefault) {
105
+ var index = fieldDefs.findIndex(function (fd) { return fd.InternalName === fieldDefault.name; });
106
+ if (index < 0) {
107
+ throw Error("Field '" + fieldDefault.name + "' does not exist in the list. Please check the internal field name. Failed to set defaults.");
108
+ }
109
+ var fieldDef = fieldDefs[index];
110
+ var value = "";
111
+ switch (fieldDef.TypeAsString) {
112
+ case "Boolean":
113
+ case "Currency":
114
+ case "Text":
115
+ case "DateTime":
116
+ case "Number":
117
+ case "Choice":
118
+ case "User":
119
+ if (isArray(fieldDefault.value)) {
120
+ throw Error("The type '" + fieldDef.TypeAsString + "' does not support multiple values.");
121
+ }
122
+ value = "" + fieldDefault.value;
123
+ break;
124
+ case "MultiChoice":
125
+ if (isArray(fieldDefault.value)) {
126
+ value = fieldDefault.value.map(function (v) { return "" + v; }).join(";");
127
+ }
128
+ else {
129
+ value = "" + fieldDefault.value;
130
+ }
131
+ break;
132
+ case "UserMulti":
133
+ if (isArray(fieldDefault.value)) {
134
+ value = fieldDefault.value.map(function (v) { return "" + v; }).join(";#");
135
+ }
136
+ else {
137
+ value = "" + fieldDefault.value;
138
+ }
139
+ break;
140
+ case "Taxonomy":
141
+ case "TaxonomyFieldType":
142
+ if (isArray(fieldDefault.value)) {
143
+ throw Error("The type '" + fieldDef.TypeAsString + "' does not support multiple values.");
144
+ }
145
+ else {
146
+ value = fieldDefault.value.wssId + ";#" + fieldDefault.value.termName + "|" + fieldDefault.value.termId;
147
+ }
148
+ break;
149
+ case "TaxonomyMulti":
150
+ case "TaxonomyFieldTypeMulti":
151
+ if (isArray(fieldDefault.value)) {
152
+ value = fieldDefault.value.map(function (v) { return v.wssId + ";#" + v.termName + "|" + v.termId; }).join(";#");
153
+ }
154
+ else {
155
+ value = [fieldDefault.value].map(function (v) { return v.wssId + ";#" + v.termName + "|" + v.termId; }).join(";#");
156
+ }
157
+ break;
158
+ }
159
+ return "<DefaultValue FieldName=\"" + fieldDefault.name + "\">" + value + "</DefaultValue>";
160
+ });
161
+ href = pathFields[0].path.replace(/ /gi, "%20");
162
+ pathDefault = "<a href=\"" + href + "\">" + tags.join("") + "</a>";
163
+ pathDefaults.push(pathDefault);
164
+ }
165
+ xml = "<MetadataDefaults>" + pathDefaults.join("") + "</MetadataDefaults>";
166
+ return [4 /*yield*/, this.rootFolder.select("ServerRelativePath")()];
167
+ case 2:
168
+ pathPart = _a.sent();
169
+ return [4 /*yield*/, this.select("ParentWeb/Url").expand("ParentWeb")()];
170
+ case 3:
171
+ webUrl = _a.sent();
172
+ path = combine("/", pathPart.ServerRelativePath.DecodedUrl, "Forms");
173
+ baseFilePath = combine(webUrl.ParentWeb.Url, "_api/web", "getFolderByServerRelativePath(decodedUrl='" + escapeQueryStrValue(path) + "')", "files");
174
+ return [4 /*yield*/, spPost(Folder(baseFilePath, "add(overwrite=true,url='client_LocationBasedDefaults.html')"), { body: xml })];
175
+ case 4:
176
+ _a.sent();
177
+ return [4 /*yield*/, this.eventReceivers.filter("ReceiverName eq 'LocationBasedMetadataDefaultsReceiver ItemAdded'").select("ReceiverId")()];
178
+ case 5:
179
+ existingReceivers = _a.sent();
180
+ if (!(existingReceivers.length < 1)) return [3 /*break*/, 7];
181
+ return [4 /*yield*/, spPost(List(this.eventReceivers, "add"), body({
182
+ eventReceiverCreationInformation: {
183
+ EventType: 10001,
184
+ ReceiverAssembly: "Microsoft.Office.DocumentManagement, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c",
185
+ ReceiverClass: "Microsoft.Office.DocumentManagement.LocationBasedMetadataDefaultsReceiver",
186
+ ReceiverName: "LocationBasedMetadataDefaultsReceiver ItemAdded",
187
+ SequenceNumber: 1000,
188
+ Synchronization: 1,
189
+ },
190
+ }))];
191
+ case 6:
192
+ _a.sent();
193
+ _a.label = 7;
194
+ case 7: return [2 /*return*/];
195
+ }
196
+ });
197
+ });
198
+ };
199
199
  //# sourceMappingURL=list.js.map
@@ -1,22 +1,22 @@
1
- export declare type AllowedDefaultColumnValues = number | string | boolean | {
2
- wssId: string;
3
- termName: string;
4
- termId: string;
5
- };
6
- export interface IFieldDefaultProps {
7
- /**
8
- * Internal name of the field
9
- */
10
- name: string;
11
- /**
12
- * The value of the field to set
13
- */
14
- value: AllowedDefaultColumnValues | AllowedDefaultColumnValues[];
15
- }
16
- export interface IFieldDefault extends IFieldDefaultProps {
17
- /**
18
- * The unencoded server relative path for this default
19
- */
20
- path: string;
21
- }
1
+ export declare type AllowedDefaultColumnValues = number | string | boolean | {
2
+ wssId: string;
3
+ termName: string;
4
+ termId: string;
5
+ };
6
+ export interface IFieldDefaultProps {
7
+ /**
8
+ * Internal name of the field
9
+ */
10
+ name: string;
11
+ /**
12
+ * The value of the field to set
13
+ */
14
+ value: AllowedDefaultColumnValues | AllowedDefaultColumnValues[];
15
+ }
16
+ export interface IFieldDefault extends IFieldDefaultProps {
17
+ /**
18
+ * The unencoded server relative path for this default
19
+ */
20
+ path: string;
21
+ }
22
22
  //# sourceMappingURL=types.d.ts.map
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=types.js.map
@@ -1,58 +1,58 @@
1
- import { ICommentInfo, IComment, ILikedByInformation } from "./types.js";
2
- import { IItemUpdateResult } from "../items/index.js";
3
- declare module "../clientside-pages/types" {
4
- interface _ClientsidePage {
5
- addComment(info: string | ICommentInfo): Promise<IComment & ICommentInfo>;
6
- getCommentById(id: string | number): Promise<IComment & ICommentInfo>;
7
- clearComments(): Promise<boolean>;
8
- getComments(): Promise<ICommentInfo[]>;
9
- like(): Promise<void>;
10
- unlike(): Promise<void>;
11
- getLikedByInformation(): Promise<ILikedByInformation>;
12
- enableComments(): Promise<IItemUpdateResult>;
13
- disableComments(): Promise<IItemUpdateResult>;
14
- setCommentsOn(on: boolean): Promise<IItemUpdateResult>;
15
- }
16
- interface IClientsidePage {
17
- /**
18
- * Adds a comment to this page
19
- *
20
- * @param info The comment information
21
- */
22
- addComment(info: string | ICommentInfo): Promise<IComment & ICommentInfo>;
23
- /**
24
- *
25
- * @param id gets a comment by id
26
- */
27
- getCommentById(id: string | number): Promise<IComment & ICommentInfo>;
28
- /**
29
- * Deletes all comments for this page
30
- */
31
- clearComments(): Promise<boolean>;
32
- /**
33
- * Gets all the comments for this page
34
- */
35
- getComments(): Promise<ICommentInfo[]>;
36
- /**
37
- * Like this page
38
- */
39
- like(): Promise<void>;
40
- /**
41
- * Unlike this page
42
- */
43
- unlike(): Promise<void>;
44
- /**
45
- * gets list of who likes the page, current user's status, a few other details
46
- */
47
- getLikedByInformation(): Promise<ILikedByInformation>;
48
- /**
49
- * Enables comments for this page
50
- */
51
- enableComments(): Promise<IItemUpdateResult>;
52
- /**
53
- * Disables comments for this page
54
- */
55
- disableComments(): Promise<IItemUpdateResult>;
56
- }
57
- }
1
+ import { ICommentInfo, IComment, ILikedByInformation } from "./types.js";
2
+ import { IItemUpdateResult } from "../items/index.js";
3
+ declare module "../clientside-pages/types" {
4
+ interface _ClientsidePage {
5
+ addComment(info: string | ICommentInfo): Promise<IComment & ICommentInfo>;
6
+ getCommentById(id: string | number): Promise<IComment & ICommentInfo>;
7
+ clearComments(): Promise<boolean>;
8
+ getComments(): Promise<ICommentInfo[]>;
9
+ like(): Promise<void>;
10
+ unlike(): Promise<void>;
11
+ getLikedByInformation(): Promise<ILikedByInformation>;
12
+ enableComments(): Promise<IItemUpdateResult>;
13
+ disableComments(): Promise<IItemUpdateResult>;
14
+ setCommentsOn(on: boolean): Promise<IItemUpdateResult>;
15
+ }
16
+ interface IClientsidePage {
17
+ /**
18
+ * Adds a comment to this page
19
+ *
20
+ * @param info The comment information
21
+ */
22
+ addComment(info: string | Partial<ICommentInfo>): Promise<IComment & ICommentInfo>;
23
+ /**
24
+ *
25
+ * @param id gets a comment by id
26
+ */
27
+ getCommentById(id: string | number): Promise<IComment & ICommentInfo>;
28
+ /**
29
+ * Deletes all comments for this page
30
+ */
31
+ clearComments(): Promise<boolean>;
32
+ /**
33
+ * Gets all the comments for this page
34
+ */
35
+ getComments(): Promise<ICommentInfo[]>;
36
+ /**
37
+ * Like this page
38
+ */
39
+ like(): Promise<void>;
40
+ /**
41
+ * Unlike this page
42
+ */
43
+ unlike(): Promise<void>;
44
+ /**
45
+ * gets list of who likes the page, current user's status, a few other details
46
+ */
47
+ getLikedByInformation(): Promise<ILikedByInformation>;
48
+ /**
49
+ * Enables comments for this page
50
+ */
51
+ enableComments(): Promise<IItemUpdateResult>;
52
+ /**
53
+ * Disables comments for this page
54
+ */
55
+ disableComments(): Promise<IItemUpdateResult>;
56
+ }
57
+ }
58
58
  //# sourceMappingURL=clientside-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clientside-page.d.ts","sourceRoot":"","sources":["../../../../../packages/sp/comments/clientside-page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAW,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAQ,MAAM,mBAAmB,CAAC;AAI5D,OAAO,QAAQ,2BAA2B,CAAC;IACvC,UAAU,eAAe;QACrB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QAC1E,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QACtE,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACtD,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC7C,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC9C,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;KAC1D;IACD,UAAU,eAAe;QACrB;;;;WAIG;QACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QAC1E;;;WAGG;QACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QACtE;;WAEG;QACH,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC;;WAEG;QACH,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACvC;;WAEG;QACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB;;WAEG;QACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB;;WAEG;QACH,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACtD;;WAEG;QACH,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC7C;;WAEG;QACH,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;KACjD;CACJ"}
1
+ {"version":3,"file":"clientside-page.d.ts","sourceRoot":"","sources":["../../../../../packages/sp/comments/clientside-page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAW,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAQ,MAAM,mBAAmB,CAAC;AAI5D,OAAO,QAAQ,2BAA2B,CAAC;IACvC,UAAU,eAAe;QACrB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QAC1E,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QACtE,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACtD,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC7C,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC9C,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;KAC1D;IACD,UAAU,eAAe;QACrB;;;;WAIG;QACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QACnF;;;WAGG;QACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QACtE;;WAEG;QACH,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC;;WAEG;QACH,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACvC;;WAEG;QACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB;;WAEG;QACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB;;WAEG;QACH,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACtD;;WAEG;QACH,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC7C;;WAEG;QACH,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;KACjD;CACJ"}