@pnp/sp 2.8.0 → 2.12.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 (306) 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.d.ts.map +1 -1
  6. package/appcatalog/types.js +177 -177
  7. package/appcatalog/types.js.map +1 -1
  8. package/appcatalog/web.d.ts +16 -16
  9. package/appcatalog/web.js +6 -6
  10. package/attachments/index.d.ts +2 -2
  11. package/attachments/index.js +2 -2
  12. package/attachments/item.d.ts +12 -12
  13. package/attachments/item.js +4 -4
  14. package/attachments/types.d.ts +92 -92
  15. package/attachments/types.js +240 -240
  16. package/batch.d.ts +17 -17
  17. package/batch.js +223 -223
  18. package/clientside-pages/funcs.d.ts +22 -22
  19. package/clientside-pages/funcs.js +25 -25
  20. package/clientside-pages/index.d.ts +2 -2
  21. package/clientside-pages/index.js +2 -2
  22. package/clientside-pages/types.d.ts +496 -494
  23. package/clientside-pages/types.d.ts.map +1 -1
  24. package/clientside-pages/types.js +1496 -1487
  25. package/clientside-pages/types.js.map +1 -1
  26. package/clientside-pages/web.d.ts +41 -41
  27. package/clientside-pages/web.js +57 -57
  28. package/column-defaults/folder.d.ts +27 -27
  29. package/column-defaults/folder.js +82 -82
  30. package/column-defaults/index.d.ts +3 -3
  31. package/column-defaults/index.js +2 -2
  32. package/column-defaults/list.d.ts +19 -19
  33. package/column-defaults/list.js +198 -198
  34. package/column-defaults/types.d.ts +21 -21
  35. package/column-defaults/types.js +1 -1
  36. package/comments/clientside-page.d.ts +57 -57
  37. package/comments/clientside-page.d.ts.map +1 -1
  38. package/comments/clientside-page.js +136 -136
  39. package/comments/index.d.ts +2 -2
  40. package/comments/index.js +2 -2
  41. package/comments/item.d.ts +29 -29
  42. package/comments/item.js +47 -47
  43. package/comments/item.js.map +1 -1
  44. package/comments/types.d.ts +107 -107
  45. package/comments/types.d.ts.map +1 -1
  46. package/comments/types.js +145 -145
  47. package/comments/types.js.map +1 -1
  48. package/content-types/index.d.ts +4 -4
  49. package/content-types/index.js +4 -4
  50. package/content-types/item.d.ts +12 -12
  51. package/content-types/item.js +4 -4
  52. package/content-types/list.d.ts +12 -12
  53. package/content-types/list.js +4 -4
  54. package/content-types/types.d.ts +107 -107
  55. package/content-types/types.js +166 -166
  56. package/content-types/web.d.ts +12 -12
  57. package/content-types/web.js +4 -4
  58. package/decorators.d.ts +11 -11
  59. package/decorators.js +28 -28
  60. package/features/index.d.ts +3 -3
  61. package/features/index.js +3 -3
  62. package/features/site.d.ts +12 -12
  63. package/features/site.js +4 -4
  64. package/features/types.d.ts +47 -47
  65. package/features/types.js +109 -109
  66. package/features/web.d.ts +12 -12
  67. package/features/web.js +4 -4
  68. package/fields/index.d.ts +4 -4
  69. package/fields/index.js +4 -4
  70. package/fields/list.d.ts +12 -12
  71. package/fields/list.js +4 -4
  72. package/fields/types.d.ts +368 -368
  73. package/fields/types.js +624 -624
  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.d.ts.map +1 -1
  110. package/hubsites/types.js +53 -53
  111. package/hubsites/web.d.ts +21 -21
  112. package/hubsites/web.js +23 -23
  113. package/index.d.ts +14 -14
  114. package/index.js +13 -13
  115. package/items/index.d.ts +2 -2
  116. package/items/index.js +2 -2
  117. package/items/list.d.ts +9 -9
  118. package/items/list.js +4 -4
  119. package/items/types.d.ts +226 -226
  120. package/items/types.js +549 -549
  121. package/lists/index.d.ts +2 -2
  122. package/lists/index.js +2 -2
  123. package/lists/types.d.ts +495 -495
  124. package/lists/types.js +522 -522
  125. package/lists/types.js.map +1 -1
  126. package/lists/web.d.ts +43 -43
  127. package/lists/web.js +27 -27
  128. package/navigation/index.d.ts +8 -8
  129. package/navigation/index.js +14 -14
  130. package/navigation/types.d.ts +154 -154
  131. package/navigation/types.js +219 -219
  132. package/navigation/web.d.ts +13 -13
  133. package/navigation/web.js +4 -4
  134. package/odata.d.ts +5 -5
  135. package/odata.js +90 -90
  136. package/odata.js.map +1 -1
  137. package/operations.d.ts +9 -9
  138. package/operations.js +63 -63
  139. package/package.json +4 -4
  140. package/presets/all.d.ts +72 -72
  141. package/presets/all.js +72 -72
  142. package/presets/core.d.ts +11 -11
  143. package/presets/core.js +11 -11
  144. package/profiles/index.d.ts +7 -7
  145. package/profiles/index.js +13 -13
  146. package/profiles/types.d.ts +357 -357
  147. package/profiles/types.js +454 -454
  148. package/readme.md +21 -21
  149. package/regional-settings/content-type.d.ts +7 -7
  150. package/regional-settings/content-type.js +4 -4
  151. package/regional-settings/field.d.ts +7 -7
  152. package/regional-settings/field.js +4 -4
  153. package/regional-settings/funcs.d.ts +2 -2
  154. package/regional-settings/funcs.js +8 -8
  155. package/regional-settings/index.d.ts +6 -6
  156. package/regional-settings/index.js +6 -6
  157. package/regional-settings/list.d.ts +7 -7
  158. package/regional-settings/list.js +4 -4
  159. package/regional-settings/types.d.ts +111 -111
  160. package/regional-settings/types.js +159 -159
  161. package/regional-settings/user-custom-actions.d.ts +7 -7
  162. package/regional-settings/user-custom-actions.js +4 -4
  163. package/regional-settings/web.d.ts +12 -12
  164. package/regional-settings/web.js +7 -7
  165. package/related-items/index.d.ts +1 -1
  166. package/related-items/index.js +1 -1
  167. package/related-items/types.d.ts +76 -76
  168. package/related-items/types.js +103 -103
  169. package/related-items/web.d.ts +12 -12
  170. package/related-items/web.js +9 -9
  171. package/rest.d.ts +44 -44
  172. package/rest.js +72 -72
  173. package/search/index.d.ts +30 -30
  174. package/search/index.js +25 -25
  175. package/search/query.d.ts +62 -62
  176. package/search/query.js +302 -302
  177. package/search/suggest.d.ts +76 -76
  178. package/search/suggest.js +66 -66
  179. package/search/types.d.ts +426 -426
  180. package/search/types.js +57 -57
  181. package/security/funcs.d.ts +43 -43
  182. package/security/funcs.js +142 -142
  183. package/security/index.d.ts +4 -4
  184. package/security/index.js +4 -4
  185. package/security/item.d.ts +7 -7
  186. package/security/item.js +14 -14
  187. package/security/list.d.ts +7 -7
  188. package/security/list.js +14 -14
  189. package/security/types.d.ts +318 -318
  190. package/security/types.js +399 -399
  191. package/security/web.d.ts +9 -9
  192. package/security/web.js +15 -15
  193. package/sharepointqueryable.d.ts +135 -135
  194. package/sharepointqueryable.js +265 -265
  195. package/sharing/file.d.ts +18 -18
  196. package/sharing/file.js +116 -116
  197. package/sharing/folder.d.ts +9 -9
  198. package/sharing/folder.js +136 -136
  199. package/sharing/funcs.d.ts +62 -62
  200. package/sharing/funcs.js +239 -239
  201. package/sharing/funcs.js.map +1 -1
  202. package/sharing/index.d.ts +5 -5
  203. package/sharing/index.js +5 -5
  204. package/sharing/item.d.ts +16 -16
  205. package/sharing/item.js +15 -15
  206. package/sharing/types.d.ts +583 -583
  207. package/sharing/types.js +113 -113
  208. package/sharing/web.d.ts +19 -19
  209. package/sharing/web.js +76 -76
  210. package/site-designs/index.d.ts +8 -8
  211. package/site-designs/index.js +14 -14
  212. package/site-designs/types.d.ts +319 -319
  213. package/site-designs/types.js +203 -203
  214. package/site-designs/web.d.ts +25 -25
  215. package/site-designs/web.js +11 -11
  216. package/site-groups/index.d.ts +2 -2
  217. package/site-groups/index.js +2 -2
  218. package/site-groups/types.d.ts +89 -89
  219. package/site-groups/types.js +125 -125
  220. package/site-groups/web.d.ts +40 -40
  221. package/site-groups/web.js +30 -30
  222. package/site-scripts/index.d.ts +9 -9
  223. package/site-scripts/index.js +15 -15
  224. package/site-scripts/list.d.ts +12 -12
  225. package/site-scripts/list.js +24 -24
  226. package/site-scripts/types.d.ts +183 -183
  227. package/site-scripts/types.js +141 -141
  228. package/site-scripts/web.d.ts +13 -13
  229. package/site-scripts/web.js +5 -5
  230. package/site-users/index.d.ts +2 -2
  231. package/site-users/index.js +2 -2
  232. package/site-users/types.d.ts +138 -138
  233. package/site-users/types.js +122 -122
  234. package/site-users/web.d.ts +31 -31
  235. package/site-users/web.js +27 -27
  236. package/sites/index.d.ts +7 -7
  237. package/sites/index.js +13 -13
  238. package/sites/types.d.ts +147 -147
  239. package/sites/types.js +321 -321
  240. package/social/index.d.ts +10 -10
  241. package/social/index.js +13 -13
  242. package/social/types.d.ts +309 -309
  243. package/social/types.js +322 -322
  244. package/sphttpclient.d.ts +18 -18
  245. package/sphttpclient.js +189 -189
  246. package/splibconfig.d.ts +22 -22
  247. package/splibconfig.js +13 -13
  248. package/sputilities/index.d.ts +7 -7
  249. package/sputilities/index.js +13 -13
  250. package/sputilities/types.d.ts +130 -130
  251. package/sputilities/types.js +118 -118
  252. package/subscriptions/index.d.ts +2 -2
  253. package/subscriptions/index.js +2 -2
  254. package/subscriptions/list.d.ts +13 -13
  255. package/subscriptions/list.js +4 -4
  256. package/subscriptions/types.d.ts +54 -54
  257. package/subscriptions/types.js +111 -111
  258. package/taxonomy/index.d.ts +7 -7
  259. package/taxonomy/index.js +13 -13
  260. package/taxonomy/types.d.ts +200 -200
  261. package/taxonomy/types.js +347 -347
  262. package/taxonomy/types.js.map +1 -1
  263. package/telemetry.d.ts +12 -12
  264. package/telemetry.js +48 -48
  265. package/types.d.ts +218 -218
  266. package/types.js +79 -79
  267. package/user-custom-actions/index.d.ts +4 -4
  268. package/user-custom-actions/index.js +4 -4
  269. package/user-custom-actions/list.d.ts +12 -12
  270. package/user-custom-actions/list.js +4 -4
  271. package/user-custom-actions/site.d.ts +12 -12
  272. package/user-custom-actions/site.js +4 -4
  273. package/user-custom-actions/types.d.ts +82 -82
  274. package/user-custom-actions/types.js +93 -93
  275. package/user-custom-actions/web.d.ts +15 -15
  276. package/user-custom-actions/web.js +4 -4
  277. package/utils/escapeQueryStrValue.d.ts +1 -1
  278. package/utils/escapeQueryStrValue.js +19 -19
  279. package/utils/extractweburl.d.ts +1 -1
  280. package/utils/extractweburl.js +15 -15
  281. package/utils/file-names.d.ts +17 -17
  282. package/utils/file-names.js +38 -38
  283. package/utils/metadata.d.ts +5 -5
  284. package/utils/metadata.js +5 -5
  285. package/utils/objectToSPKeyValueCollection.d.ts +20 -20
  286. package/utils/objectToSPKeyValueCollection.js +16 -16
  287. package/utils/toResourcePath.d.ts +7 -7
  288. package/utils/toResourcePath.js +6 -6
  289. package/utils/toabsoluteurl.d.ts +7 -7
  290. package/utils/toabsoluteurl.js +61 -61
  291. package/views/index.d.ts +2 -2
  292. package/views/index.js +2 -2
  293. package/views/list.d.ts +23 -23
  294. package/views/list.js +8 -8
  295. package/views/types.d.ts +140 -140
  296. package/views/types.js +184 -184
  297. package/webparts/file.d.ts +15 -15
  298. package/webparts/file.js +6 -6
  299. package/webparts/index.d.ts +2 -2
  300. package/webparts/index.js +2 -2
  301. package/webparts/types.d.ts +83 -83
  302. package/webparts/types.js +117 -117
  303. package/webs/index.d.ts +16 -16
  304. package/webs/index.js +16 -16
  305. package/webs/types.d.ts +210 -210
  306. 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"}