@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.
- package/LICENSE +25 -25
- package/appcatalog/index.d.ts +8 -8
- package/appcatalog/index.js +30 -30
- package/appcatalog/types.d.ts +81 -81
- package/appcatalog/types.js +177 -177
- package/appcatalog/web.d.ts +16 -16
- package/appcatalog/web.js +6 -6
- package/attachments/index.d.ts +2 -2
- package/attachments/index.js +2 -2
- package/attachments/item.d.ts +12 -12
- package/attachments/item.js +4 -4
- package/attachments/types.d.ts +92 -92
- package/attachments/types.js +240 -240
- package/batch.d.ts +17 -17
- package/batch.js +223 -223
- package/batch.js.map +1 -1
- package/clientside-pages/funcs.d.ts +22 -22
- package/clientside-pages/funcs.js +25 -25
- package/clientside-pages/index.d.ts +2 -2
- package/clientside-pages/index.js +2 -2
- package/clientside-pages/types.d.ts +496 -494
- package/clientside-pages/types.d.ts.map +1 -1
- package/clientside-pages/types.js +1496 -1485
- package/clientside-pages/types.js.map +1 -1
- package/clientside-pages/web.d.ts +41 -41
- package/clientside-pages/web.js +57 -57
- package/column-defaults/folder.d.ts +27 -27
- package/column-defaults/folder.js +82 -82
- package/column-defaults/index.d.ts +3 -3
- package/column-defaults/index.js +2 -2
- package/column-defaults/list.d.ts +19 -19
- package/column-defaults/list.js +198 -198
- package/column-defaults/types.d.ts +21 -21
- package/column-defaults/types.js +1 -1
- package/comments/clientside-page.d.ts +57 -57
- package/comments/clientside-page.d.ts.map +1 -1
- package/comments/clientside-page.js +136 -136
- package/comments/index.d.ts +2 -2
- package/comments/index.js +2 -2
- package/comments/item.d.ts +29 -29
- package/comments/item.js +47 -47
- package/comments/types.d.ts +107 -107
- package/comments/types.d.ts.map +1 -1
- package/comments/types.js +145 -145
- package/comments/types.js.map +1 -1
- package/content-types/index.d.ts +4 -4
- package/content-types/index.js +4 -4
- package/content-types/item.d.ts +12 -12
- package/content-types/item.js +4 -4
- package/content-types/list.d.ts +12 -12
- package/content-types/list.js +4 -4
- package/content-types/types.d.ts +107 -107
- package/content-types/types.js +166 -166
- package/content-types/web.d.ts +12 -12
- package/content-types/web.js +4 -4
- package/decorators.d.ts +11 -11
- package/decorators.js +28 -28
- package/features/index.d.ts +3 -3
- package/features/index.js +3 -3
- package/features/site.d.ts +12 -12
- package/features/site.js +4 -4
- package/features/types.d.ts +47 -47
- package/features/types.js +109 -109
- package/features/web.d.ts +12 -12
- package/features/web.js +4 -4
- package/fields/index.d.ts +4 -4
- package/fields/index.js +4 -4
- package/fields/list.d.ts +12 -12
- package/fields/list.js +4 -4
- package/fields/types.d.ts +368 -361
- package/fields/types.d.ts.map +1 -1
- package/fields/types.js +624 -609
- package/fields/types.js.map +1 -1
- package/fields/web.d.ts +17 -17
- package/fields/web.js +5 -5
- package/files/folder.d.ts +12 -12
- package/files/folder.js +4 -4
- package/files/index.d.ts +4 -4
- package/files/index.js +4 -4
- package/files/item.d.ts +12 -12
- package/files/item.js +4 -4
- package/files/types.d.ts +421 -421
- package/files/types.js +853 -853
- package/files/types.js.map +1 -1
- package/files/web.d.ts +35 -35
- package/files/web.js +15 -15
- package/folders/index.d.ts +4 -4
- package/folders/index.js +4 -4
- package/folders/item.d.ts +9 -9
- package/folders/item.js +4 -4
- package/folders/list.d.ts +12 -12
- package/folders/list.js +4 -4
- package/folders/types.d.ts +207 -207
- package/folders/types.js +433 -433
- package/folders/types.js.map +1 -1
- package/folders/web.d.ts +39 -39
- package/folders/web.js +15 -15
- package/forms/index.d.ts +2 -2
- package/forms/index.js +2 -2
- package/forms/list.d.ts +9 -9
- package/forms/list.js +4 -4
- package/forms/types.d.ts +35 -35
- package/forms/types.js +41 -41
- package/hubsites/index.d.ts +12 -12
- package/hubsites/index.js +15 -15
- package/hubsites/site.d.ts +26 -26
- package/hubsites/site.js +39 -39
- package/hubsites/types.d.ts +55 -55
- package/hubsites/types.js +53 -53
- package/hubsites/web.d.ts +21 -21
- package/hubsites/web.js +23 -23
- package/index.d.ts +14 -14
- package/index.js +13 -13
- package/items/index.d.ts +2 -2
- package/items/index.js +2 -2
- package/items/list.d.ts +9 -9
- package/items/list.js +4 -4
- package/items/types.d.ts +226 -219
- package/items/types.d.ts.map +1 -1
- package/items/types.js +549 -511
- package/items/types.js.map +1 -1
- package/lists/index.d.ts +2 -2
- package/lists/index.js +2 -2
- package/lists/types.d.ts +495 -495
- package/lists/types.js +522 -522
- package/lists/types.js.map +1 -1
- package/lists/web.d.ts +43 -43
- package/lists/web.js +27 -27
- package/navigation/index.d.ts +8 -8
- package/navigation/index.js +14 -14
- package/navigation/types.d.ts +154 -154
- package/navigation/types.js +219 -219
- package/navigation/web.d.ts +13 -13
- package/navigation/web.js +4 -4
- package/odata.d.ts +5 -5
- package/odata.js +90 -90
- package/odata.js.map +1 -1
- package/operations.d.ts +9 -9
- package/operations.js +63 -63
- package/package.json +4 -4
- package/presets/all.d.ts +72 -72
- package/presets/all.js +72 -72
- package/presets/core.d.ts +11 -11
- package/presets/core.js +11 -11
- package/profiles/index.d.ts +7 -7
- package/profiles/index.js +13 -13
- package/profiles/types.d.ts +357 -357
- package/profiles/types.js +454 -454
- package/readme.md +21 -21
- package/regional-settings/content-type.d.ts +7 -7
- package/regional-settings/content-type.js +4 -4
- package/regional-settings/field.d.ts +7 -7
- package/regional-settings/field.js +4 -4
- package/regional-settings/funcs.d.ts +2 -2
- package/regional-settings/funcs.js +8 -8
- package/regional-settings/index.d.ts +6 -6
- package/regional-settings/index.js +6 -6
- package/regional-settings/list.d.ts +7 -7
- package/regional-settings/list.js +4 -4
- package/regional-settings/types.d.ts +111 -111
- package/regional-settings/types.js +159 -159
- package/regional-settings/user-custom-actions.d.ts +7 -7
- package/regional-settings/user-custom-actions.js +4 -4
- package/regional-settings/web.d.ts +12 -12
- package/regional-settings/web.js +7 -7
- package/related-items/index.d.ts +1 -1
- package/related-items/index.js +1 -1
- package/related-items/types.d.ts +76 -76
- package/related-items/types.js +103 -103
- package/related-items/web.d.ts +12 -12
- package/related-items/web.js +9 -9
- package/rest.d.ts +44 -44
- package/rest.js +72 -72
- package/search/index.d.ts +30 -30
- package/search/index.js +25 -25
- package/search/query.d.ts +62 -62
- package/search/query.js +302 -302
- package/search/suggest.d.ts +76 -76
- package/search/suggest.js +66 -66
- package/search/types.d.ts +426 -426
- package/search/types.js +57 -57
- package/security/funcs.d.ts +43 -43
- package/security/funcs.js +142 -142
- package/security/index.d.ts +4 -4
- package/security/index.js +4 -4
- package/security/item.d.ts +7 -7
- package/security/item.js +14 -14
- package/security/list.d.ts +7 -7
- package/security/list.js +14 -14
- package/security/types.d.ts +318 -318
- package/security/types.js +399 -399
- package/security/web.d.ts +9 -9
- package/security/web.js +15 -15
- package/sharepointqueryable.d.ts +135 -135
- package/sharepointqueryable.js +265 -265
- package/sharing/file.d.ts +18 -18
- package/sharing/file.d.ts.map +1 -1
- package/sharing/file.js +116 -15
- package/sharing/file.js.map +1 -1
- package/sharing/folder.d.ts +9 -9
- package/sharing/folder.js +136 -136
- package/sharing/funcs.d.ts +62 -62
- package/sharing/funcs.js +239 -239
- package/sharing/funcs.js.map +1 -1
- package/sharing/index.d.ts +5 -5
- package/sharing/index.js +5 -5
- package/sharing/item.d.ts +16 -16
- package/sharing/item.js +15 -15
- package/sharing/types.d.ts +583 -583
- package/sharing/types.js +113 -113
- package/sharing/web.d.ts +19 -19
- package/sharing/web.js +76 -76
- package/site-designs/index.d.ts +8 -8
- package/site-designs/index.js +14 -14
- package/site-designs/types.d.ts +319 -319
- package/site-designs/types.js +203 -203
- package/site-designs/web.d.ts +25 -25
- package/site-designs/web.js +11 -11
- package/site-groups/index.d.ts +2 -2
- package/site-groups/index.js +2 -2
- package/site-groups/types.d.ts +89 -89
- package/site-groups/types.js +125 -125
- package/site-groups/web.d.ts +40 -40
- package/site-groups/web.js +30 -30
- package/site-scripts/index.d.ts +9 -9
- package/site-scripts/index.js +15 -15
- package/site-scripts/list.d.ts +12 -12
- package/site-scripts/list.js +24 -24
- package/site-scripts/types.d.ts +183 -183
- package/site-scripts/types.js +141 -141
- package/site-scripts/web.d.ts +13 -13
- package/site-scripts/web.js +5 -5
- package/site-users/index.d.ts +2 -2
- package/site-users/index.js +2 -2
- package/site-users/types.d.ts +138 -138
- package/site-users/types.js +122 -122
- package/site-users/web.d.ts +31 -31
- package/site-users/web.js +27 -27
- package/sites/index.d.ts +7 -7
- package/sites/index.js +13 -13
- package/sites/types.d.ts +147 -147
- package/sites/types.js +321 -321
- package/social/index.d.ts +10 -10
- package/social/index.js +13 -13
- package/social/types.d.ts +309 -309
- package/social/types.js +322 -322
- package/sphttpclient.d.ts +18 -18
- package/sphttpclient.js +189 -189
- package/splibconfig.d.ts +22 -22
- package/splibconfig.js +13 -13
- package/sputilities/index.d.ts +7 -7
- package/sputilities/index.js +13 -13
- package/sputilities/types.d.ts +130 -130
- package/sputilities/types.js +118 -118
- package/subscriptions/index.d.ts +2 -2
- package/subscriptions/index.js +2 -2
- package/subscriptions/list.d.ts +13 -13
- package/subscriptions/list.js +4 -4
- package/subscriptions/types.d.ts +54 -54
- package/subscriptions/types.js +111 -111
- package/taxonomy/index.d.ts +7 -7
- package/taxonomy/index.js +13 -13
- package/taxonomy/types.d.ts +200 -200
- package/taxonomy/types.js +347 -347
- package/taxonomy/types.js.map +1 -1
- package/telemetry.d.ts +12 -12
- package/telemetry.js +48 -48
- package/types.d.ts +218 -218
- package/types.js +79 -79
- package/user-custom-actions/index.d.ts +4 -4
- package/user-custom-actions/index.js +4 -4
- package/user-custom-actions/list.d.ts +12 -12
- package/user-custom-actions/list.js +4 -4
- package/user-custom-actions/site.d.ts +12 -12
- package/user-custom-actions/site.js +4 -4
- package/user-custom-actions/types.d.ts +82 -82
- package/user-custom-actions/types.js +93 -93
- package/user-custom-actions/web.d.ts +15 -15
- package/user-custom-actions/web.js +4 -4
- package/utils/escapeQueryStrValue.d.ts +1 -1
- package/utils/escapeQueryStrValue.js +19 -19
- package/utils/extractweburl.d.ts +1 -1
- package/utils/extractweburl.js +15 -15
- package/utils/file-names.d.ts +17 -17
- package/utils/file-names.js +38 -38
- package/utils/metadata.d.ts +5 -5
- package/utils/metadata.js +5 -5
- package/utils/objectToSPKeyValueCollection.d.ts +20 -20
- package/utils/objectToSPKeyValueCollection.js +16 -16
- package/utils/toResourcePath.d.ts +7 -7
- package/utils/toResourcePath.js +6 -6
- package/utils/toabsoluteurl.d.ts +7 -7
- package/utils/toabsoluteurl.js +61 -61
- package/views/index.d.ts +2 -2
- package/views/index.js +2 -2
- package/views/list.d.ts +23 -23
- package/views/list.js +8 -8
- package/views/types.d.ts +140 -140
- package/views/types.js +184 -184
- package/webparts/file.d.ts +15 -15
- package/webparts/file.js +6 -6
- package/webparts/index.d.ts +2 -2
- package/webparts/index.js +2 -2
- package/webparts/types.d.ts +83 -83
- package/webparts/types.js +117 -117
- package/webs/index.d.ts +16 -16
- package/webs/index.js +16 -16
- package/webs/types.d.ts +210 -210
- package/webs/types.js +295 -295
package/folders/types.js
CHANGED
|
@@ -1,434 +1,434 @@
|
|
|
1
|
-
import { __awaiter, __decorate, __extends, __generator, __read, __spreadArray } from "tslib";
|
|
2
|
-
import { assign, isUrlAbsolute, combine, hOP } from "@pnp/common";
|
|
3
|
-
import { SharePointQueryable, SharePointQueryableCollection, SharePointQueryableInstance, _SharePointQueryableInstance, _SharePointQueryableCollection, spInvokableFactory, deleteableWithETag, } from "../sharepointqueryable.js";
|
|
4
|
-
import { odataUrlFrom } from "../odata.js";
|
|
5
|
-
import { Item } from "../items/types.js";
|
|
6
|
-
import { body } from "@pnp/odata";
|
|
7
|
-
import { defaultPath } from "../decorators.js";
|
|
8
|
-
import { spPost } from "../operations.js";
|
|
9
|
-
import { escapeQueryStrValue } from "../utils/escapeQueryStrValue.js";
|
|
10
|
-
import { extractWebUrl } from "../utils/extractweburl.js";
|
|
11
|
-
import { tag } from "../telemetry.js";
|
|
12
|
-
import { toResourcePath } from "../utils/toResourcePath.js";
|
|
13
|
-
var _Folders = /** @class */ (function (_super) {
|
|
14
|
-
__extends(_Folders, _super);
|
|
15
|
-
function _Folders() {
|
|
16
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Gets a folder by it's name
|
|
20
|
-
*
|
|
21
|
-
* @param name Folder's name
|
|
22
|
-
*/
|
|
23
|
-
_Folders.prototype.getByName = function (name) {
|
|
24
|
-
return tag.configure(Folder(this).concat("('" + escapeQueryStrValue(name) + "')"), "fs.getByName");
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Adds a new folder at the specified URL
|
|
28
|
-
*
|
|
29
|
-
* @param url
|
|
30
|
-
*/
|
|
31
|
-
_Folders.prototype.add = function (url) {
|
|
32
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
33
|
-
var data;
|
|
34
|
-
return __generator(this, function (_a) {
|
|
35
|
-
switch (_a.label) {
|
|
36
|
-
case 0: return [4 /*yield*/, spPost(this.clone(Folders, "add('" + escapeQueryStrValue(url) + "')"))];
|
|
37
|
-
case 1:
|
|
38
|
-
data = _a.sent();
|
|
39
|
-
return [2 /*return*/, {
|
|
40
|
-
data: data,
|
|
41
|
-
folder: this.getByName(url),
|
|
42
|
-
}];
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* Adds a new folder by path and should be prefered over add
|
|
49
|
-
*
|
|
50
|
-
* @param serverRelativeUrl The server relative url of the new folder to create
|
|
51
|
-
* @param overwrite True to overwrite an existing folder, default false
|
|
52
|
-
*/
|
|
53
|
-
_Folders.prototype.addUsingPath = function (serverRelativeUrl, overwrite) {
|
|
54
|
-
if (overwrite === void 0) { overwrite = false; }
|
|
55
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
56
|
-
var data;
|
|
57
|
-
return __generator(this, function (_a) {
|
|
58
|
-
switch (_a.label) {
|
|
59
|
-
case 0: return [4 /*yield*/, spPost(this.clone(Folders, "addUsingPath(DecodedUrl='" + escapeQueryStrValue(serverRelativeUrl) + "',overwrite=" + overwrite + ")"))];
|
|
60
|
-
case 1:
|
|
61
|
-
data = _a.sent();
|
|
62
|
-
return [2 /*return*/, {
|
|
63
|
-
data: data,
|
|
64
|
-
folder: Folder(extractWebUrl(this.toUrl()), "_api/web/getFolderByServerRelativePath(decodedUrl='" + escapeQueryStrValue(serverRelativeUrl) + "')"),
|
|
65
|
-
}];
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
};
|
|
70
|
-
__decorate([
|
|
71
|
-
tag("fs.add")
|
|
72
|
-
], _Folders.prototype, "add", null);
|
|
73
|
-
__decorate([
|
|
74
|
-
tag("fs.addUsingPath")
|
|
75
|
-
], _Folders.prototype, "addUsingPath", null);
|
|
76
|
-
_Folders = __decorate([
|
|
77
|
-
defaultPath("folders")
|
|
78
|
-
], _Folders);
|
|
79
|
-
return _Folders;
|
|
80
|
-
}(_SharePointQueryableCollection));
|
|
81
|
-
export { _Folders };
|
|
82
|
-
export var Folders = spInvokableFactory(_Folders);
|
|
83
|
-
var _Folder = /** @class */ (function (_super) {
|
|
84
|
-
__extends(_Folder, _super);
|
|
85
|
-
function _Folder() {
|
|
86
|
-
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
87
|
-
_this.delete = deleteableWithETag("f");
|
|
88
|
-
/**
|
|
89
|
-
* Updates folder's properties
|
|
90
|
-
* @param props Folder's properties to update
|
|
91
|
-
*/
|
|
92
|
-
_this.update = _this._update("SP.Folder", function (data) { return ({ data: data, folder: _this }); });
|
|
93
|
-
return _this;
|
|
94
|
-
}
|
|
95
|
-
Object.defineProperty(_Folder.prototype, "contentTypeOrder", {
|
|
96
|
-
/**
|
|
97
|
-
* Specifies the sequence in which content types are displayed.
|
|
98
|
-
*
|
|
99
|
-
*/
|
|
100
|
-
get: function () {
|
|
101
|
-
return tag.configure(SharePointQueryableCollection(this, "contentTypeOrder"), "f.contentTypeOrder");
|
|
102
|
-
},
|
|
103
|
-
enumerable: false,
|
|
104
|
-
configurable: true
|
|
105
|
-
});
|
|
106
|
-
Object.defineProperty(_Folder.prototype, "folders", {
|
|
107
|
-
/**
|
|
108
|
-
* Gets this folder's sub folders
|
|
109
|
-
*
|
|
110
|
-
*/
|
|
111
|
-
get: function () {
|
|
112
|
-
return Folders(this);
|
|
113
|
-
},
|
|
114
|
-
enumerable: false,
|
|
115
|
-
configurable: true
|
|
116
|
-
});
|
|
117
|
-
Object.defineProperty(_Folder.prototype, "listItemAllFields", {
|
|
118
|
-
/**
|
|
119
|
-
* Gets this folder's list item field values
|
|
120
|
-
*
|
|
121
|
-
*/
|
|
122
|
-
get: function () {
|
|
123
|
-
return tag.configure(SharePointQueryableInstance(this, "listItemAllFields"), "f.listItemAllFields");
|
|
124
|
-
},
|
|
125
|
-
enumerable: false,
|
|
126
|
-
configurable: true
|
|
127
|
-
});
|
|
128
|
-
Object.defineProperty(_Folder.prototype, "parentFolder", {
|
|
129
|
-
/**
|
|
130
|
-
* Gets the parent folder, if available
|
|
131
|
-
*
|
|
132
|
-
*/
|
|
133
|
-
get: function () {
|
|
134
|
-
return tag.configure(Folder(this, "parentFolder"), "f.parentFolder");
|
|
135
|
-
},
|
|
136
|
-
enumerable: false,
|
|
137
|
-
configurable: true
|
|
138
|
-
});
|
|
139
|
-
Object.defineProperty(_Folder.prototype, "properties", {
|
|
140
|
-
/**
|
|
141
|
-
* Gets this folder's properties
|
|
142
|
-
*
|
|
143
|
-
*/
|
|
144
|
-
get: function () {
|
|
145
|
-
return tag.configure(SharePointQueryableInstance(this, "properties"), "f.properties");
|
|
146
|
-
},
|
|
147
|
-
enumerable: false,
|
|
148
|
-
configurable: true
|
|
149
|
-
});
|
|
150
|
-
Object.defineProperty(_Folder.prototype, "serverRelativeUrl", {
|
|
151
|
-
/**
|
|
152
|
-
* Gets this folder's server relative url
|
|
153
|
-
*
|
|
154
|
-
*/
|
|
155
|
-
get: function () {
|
|
156
|
-
return tag.configure(SharePointQueryable(this, "serverRelativeUrl"), "f.serverRelativeUrl");
|
|
157
|
-
},
|
|
158
|
-
enumerable: false,
|
|
159
|
-
configurable: true
|
|
160
|
-
});
|
|
161
|
-
Object.defineProperty(_Folder.prototype, "uniqueContentTypeOrder", {
|
|
162
|
-
/**
|
|
163
|
-
* Gets a value that specifies the content type order.
|
|
164
|
-
*
|
|
165
|
-
*/
|
|
166
|
-
get: function () {
|
|
167
|
-
return tag.configure(SharePointQueryableCollection(this, "uniqueContentTypeOrder"), "f.uniqueContentTypeOrder");
|
|
168
|
-
},
|
|
169
|
-
enumerable: false,
|
|
170
|
-
configurable: true
|
|
171
|
-
});
|
|
172
|
-
/**
|
|
173
|
-
* Moves the folder to the Recycle Bin and returns the identifier of the new Recycle Bin item.
|
|
174
|
-
*/
|
|
175
|
-
_Folder.prototype.recycle = function () {
|
|
176
|
-
return spPost(this.clone(Folder, "recycle"));
|
|
177
|
-
};
|
|
178
|
-
/**
|
|
179
|
-
* Gets the associated list item for this folder, loading the default properties
|
|
180
|
-
*/
|
|
181
|
-
_Folder.prototype.getItem = function () {
|
|
182
|
-
var selects = [];
|
|
183
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
184
|
-
selects[_i] = arguments[_i];
|
|
185
|
-
}
|
|
186
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
187
|
-
var q;
|
|
188
|
-
var _a;
|
|
189
|
-
return __generator(this, function (_b) {
|
|
190
|
-
switch (_b.label) {
|
|
191
|
-
case 0: return [4 /*yield*/, (_a = this.listItemAllFields).select.apply(_a, __spreadArray([], __read(selects)))()];
|
|
192
|
-
case 1:
|
|
193
|
-
q = _b.sent();
|
|
194
|
-
if (hOP(q, "odata.null") && q["odata.null"]) {
|
|
195
|
-
throw Error("No associated item was found for this folder. It may be the root folder, which does not have an item.");
|
|
196
|
-
}
|
|
197
|
-
return [2 /*return*/, assign(Item(odataUrlFrom(q)).configureFrom(this), q)];
|
|
198
|
-
}
|
|
199
|
-
});
|
|
200
|
-
});
|
|
201
|
-
};
|
|
202
|
-
/**
|
|
203
|
-
* Moves a folder to destination path
|
|
204
|
-
*
|
|
205
|
-
* @param destUrl Absolute or relative URL of the destination path
|
|
206
|
-
*/
|
|
207
|
-
_Folder.prototype.moveTo = function (destUrl) {
|
|
208
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
209
|
-
var urlInfo, uri;
|
|
210
|
-
return __generator(this, function (_a) {
|
|
211
|
-
switch (_a.label) {
|
|
212
|
-
case 0: return [4 /*yield*/, this.getParentInfos()];
|
|
213
|
-
case 1:
|
|
214
|
-
urlInfo = _a.sent();
|
|
215
|
-
uri = new URL(urlInfo.ParentWeb.Url);
|
|
216
|
-
return [4 /*yield*/, spPost(Folder(urlInfo.ParentWeb.Url, "/_api/SP.MoveCopyUtil.MoveFolder()").configureFrom(this), body({
|
|
217
|
-
destUrl: isUrlAbsolute(destUrl) ? destUrl : combine(uri.origin, destUrl),
|
|
218
|
-
srcUrl: combine(uri.origin, urlInfo.Folder.ServerRelativeUrl),
|
|
219
|
-
}))];
|
|
220
|
-
case 2:
|
|
221
|
-
_a.sent();
|
|
222
|
-
return [2 /*return*/];
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
});
|
|
226
|
-
};
|
|
227
|
-
/**
|
|
228
|
-
* Moves a folder by path to destination path
|
|
229
|
-
* Also works with different site collections.
|
|
230
|
-
*
|
|
231
|
-
* @param destUrl Absolute or relative URL of the destination path
|
|
232
|
-
* @param keepBoth Keep both if folder with the same name in the same location already exists?
|
|
233
|
-
*/
|
|
234
|
-
_Folder.prototype.moveByPath = function (destUrl, KeepBoth) {
|
|
235
|
-
if (KeepBoth === void 0) { KeepBoth = false; }
|
|
236
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
237
|
-
var urlInfo, uri;
|
|
238
|
-
return __generator(this, function (_a) {
|
|
239
|
-
switch (_a.label) {
|
|
240
|
-
case 0: return [4 /*yield*/, this.getParentInfos()];
|
|
241
|
-
case 1:
|
|
242
|
-
urlInfo = _a.sent();
|
|
243
|
-
uri = new URL(urlInfo.ParentWeb.Url);
|
|
244
|
-
return [4 /*yield*/, spPost(Folder(uri.origin, "/_api/SP.MoveCopyUtil.MoveFolderByPath()").configureFrom(this), body({
|
|
245
|
-
destPath: toResourcePath(isUrlAbsolute(destUrl) ? destUrl : combine(uri.origin, destUrl)),
|
|
246
|
-
options: {
|
|
247
|
-
KeepBoth: KeepBoth,
|
|
248
|
-
ResetAuthorAndCreatedOnCopy: true,
|
|
249
|
-
ShouldBypassSharedLocks: true,
|
|
250
|
-
__metadata: {
|
|
251
|
-
type: "SP.MoveCopyOptions",
|
|
252
|
-
},
|
|
253
|
-
},
|
|
254
|
-
srcPath: toResourcePath(combine(uri.origin, urlInfo.Folder.ServerRelativeUrl)),
|
|
255
|
-
}))];
|
|
256
|
-
case 2:
|
|
257
|
-
_a.sent();
|
|
258
|
-
return [2 /*return*/];
|
|
259
|
-
}
|
|
260
|
-
});
|
|
261
|
-
});
|
|
262
|
-
};
|
|
263
|
-
/**
|
|
264
|
-
* Copies a folder to destination path
|
|
265
|
-
*
|
|
266
|
-
* @param destUrl Absolute or relative URL of the destination path
|
|
267
|
-
*/
|
|
268
|
-
_Folder.prototype.copyTo = function (destUrl) {
|
|
269
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
270
|
-
var urlInfo, uri;
|
|
271
|
-
return __generator(this, function (_a) {
|
|
272
|
-
switch (_a.label) {
|
|
273
|
-
case 0: return [4 /*yield*/, this.getParentInfos()];
|
|
274
|
-
case 1:
|
|
275
|
-
urlInfo = _a.sent();
|
|
276
|
-
uri = new URL(urlInfo.ParentWeb.Url);
|
|
277
|
-
return [4 /*yield*/, spPost(Folder(uri.origin, "/_api/SP.MoveCopyUtil.CopyFolder()").configureFrom(this), body({
|
|
278
|
-
destUrl: isUrlAbsolute(destUrl) ? destUrl : combine(uri.origin, destUrl),
|
|
279
|
-
srcUrl: combine(uri.origin, urlInfo.Folder.ServerRelativeUrl),
|
|
280
|
-
}))];
|
|
281
|
-
case 2:
|
|
282
|
-
_a.sent();
|
|
283
|
-
return [2 /*return*/];
|
|
284
|
-
}
|
|
285
|
-
});
|
|
286
|
-
});
|
|
287
|
-
};
|
|
288
|
-
/**
|
|
289
|
-
* Copies a folder by path to destination path
|
|
290
|
-
* Also works with different site collections.
|
|
291
|
-
*
|
|
292
|
-
* @param destUrl Absolute or relative URL of the destination path
|
|
293
|
-
* @param keepBoth Keep both if folder with the same name in the same location already exists?
|
|
294
|
-
*/
|
|
295
|
-
_Folder.prototype.copyByPath = function (destUrl, KeepBoth) {
|
|
296
|
-
if (KeepBoth === void 0) { KeepBoth = false; }
|
|
297
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
298
|
-
var urlInfo, uri;
|
|
299
|
-
return __generator(this, function (_a) {
|
|
300
|
-
switch (_a.label) {
|
|
301
|
-
case 0: return [4 /*yield*/, this.getParentInfos()];
|
|
302
|
-
case 1:
|
|
303
|
-
urlInfo = _a.sent();
|
|
304
|
-
uri = new URL(urlInfo.ParentWeb.Url);
|
|
305
|
-
return [4 /*yield*/, spPost(Folder(uri.origin, "/_api/SP.MoveCopyUtil.CopyFolderByPath()").configureFrom(this), body({
|
|
306
|
-
destPath: toResourcePath(isUrlAbsolute(destUrl) ? destUrl : combine(uri.origin, destUrl)),
|
|
307
|
-
options: {
|
|
308
|
-
KeepBoth: KeepBoth,
|
|
309
|
-
ResetAuthorAndCreatedOnCopy: true,
|
|
310
|
-
ShouldBypassSharedLocks: true,
|
|
311
|
-
__metadata: {
|
|
312
|
-
type: "SP.MoveCopyOptions",
|
|
313
|
-
},
|
|
314
|
-
},
|
|
315
|
-
srcPath: toResourcePath(combine(uri.origin, urlInfo.Folder.ServerRelativeUrl)),
|
|
316
|
-
}))];
|
|
317
|
-
case 2:
|
|
318
|
-
_a.sent();
|
|
319
|
-
return [2 /*return*/];
|
|
320
|
-
}
|
|
321
|
-
});
|
|
322
|
-
});
|
|
323
|
-
};
|
|
324
|
-
/**
|
|
325
|
-
* Deletes the folder object with options.
|
|
326
|
-
*
|
|
327
|
-
* @param parameters Specifies the options to use when deleting a folder.
|
|
328
|
-
*/
|
|
329
|
-
_Folder.prototype.deleteWithParams = function (parameters) {
|
|
330
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
331
|
-
return __generator(this, function (_a) {
|
|
332
|
-
return [2 /*return*/, spPost(this.clone(Folder, "DeleteWithParameters"), body({ parameters: parameters }))];
|
|
333
|
-
});
|
|
334
|
-
});
|
|
335
|
-
};
|
|
336
|
-
/**
|
|
337
|
-
* Create the subfolder inside the current folder, as specified by the leafPath
|
|
338
|
-
*
|
|
339
|
-
* @param leafPath leafName of the new folder
|
|
340
|
-
*/
|
|
341
|
-
_Folder.prototype.addSubFolderUsingPath = function (leafPath) {
|
|
342
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
343
|
-
return __generator(this, function (_a) {
|
|
344
|
-
switch (_a.label) {
|
|
345
|
-
case 0: return [4 /*yield*/, spPost(this.clone(Folder, "AddSubFolderUsingPath"), body({ leafPath: toResourcePath(leafPath) }))];
|
|
346
|
-
case 1:
|
|
347
|
-
_a.sent();
|
|
348
|
-
return [2 /*return*/, this.folders.getByName(leafPath)];
|
|
349
|
-
}
|
|
350
|
-
});
|
|
351
|
-
});
|
|
352
|
-
};
|
|
353
|
-
/**
|
|
354
|
-
* Gets the parent information for this folder's list and web
|
|
355
|
-
*/
|
|
356
|
-
_Folder.prototype.getParentInfos = function () {
|
|
357
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
358
|
-
var urlInfo;
|
|
359
|
-
return __generator(this, function (_a) {
|
|
360
|
-
switch (_a.label) {
|
|
361
|
-
case 0: return [4 /*yield*/, this.select("ServerRelativeUrl", "ListItemAllFields/ParentList/Id", "ListItemAllFields/ParentList/RootFolder/UniqueId", "ListItemAllFields/ParentList/RootFolder/ServerRelativeUrl", "ListItemAllFields/ParentList/RootFolder/ServerRelativePath", "ListItemAllFields/ParentList/ParentWeb/Id", "ListItemAllFields/ParentList/ParentWeb/Url", "ListItemAllFields/ParentList/ParentWeb/ServerRelativeUrl", "ListItemAllFields/ParentList/ParentWeb/ServerRelativePath").expand("ListItemAllFields/ParentList", "ListItemAllFields/ParentList/RootFolder", "ListItemAllFields/ParentList/ParentWeb")()];
|
|
362
|
-
case 1:
|
|
363
|
-
urlInfo = _a.sent();
|
|
364
|
-
return [2 /*return*/, {
|
|
365
|
-
Folder: {
|
|
366
|
-
ServerRelativeUrl: urlInfo.ServerRelativeUrl,
|
|
367
|
-
},
|
|
368
|
-
ParentList: {
|
|
369
|
-
Id: urlInfo.ListItemAllFields.ParentList.Id,
|
|
370
|
-
RootFolderServerRelativePath: urlInfo.ListItemAllFields.ParentList.RootFolder.ServerRelativePath,
|
|
371
|
-
RootFolderServerRelativeUrl: urlInfo.ListItemAllFields.ParentList.RootFolder.ServerRelativeUrl,
|
|
372
|
-
RootFolderUniqueId: urlInfo.ListItemAllFields.ParentList.RootFolder.UniqueId,
|
|
373
|
-
},
|
|
374
|
-
ParentWeb: {
|
|
375
|
-
Id: urlInfo.ListItemAllFields.ParentList.ParentWeb.Id,
|
|
376
|
-
ServerRelativePath: urlInfo.ListItemAllFields.ParentList.ParentWeb.ServerRelativePath,
|
|
377
|
-
ServerRelativeUrl: urlInfo.ListItemAllFields.ParentList.ParentWeb.ServerRelativeUrl,
|
|
378
|
-
Url: urlInfo.ListItemAllFields.ParentList.ParentWeb.Url,
|
|
379
|
-
},
|
|
380
|
-
}];
|
|
381
|
-
}
|
|
382
|
-
});
|
|
383
|
-
});
|
|
384
|
-
};
|
|
385
|
-
/**
|
|
386
|
-
* Gets the shareable item associated with this folder
|
|
387
|
-
*/
|
|
388
|
-
_Folder.prototype.getShareable = function () {
|
|
389
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
390
|
-
var d, shareable;
|
|
391
|
-
return __generator(this, function (_a) {
|
|
392
|
-
switch (_a.label) {
|
|
393
|
-
case 0: return [4 /*yield*/, this.clone(SharePointQueryableInstance, "listItemAllFields", false).select("odata.id")()];
|
|
394
|
-
case 1:
|
|
395
|
-
d = _a.sent();
|
|
396
|
-
shareable = Item(odataUrlFrom(d)).configureFrom(this);
|
|
397
|
-
// we need to handle batching
|
|
398
|
-
if (this.hasBatch) {
|
|
399
|
-
shareable = shareable.inBatch(this.batch);
|
|
400
|
-
}
|
|
401
|
-
return [2 /*return*/, shareable];
|
|
402
|
-
}
|
|
403
|
-
});
|
|
404
|
-
});
|
|
405
|
-
};
|
|
406
|
-
__decorate([
|
|
407
|
-
tag("f.recycle")
|
|
408
|
-
], _Folder.prototype, "recycle", null);
|
|
409
|
-
__decorate([
|
|
410
|
-
tag("f.getItem")
|
|
411
|
-
], _Folder.prototype, "getItem", null);
|
|
412
|
-
__decorate([
|
|
413
|
-
tag("f.moveTo")
|
|
414
|
-
], _Folder.prototype, "moveTo", null);
|
|
415
|
-
__decorate([
|
|
416
|
-
tag("f.moveByPath")
|
|
417
|
-
], _Folder.prototype, "moveByPath", null);
|
|
418
|
-
__decorate([
|
|
419
|
-
tag("f.copyTo")
|
|
420
|
-
], _Folder.prototype, "copyTo", null);
|
|
421
|
-
__decorate([
|
|
422
|
-
tag("f.copyByPath")
|
|
423
|
-
], _Folder.prototype, "copyByPath", null);
|
|
424
|
-
__decorate([
|
|
425
|
-
tag("f.del-params")
|
|
426
|
-
], _Folder.prototype, "deleteWithParams", null);
|
|
427
|
-
__decorate([
|
|
428
|
-
tag("f.getShareable")
|
|
429
|
-
], _Folder.prototype, "getShareable", null);
|
|
430
|
-
return _Folder;
|
|
431
|
-
}(_SharePointQueryableInstance));
|
|
432
|
-
export { _Folder };
|
|
433
|
-
export var Folder = spInvokableFactory(_Folder);
|
|
1
|
+
import { __awaiter, __decorate, __extends, __generator, __read, __spreadArray } from "tslib";
|
|
2
|
+
import { assign, isUrlAbsolute, combine, hOP } from "@pnp/common";
|
|
3
|
+
import { SharePointQueryable, SharePointQueryableCollection, SharePointQueryableInstance, _SharePointQueryableInstance, _SharePointQueryableCollection, spInvokableFactory, deleteableWithETag, } from "../sharepointqueryable.js";
|
|
4
|
+
import { odataUrlFrom } from "../odata.js";
|
|
5
|
+
import { Item } from "../items/types.js";
|
|
6
|
+
import { body } from "@pnp/odata";
|
|
7
|
+
import { defaultPath } from "../decorators.js";
|
|
8
|
+
import { spPost } from "../operations.js";
|
|
9
|
+
import { escapeQueryStrValue } from "../utils/escapeQueryStrValue.js";
|
|
10
|
+
import { extractWebUrl } from "../utils/extractweburl.js";
|
|
11
|
+
import { tag } from "../telemetry.js";
|
|
12
|
+
import { toResourcePath } from "../utils/toResourcePath.js";
|
|
13
|
+
var _Folders = /** @class */ (function (_super) {
|
|
14
|
+
__extends(_Folders, _super);
|
|
15
|
+
function _Folders() {
|
|
16
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Gets a folder by it's name
|
|
20
|
+
*
|
|
21
|
+
* @param name Folder's name
|
|
22
|
+
*/
|
|
23
|
+
_Folders.prototype.getByName = function (name) {
|
|
24
|
+
return tag.configure(Folder(this).concat("('" + escapeQueryStrValue(name) + "')"), "fs.getByName");
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Adds a new folder at the specified URL
|
|
28
|
+
*
|
|
29
|
+
* @param url
|
|
30
|
+
*/
|
|
31
|
+
_Folders.prototype.add = function (url) {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
33
|
+
var data;
|
|
34
|
+
return __generator(this, function (_a) {
|
|
35
|
+
switch (_a.label) {
|
|
36
|
+
case 0: return [4 /*yield*/, spPost(this.clone(Folders, "add('" + escapeQueryStrValue(url) + "')"))];
|
|
37
|
+
case 1:
|
|
38
|
+
data = _a.sent();
|
|
39
|
+
return [2 /*return*/, {
|
|
40
|
+
data: data,
|
|
41
|
+
folder: this.getByName(url),
|
|
42
|
+
}];
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Adds a new folder by path and should be prefered over add
|
|
49
|
+
*
|
|
50
|
+
* @param serverRelativeUrl The server relative url of the new folder to create
|
|
51
|
+
* @param overwrite True to overwrite an existing folder, default false
|
|
52
|
+
*/
|
|
53
|
+
_Folders.prototype.addUsingPath = function (serverRelativeUrl, overwrite) {
|
|
54
|
+
if (overwrite === void 0) { overwrite = false; }
|
|
55
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
56
|
+
var data;
|
|
57
|
+
return __generator(this, function (_a) {
|
|
58
|
+
switch (_a.label) {
|
|
59
|
+
case 0: return [4 /*yield*/, spPost(this.clone(Folders, "addUsingPath(DecodedUrl='" + escapeQueryStrValue(serverRelativeUrl) + "',overwrite=" + overwrite + ")"))];
|
|
60
|
+
case 1:
|
|
61
|
+
data = _a.sent();
|
|
62
|
+
return [2 /*return*/, {
|
|
63
|
+
data: data,
|
|
64
|
+
folder: Folder(extractWebUrl(this.toUrl()), "_api/web/getFolderByServerRelativePath(decodedUrl='" + escapeQueryStrValue(serverRelativeUrl) + "')"),
|
|
65
|
+
}];
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
__decorate([
|
|
71
|
+
tag("fs.add")
|
|
72
|
+
], _Folders.prototype, "add", null);
|
|
73
|
+
__decorate([
|
|
74
|
+
tag("fs.addUsingPath")
|
|
75
|
+
], _Folders.prototype, "addUsingPath", null);
|
|
76
|
+
_Folders = __decorate([
|
|
77
|
+
defaultPath("folders")
|
|
78
|
+
], _Folders);
|
|
79
|
+
return _Folders;
|
|
80
|
+
}(_SharePointQueryableCollection));
|
|
81
|
+
export { _Folders };
|
|
82
|
+
export var Folders = spInvokableFactory(_Folders);
|
|
83
|
+
var _Folder = /** @class */ (function (_super) {
|
|
84
|
+
__extends(_Folder, _super);
|
|
85
|
+
function _Folder() {
|
|
86
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
87
|
+
_this.delete = deleteableWithETag("f");
|
|
88
|
+
/**
|
|
89
|
+
* Updates folder's properties
|
|
90
|
+
* @param props Folder's properties to update
|
|
91
|
+
*/
|
|
92
|
+
_this.update = _this._update("SP.Folder", function (data) { return ({ data: data, folder: _this }); });
|
|
93
|
+
return _this;
|
|
94
|
+
}
|
|
95
|
+
Object.defineProperty(_Folder.prototype, "contentTypeOrder", {
|
|
96
|
+
/**
|
|
97
|
+
* Specifies the sequence in which content types are displayed.
|
|
98
|
+
*
|
|
99
|
+
*/
|
|
100
|
+
get: function () {
|
|
101
|
+
return tag.configure(SharePointQueryableCollection(this, "contentTypeOrder"), "f.contentTypeOrder");
|
|
102
|
+
},
|
|
103
|
+
enumerable: false,
|
|
104
|
+
configurable: true
|
|
105
|
+
});
|
|
106
|
+
Object.defineProperty(_Folder.prototype, "folders", {
|
|
107
|
+
/**
|
|
108
|
+
* Gets this folder's sub folders
|
|
109
|
+
*
|
|
110
|
+
*/
|
|
111
|
+
get: function () {
|
|
112
|
+
return Folders(this);
|
|
113
|
+
},
|
|
114
|
+
enumerable: false,
|
|
115
|
+
configurable: true
|
|
116
|
+
});
|
|
117
|
+
Object.defineProperty(_Folder.prototype, "listItemAllFields", {
|
|
118
|
+
/**
|
|
119
|
+
* Gets this folder's list item field values
|
|
120
|
+
*
|
|
121
|
+
*/
|
|
122
|
+
get: function () {
|
|
123
|
+
return tag.configure(SharePointQueryableInstance(this, "listItemAllFields"), "f.listItemAllFields");
|
|
124
|
+
},
|
|
125
|
+
enumerable: false,
|
|
126
|
+
configurable: true
|
|
127
|
+
});
|
|
128
|
+
Object.defineProperty(_Folder.prototype, "parentFolder", {
|
|
129
|
+
/**
|
|
130
|
+
* Gets the parent folder, if available
|
|
131
|
+
*
|
|
132
|
+
*/
|
|
133
|
+
get: function () {
|
|
134
|
+
return tag.configure(Folder(this, "parentFolder"), "f.parentFolder");
|
|
135
|
+
},
|
|
136
|
+
enumerable: false,
|
|
137
|
+
configurable: true
|
|
138
|
+
});
|
|
139
|
+
Object.defineProperty(_Folder.prototype, "properties", {
|
|
140
|
+
/**
|
|
141
|
+
* Gets this folder's properties
|
|
142
|
+
*
|
|
143
|
+
*/
|
|
144
|
+
get: function () {
|
|
145
|
+
return tag.configure(SharePointQueryableInstance(this, "properties"), "f.properties");
|
|
146
|
+
},
|
|
147
|
+
enumerable: false,
|
|
148
|
+
configurable: true
|
|
149
|
+
});
|
|
150
|
+
Object.defineProperty(_Folder.prototype, "serverRelativeUrl", {
|
|
151
|
+
/**
|
|
152
|
+
* Gets this folder's server relative url
|
|
153
|
+
*
|
|
154
|
+
*/
|
|
155
|
+
get: function () {
|
|
156
|
+
return tag.configure(SharePointQueryable(this, "serverRelativeUrl"), "f.serverRelativeUrl");
|
|
157
|
+
},
|
|
158
|
+
enumerable: false,
|
|
159
|
+
configurable: true
|
|
160
|
+
});
|
|
161
|
+
Object.defineProperty(_Folder.prototype, "uniqueContentTypeOrder", {
|
|
162
|
+
/**
|
|
163
|
+
* Gets a value that specifies the content type order.
|
|
164
|
+
*
|
|
165
|
+
*/
|
|
166
|
+
get: function () {
|
|
167
|
+
return tag.configure(SharePointQueryableCollection(this, "uniqueContentTypeOrder"), "f.uniqueContentTypeOrder");
|
|
168
|
+
},
|
|
169
|
+
enumerable: false,
|
|
170
|
+
configurable: true
|
|
171
|
+
});
|
|
172
|
+
/**
|
|
173
|
+
* Moves the folder to the Recycle Bin and returns the identifier of the new Recycle Bin item.
|
|
174
|
+
*/
|
|
175
|
+
_Folder.prototype.recycle = function () {
|
|
176
|
+
return spPost(this.clone(Folder, "recycle"));
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* Gets the associated list item for this folder, loading the default properties
|
|
180
|
+
*/
|
|
181
|
+
_Folder.prototype.getItem = function () {
|
|
182
|
+
var selects = [];
|
|
183
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
184
|
+
selects[_i] = arguments[_i];
|
|
185
|
+
}
|
|
186
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
187
|
+
var q;
|
|
188
|
+
var _a;
|
|
189
|
+
return __generator(this, function (_b) {
|
|
190
|
+
switch (_b.label) {
|
|
191
|
+
case 0: return [4 /*yield*/, (_a = this.listItemAllFields).select.apply(_a, __spreadArray([], __read(selects), false))()];
|
|
192
|
+
case 1:
|
|
193
|
+
q = _b.sent();
|
|
194
|
+
if (hOP(q, "odata.null") && q["odata.null"]) {
|
|
195
|
+
throw Error("No associated item was found for this folder. It may be the root folder, which does not have an item.");
|
|
196
|
+
}
|
|
197
|
+
return [2 /*return*/, assign(Item(odataUrlFrom(q)).configureFrom(this), q)];
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
};
|
|
202
|
+
/**
|
|
203
|
+
* Moves a folder to destination path
|
|
204
|
+
*
|
|
205
|
+
* @param destUrl Absolute or relative URL of the destination path
|
|
206
|
+
*/
|
|
207
|
+
_Folder.prototype.moveTo = function (destUrl) {
|
|
208
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
209
|
+
var urlInfo, uri;
|
|
210
|
+
return __generator(this, function (_a) {
|
|
211
|
+
switch (_a.label) {
|
|
212
|
+
case 0: return [4 /*yield*/, this.getParentInfos()];
|
|
213
|
+
case 1:
|
|
214
|
+
urlInfo = _a.sent();
|
|
215
|
+
uri = new URL(urlInfo.ParentWeb.Url);
|
|
216
|
+
return [4 /*yield*/, spPost(Folder(urlInfo.ParentWeb.Url, "/_api/SP.MoveCopyUtil.MoveFolder()").configureFrom(this), body({
|
|
217
|
+
destUrl: isUrlAbsolute(destUrl) ? destUrl : combine(uri.origin, destUrl),
|
|
218
|
+
srcUrl: combine(uri.origin, urlInfo.Folder.ServerRelativeUrl),
|
|
219
|
+
}))];
|
|
220
|
+
case 2:
|
|
221
|
+
_a.sent();
|
|
222
|
+
return [2 /*return*/];
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
};
|
|
227
|
+
/**
|
|
228
|
+
* Moves a folder by path to destination path
|
|
229
|
+
* Also works with different site collections.
|
|
230
|
+
*
|
|
231
|
+
* @param destUrl Absolute or relative URL of the destination path
|
|
232
|
+
* @param keepBoth Keep both if folder with the same name in the same location already exists?
|
|
233
|
+
*/
|
|
234
|
+
_Folder.prototype.moveByPath = function (destUrl, KeepBoth) {
|
|
235
|
+
if (KeepBoth === void 0) { KeepBoth = false; }
|
|
236
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
237
|
+
var urlInfo, uri;
|
|
238
|
+
return __generator(this, function (_a) {
|
|
239
|
+
switch (_a.label) {
|
|
240
|
+
case 0: return [4 /*yield*/, this.getParentInfos()];
|
|
241
|
+
case 1:
|
|
242
|
+
urlInfo = _a.sent();
|
|
243
|
+
uri = new URL(urlInfo.ParentWeb.Url);
|
|
244
|
+
return [4 /*yield*/, spPost(Folder(uri.origin, "/_api/SP.MoveCopyUtil.MoveFolderByPath()").configureFrom(this), body({
|
|
245
|
+
destPath: toResourcePath(isUrlAbsolute(destUrl) ? destUrl : combine(uri.origin, destUrl)),
|
|
246
|
+
options: {
|
|
247
|
+
KeepBoth: KeepBoth,
|
|
248
|
+
ResetAuthorAndCreatedOnCopy: true,
|
|
249
|
+
ShouldBypassSharedLocks: true,
|
|
250
|
+
__metadata: {
|
|
251
|
+
type: "SP.MoveCopyOptions",
|
|
252
|
+
},
|
|
253
|
+
},
|
|
254
|
+
srcPath: toResourcePath(combine(uri.origin, urlInfo.Folder.ServerRelativeUrl)),
|
|
255
|
+
}))];
|
|
256
|
+
case 2:
|
|
257
|
+
_a.sent();
|
|
258
|
+
return [2 /*return*/];
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
});
|
|
262
|
+
};
|
|
263
|
+
/**
|
|
264
|
+
* Copies a folder to destination path
|
|
265
|
+
*
|
|
266
|
+
* @param destUrl Absolute or relative URL of the destination path
|
|
267
|
+
*/
|
|
268
|
+
_Folder.prototype.copyTo = function (destUrl) {
|
|
269
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
270
|
+
var urlInfo, uri;
|
|
271
|
+
return __generator(this, function (_a) {
|
|
272
|
+
switch (_a.label) {
|
|
273
|
+
case 0: return [4 /*yield*/, this.getParentInfos()];
|
|
274
|
+
case 1:
|
|
275
|
+
urlInfo = _a.sent();
|
|
276
|
+
uri = new URL(urlInfo.ParentWeb.Url);
|
|
277
|
+
return [4 /*yield*/, spPost(Folder(uri.origin, "/_api/SP.MoveCopyUtil.CopyFolder()").configureFrom(this), body({
|
|
278
|
+
destUrl: isUrlAbsolute(destUrl) ? destUrl : combine(uri.origin, destUrl),
|
|
279
|
+
srcUrl: combine(uri.origin, urlInfo.Folder.ServerRelativeUrl),
|
|
280
|
+
}))];
|
|
281
|
+
case 2:
|
|
282
|
+
_a.sent();
|
|
283
|
+
return [2 /*return*/];
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
});
|
|
287
|
+
};
|
|
288
|
+
/**
|
|
289
|
+
* Copies a folder by path to destination path
|
|
290
|
+
* Also works with different site collections.
|
|
291
|
+
*
|
|
292
|
+
* @param destUrl Absolute or relative URL of the destination path
|
|
293
|
+
* @param keepBoth Keep both if folder with the same name in the same location already exists?
|
|
294
|
+
*/
|
|
295
|
+
_Folder.prototype.copyByPath = function (destUrl, KeepBoth) {
|
|
296
|
+
if (KeepBoth === void 0) { KeepBoth = false; }
|
|
297
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
298
|
+
var urlInfo, uri;
|
|
299
|
+
return __generator(this, function (_a) {
|
|
300
|
+
switch (_a.label) {
|
|
301
|
+
case 0: return [4 /*yield*/, this.getParentInfos()];
|
|
302
|
+
case 1:
|
|
303
|
+
urlInfo = _a.sent();
|
|
304
|
+
uri = new URL(urlInfo.ParentWeb.Url);
|
|
305
|
+
return [4 /*yield*/, spPost(Folder(uri.origin, "/_api/SP.MoveCopyUtil.CopyFolderByPath()").configureFrom(this), body({
|
|
306
|
+
destPath: toResourcePath(isUrlAbsolute(destUrl) ? destUrl : combine(uri.origin, destUrl)),
|
|
307
|
+
options: {
|
|
308
|
+
KeepBoth: KeepBoth,
|
|
309
|
+
ResetAuthorAndCreatedOnCopy: true,
|
|
310
|
+
ShouldBypassSharedLocks: true,
|
|
311
|
+
__metadata: {
|
|
312
|
+
type: "SP.MoveCopyOptions",
|
|
313
|
+
},
|
|
314
|
+
},
|
|
315
|
+
srcPath: toResourcePath(combine(uri.origin, urlInfo.Folder.ServerRelativeUrl)),
|
|
316
|
+
}))];
|
|
317
|
+
case 2:
|
|
318
|
+
_a.sent();
|
|
319
|
+
return [2 /*return*/];
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
});
|
|
323
|
+
};
|
|
324
|
+
/**
|
|
325
|
+
* Deletes the folder object with options.
|
|
326
|
+
*
|
|
327
|
+
* @param parameters Specifies the options to use when deleting a folder.
|
|
328
|
+
*/
|
|
329
|
+
_Folder.prototype.deleteWithParams = function (parameters) {
|
|
330
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
331
|
+
return __generator(this, function (_a) {
|
|
332
|
+
return [2 /*return*/, spPost(this.clone(Folder, "DeleteWithParameters"), body({ parameters: parameters }))];
|
|
333
|
+
});
|
|
334
|
+
});
|
|
335
|
+
};
|
|
336
|
+
/**
|
|
337
|
+
* Create the subfolder inside the current folder, as specified by the leafPath
|
|
338
|
+
*
|
|
339
|
+
* @param leafPath leafName of the new folder
|
|
340
|
+
*/
|
|
341
|
+
_Folder.prototype.addSubFolderUsingPath = function (leafPath) {
|
|
342
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
343
|
+
return __generator(this, function (_a) {
|
|
344
|
+
switch (_a.label) {
|
|
345
|
+
case 0: return [4 /*yield*/, spPost(this.clone(Folder, "AddSubFolderUsingPath"), body({ leafPath: toResourcePath(leafPath) }))];
|
|
346
|
+
case 1:
|
|
347
|
+
_a.sent();
|
|
348
|
+
return [2 /*return*/, this.folders.getByName(leafPath)];
|
|
349
|
+
}
|
|
350
|
+
});
|
|
351
|
+
});
|
|
352
|
+
};
|
|
353
|
+
/**
|
|
354
|
+
* Gets the parent information for this folder's list and web
|
|
355
|
+
*/
|
|
356
|
+
_Folder.prototype.getParentInfos = function () {
|
|
357
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
358
|
+
var urlInfo;
|
|
359
|
+
return __generator(this, function (_a) {
|
|
360
|
+
switch (_a.label) {
|
|
361
|
+
case 0: return [4 /*yield*/, this.select("ServerRelativeUrl", "ListItemAllFields/ParentList/Id", "ListItemAllFields/ParentList/RootFolder/UniqueId", "ListItemAllFields/ParentList/RootFolder/ServerRelativeUrl", "ListItemAllFields/ParentList/RootFolder/ServerRelativePath", "ListItemAllFields/ParentList/ParentWeb/Id", "ListItemAllFields/ParentList/ParentWeb/Url", "ListItemAllFields/ParentList/ParentWeb/ServerRelativeUrl", "ListItemAllFields/ParentList/ParentWeb/ServerRelativePath").expand("ListItemAllFields/ParentList", "ListItemAllFields/ParentList/RootFolder", "ListItemAllFields/ParentList/ParentWeb")()];
|
|
362
|
+
case 1:
|
|
363
|
+
urlInfo = _a.sent();
|
|
364
|
+
return [2 /*return*/, {
|
|
365
|
+
Folder: {
|
|
366
|
+
ServerRelativeUrl: urlInfo.ServerRelativeUrl,
|
|
367
|
+
},
|
|
368
|
+
ParentList: {
|
|
369
|
+
Id: urlInfo.ListItemAllFields.ParentList.Id,
|
|
370
|
+
RootFolderServerRelativePath: urlInfo.ListItemAllFields.ParentList.RootFolder.ServerRelativePath,
|
|
371
|
+
RootFolderServerRelativeUrl: urlInfo.ListItemAllFields.ParentList.RootFolder.ServerRelativeUrl,
|
|
372
|
+
RootFolderUniqueId: urlInfo.ListItemAllFields.ParentList.RootFolder.UniqueId,
|
|
373
|
+
},
|
|
374
|
+
ParentWeb: {
|
|
375
|
+
Id: urlInfo.ListItemAllFields.ParentList.ParentWeb.Id,
|
|
376
|
+
ServerRelativePath: urlInfo.ListItemAllFields.ParentList.ParentWeb.ServerRelativePath,
|
|
377
|
+
ServerRelativeUrl: urlInfo.ListItemAllFields.ParentList.ParentWeb.ServerRelativeUrl,
|
|
378
|
+
Url: urlInfo.ListItemAllFields.ParentList.ParentWeb.Url,
|
|
379
|
+
},
|
|
380
|
+
}];
|
|
381
|
+
}
|
|
382
|
+
});
|
|
383
|
+
});
|
|
384
|
+
};
|
|
385
|
+
/**
|
|
386
|
+
* Gets the shareable item associated with this folder
|
|
387
|
+
*/
|
|
388
|
+
_Folder.prototype.getShareable = function () {
|
|
389
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
390
|
+
var d, shareable;
|
|
391
|
+
return __generator(this, function (_a) {
|
|
392
|
+
switch (_a.label) {
|
|
393
|
+
case 0: return [4 /*yield*/, this.clone(SharePointQueryableInstance, "listItemAllFields", false).select("odata.id")()];
|
|
394
|
+
case 1:
|
|
395
|
+
d = _a.sent();
|
|
396
|
+
shareable = Item(odataUrlFrom(d)).configureFrom(this);
|
|
397
|
+
// we need to handle batching
|
|
398
|
+
if (this.hasBatch) {
|
|
399
|
+
shareable = shareable.inBatch(this.batch);
|
|
400
|
+
}
|
|
401
|
+
return [2 /*return*/, shareable];
|
|
402
|
+
}
|
|
403
|
+
});
|
|
404
|
+
});
|
|
405
|
+
};
|
|
406
|
+
__decorate([
|
|
407
|
+
tag("f.recycle")
|
|
408
|
+
], _Folder.prototype, "recycle", null);
|
|
409
|
+
__decorate([
|
|
410
|
+
tag("f.getItem")
|
|
411
|
+
], _Folder.prototype, "getItem", null);
|
|
412
|
+
__decorate([
|
|
413
|
+
tag("f.moveTo")
|
|
414
|
+
], _Folder.prototype, "moveTo", null);
|
|
415
|
+
__decorate([
|
|
416
|
+
tag("f.moveByPath")
|
|
417
|
+
], _Folder.prototype, "moveByPath", null);
|
|
418
|
+
__decorate([
|
|
419
|
+
tag("f.copyTo")
|
|
420
|
+
], _Folder.prototype, "copyTo", null);
|
|
421
|
+
__decorate([
|
|
422
|
+
tag("f.copyByPath")
|
|
423
|
+
], _Folder.prototype, "copyByPath", null);
|
|
424
|
+
__decorate([
|
|
425
|
+
tag("f.del-params")
|
|
426
|
+
], _Folder.prototype, "deleteWithParams", null);
|
|
427
|
+
__decorate([
|
|
428
|
+
tag("f.getShareable")
|
|
429
|
+
], _Folder.prototype, "getShareable", null);
|
|
430
|
+
return _Folder;
|
|
431
|
+
}(_SharePointQueryableInstance));
|
|
432
|
+
export { _Folder };
|
|
433
|
+
export var Folder = spInvokableFactory(_Folder);
|
|
434
434
|
//# sourceMappingURL=types.js.map
|