@rs-pk/asset-management 1.0.12 → 1.0.14
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/bundles/rs-pk-asset-management.umd.js +138 -164
- package/bundles/rs-pk-asset-management.umd.js.map +1 -1
- package/bundles/rs-pk-asset-management.umd.min.js +2 -2
- package/bundles/rs-pk-asset-management.umd.min.js.map +1 -1
- package/esm2015/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +6 -3
- package/esm2015/lib/components/partial/asset-dialog/asset-dialog.component.js +3 -2
- package/esm2015/lib/components/partial/asset-item/asset-item.component.js +3 -3
- package/esm2015/lib/components/partial/breadcrumb/breadcrumb.component.js +13 -7
- package/esm2015/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +6 -3
- package/esm2015/lib/components/partial/file-item/file-item.component.js +57 -18
- package/esm2015/lib/components/partial/file-list/file-list.component.js +10 -9
- package/esm2015/lib/components/partial/upload-file/upload-file.component.js +1 -18
- package/esm2015/lib/services/upload-assets.service.js +30 -61
- package/esm5/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +6 -3
- package/esm5/lib/components/partial/asset-dialog/asset-dialog.component.js +3 -2
- package/esm5/lib/components/partial/asset-item/asset-item.component.js +3 -3
- package/esm5/lib/components/partial/breadcrumb/breadcrumb.component.js +12 -7
- package/esm5/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +6 -3
- package/esm5/lib/components/partial/file-item/file-item.component.js +71 -22
- package/esm5/lib/components/partial/file-list/file-list.component.js +13 -13
- package/esm5/lib/components/partial/upload-file/upload-file.component.js +1 -29
- package/esm5/lib/services/upload-assets.service.js +33 -92
- package/fesm2015/rs-pk-asset-management.js +119 -114
- package/fesm2015/rs-pk-asset-management.js.map +1 -1
- package/fesm5/rs-pk-asset-management.js +139 -165
- package/fesm5/rs-pk-asset-management.js.map +1 -1
- package/lib/components/partial/breadcrumb/breadcrumb.component.d.ts +3 -2
- package/lib/components/partial/file-item/file-item.component.d.ts +7 -3
- package/lib/components/partial/file-list/file-list.component.d.ts +5 -2
- package/lib/components/partial/upload-file/upload-file.component.d.ts +0 -2
- package/lib/services/upload-assets.service.d.ts +5 -15
- package/package.json +1 -1
- package/rs-pk-asset-management.metadata.json +1 -1
|
@@ -14,8 +14,7 @@ var UploadAssetsService = /** @class */ (function () {
|
|
|
14
14
|
this.dialog = dialog;
|
|
15
15
|
this._api = _api;
|
|
16
16
|
this.files = [];
|
|
17
|
-
this.
|
|
18
|
-
this.errorsMap = {};
|
|
17
|
+
this.fileNames = [];
|
|
19
18
|
this.supportedSize = 10 * 1024 * 1024; // 10MB
|
|
20
19
|
// 10MB
|
|
21
20
|
this.documentExtension = ['.pdf'];
|
|
@@ -32,6 +31,7 @@ var UploadAssetsService = /** @class */ (function () {
|
|
|
32
31
|
size: "File size should be upto",
|
|
33
32
|
ext: "Only supported file extension:",
|
|
34
33
|
replace: "The replacement file should be the same extension with old one:",
|
|
34
|
+
maxLength: "The character limit is 200 characters",
|
|
35
35
|
};
|
|
36
36
|
this.errorObs$ = new BehaviorSubject(true);
|
|
37
37
|
this.baseUrl = this._env.asset2Url;
|
|
@@ -77,54 +77,18 @@ var UploadAssetsService = /** @class */ (function () {
|
|
|
77
77
|
enumerable: true,
|
|
78
78
|
configurable: true
|
|
79
79
|
});
|
|
80
|
-
Object.defineProperty(UploadAssetsService.prototype, "nameFiles", {
|
|
81
|
-
get: /**
|
|
82
|
-
* @return {?}
|
|
83
|
-
*/
|
|
84
|
-
function () {
|
|
85
|
-
return this.namesMap;
|
|
86
|
-
},
|
|
87
|
-
enumerable: true,
|
|
88
|
-
configurable: true
|
|
89
|
-
});
|
|
90
|
-
Object.defineProperty(UploadAssetsService.prototype, "newName", {
|
|
91
|
-
set: /**
|
|
92
|
-
* @param {?} newName
|
|
93
|
-
* @return {?}
|
|
94
|
-
*/
|
|
95
|
-
function (newName) {
|
|
96
|
-
this.namesMap = tslib_1.__assign({}, this.namesMap, newName);
|
|
97
|
-
},
|
|
98
|
-
enumerable: true,
|
|
99
|
-
configurable: true
|
|
100
|
-
});
|
|
101
80
|
Object.defineProperty(UploadAssetsService.prototype, "errorFiles", {
|
|
102
81
|
get: /**
|
|
103
82
|
* @return {?}
|
|
104
83
|
*/
|
|
105
84
|
function () {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
* @param {?} newError
|
|
114
|
-
* @return {?}
|
|
115
|
-
*/
|
|
116
|
-
function (newError) {
|
|
117
|
-
this.errorsMap = tslib_1.__assign({}, this.errorsMap, newError);
|
|
118
|
-
},
|
|
119
|
-
enumerable: true,
|
|
120
|
-
configurable: true
|
|
121
|
-
});
|
|
122
|
-
Object.defineProperty(UploadAssetsService.prototype, "fileErrors", {
|
|
123
|
-
get: /**
|
|
124
|
-
* @return {?}
|
|
125
|
-
*/
|
|
126
|
-
function () {
|
|
127
|
-
return this.errorsMap;
|
|
85
|
+
/** @type {?} */
|
|
86
|
+
var invalidFiles = this.fileNames.filter((/**
|
|
87
|
+
* @param {?} file
|
|
88
|
+
* @return {?}
|
|
89
|
+
*/
|
|
90
|
+
function (file) { return !file.valid; }));
|
|
91
|
+
return this.fileNames.length && invalidFiles.length > 0;
|
|
128
92
|
},
|
|
129
93
|
enumerable: true,
|
|
130
94
|
configurable: true
|
|
@@ -134,30 +98,26 @@ var UploadAssetsService = /** @class */ (function () {
|
|
|
134
98
|
* @return {?}
|
|
135
99
|
*/
|
|
136
100
|
function () {
|
|
137
|
-
return
|
|
101
|
+
return this.fileNames.filter((/**
|
|
102
|
+
* @param {?} file
|
|
103
|
+
* @return {?}
|
|
104
|
+
*/
|
|
105
|
+
function (file) { return !file.valid; })).length;
|
|
138
106
|
},
|
|
139
107
|
enumerable: true,
|
|
140
108
|
configurable: true
|
|
141
109
|
});
|
|
142
110
|
/**
|
|
143
|
-
* @param {?} fileName
|
|
144
111
|
* @param {?} index
|
|
145
112
|
* @return {?}
|
|
146
113
|
*/
|
|
147
114
|
UploadAssetsService.prototype.deleteFile = /**
|
|
148
|
-
* @param {?} fileName
|
|
149
115
|
* @param {?} index
|
|
150
116
|
* @return {?}
|
|
151
117
|
*/
|
|
152
|
-
function (
|
|
153
|
-
this.files
|
|
154
|
-
|
|
155
|
-
* @param {?} i
|
|
156
|
-
* @return {?}
|
|
157
|
-
*/
|
|
158
|
-
function (_file, i) { return i !== index; }));
|
|
159
|
-
delete this.namesMap[fileName];
|
|
160
|
-
delete this.errorsMap[fileName];
|
|
118
|
+
function (index) {
|
|
119
|
+
this.files.splice(index, 1);
|
|
120
|
+
this.fileNames.splice(index, 1);
|
|
161
121
|
};
|
|
162
122
|
/**
|
|
163
123
|
* @param {?} parentAssetId
|
|
@@ -168,34 +128,23 @@ var UploadAssetsService = /** @class */ (function () {
|
|
|
168
128
|
* @return {?}
|
|
169
129
|
*/
|
|
170
130
|
function (parentAssetId) {
|
|
171
|
-
var
|
|
172
|
-
|
|
131
|
+
var files = this.files;
|
|
132
|
+
/** @type {?} */
|
|
133
|
+
var fileNames = this.fileNames.map((/**
|
|
134
|
+
* @param {?} file
|
|
135
|
+
* @return {?}
|
|
136
|
+
*/
|
|
137
|
+
function (file) { return file.name; }));
|
|
173
138
|
/** @type {?} */
|
|
174
139
|
var formData = new FormData();
|
|
175
140
|
formData.append('parentAssetId', parentAssetId);
|
|
176
141
|
formData.append('companyId', '732DA8D2-04EC-4BE0-A168-63EE0DCF50D8');
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
var ext = "." + nameSplit.splice(nameSplit.length - 1, 1)[0];
|
|
184
|
-
/** @type {?} */
|
|
185
|
-
var originName = file.name;
|
|
186
|
-
/** @type {?} */
|
|
187
|
-
var fileName = namesMap[originName]
|
|
188
|
-
? "" + namesMap[originName] + ext
|
|
189
|
-
: originName;
|
|
190
|
-
formData.append('files', file, fileName);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
194
|
-
finally {
|
|
195
|
-
try {
|
|
196
|
-
if (files_1_1 && !files_1_1.done && (_a = files_1.return)) _a.call(files_1);
|
|
197
|
-
}
|
|
198
|
-
finally { if (e_1) throw e_1.error; }
|
|
142
|
+
for (var i = 0; i < files.length; i++) {
|
|
143
|
+
/** @type {?} */
|
|
144
|
+
var nameSplit = files[i].name.split('.');
|
|
145
|
+
/** @type {?} */
|
|
146
|
+
var ext = "." + nameSplit.splice(nameSplit.length - 1, 1)[0];
|
|
147
|
+
formData.append('files', files[i], "" + fileNames[i] + ext);
|
|
199
148
|
}
|
|
200
149
|
return this._api.post(this.baseUrl + "/File/Upload", formData);
|
|
201
150
|
};
|
|
@@ -217,16 +166,8 @@ if (false) {
|
|
|
217
166
|
* @private
|
|
218
167
|
*/
|
|
219
168
|
UploadAssetsService.prototype.files;
|
|
220
|
-
/**
|
|
221
|
-
|
|
222
|
-
* @private
|
|
223
|
-
*/
|
|
224
|
-
UploadAssetsService.prototype.namesMap;
|
|
225
|
-
/**
|
|
226
|
-
* @type {?}
|
|
227
|
-
* @private
|
|
228
|
-
*/
|
|
229
|
-
UploadAssetsService.prototype.errorsMap;
|
|
169
|
+
/** @type {?} */
|
|
170
|
+
UploadAssetsService.prototype.fileNames;
|
|
230
171
|
/** @type {?} */
|
|
231
172
|
UploadAssetsService.prototype.supportedSize;
|
|
232
173
|
/** @type {?} */
|
|
@@ -260,4 +201,4 @@ if (false) {
|
|
|
260
201
|
*/
|
|
261
202
|
UploadAssetsService.prototype._api;
|
|
262
203
|
}
|
|
263
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWFzc2V0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJzLXBrL2Fzc2V0LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdXBsb2FkLWFzc2V0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRDtJQXlCRSw2QkFDNkIsSUFBSSxFQUN4QixNQUFpQixFQUNoQixJQUFvQjtRQUZELFNBQUksR0FBSixJQUFJLENBQUE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNoQixTQUFJLEdBQUosSUFBSSxDQUFnQjtRQTFCdEIsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNwQixjQUFTLEdBQTBDLEVBQUUsQ0FBQztRQUM3QyxrQkFBYSxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTzs7UUFDekMsc0JBQWlCLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixtQkFBYyxHQUFHO1lBQy9CLE1BQU07WUFDTixNQUFNO1lBQ04sT0FBTztZQUNQLE1BQU07WUFDTixNQUFNO1lBQ04sVUFBVTtTQUNYLENBQUM7UUFDSyxtQkFBYyxvQkFBTyxJQUFJLENBQUMsY0FBYyxFQUFLLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtRQUM1RCxrQkFBYSxHQUFHO1lBQzlCLElBQUksRUFBRSwwQkFBMEI7WUFDaEMsR0FBRyxFQUFFLGdDQUFnQztZQUNyQyxPQUFPLEVBQUUsaUVBQWlF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QUFDLFNBQVM7Z0JBL0JaLFNBQVM7Z0JBRVQsY0FBYzs7SUFpRnZCLDBCQUFDO0NBQUEsQUE5RUQsSUE4RUM7U0E3RVksbUJBQW1COzs7Ozs7SUFDOUIsb0NBQTJCOztJQUMzQix3Q0FBNkQ7O0lBQzdELDRDQUFpRDs7SUFDakQsZ0RBQTZDOztJQUM3Qyw2Q0FPRTs7SUFDRiw2Q0FBNEU7O0lBQzVFLDRDQUtFOzs7OztJQUVGLHdDQUFvRTs7Ozs7SUFDcEUsc0NBQXdCOzs7OztJQUd0QixtQ0FBK0I7O0lBQy9CLHFDQUF3Qjs7Ozs7SUFDeEIsbUNBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYXNlSHR0cENsaWVudCB9IGZyb20gJy4vYmFzZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFNX0NPTkZJRyB9IGZyb20gJy4vZW52LWNvbmZpZy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVwbG9hZEFzc2V0c1NlcnZpY2Uge1xuICBwcml2YXRlIGZpbGVzOiBGaWxlW10gPSBbXTtcbiAgcHVibGljIGZpbGVOYW1lczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBib29sZWFuIH1bXSA9IFtdO1xuICBwdWJsaWMgcmVhZG9ubHkgc3VwcG9ydGVkU2l6ZSA9IDEwICogMTAyNCAqIDEwMjQ7IC8vIDEwTUJcbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50RXh0ZW5zaW9uID0gWycucGRmJ107XG4gIHB1YmxpYyByZWFkb25seSBpbWFnZUV4dGVuc2lvbiA9IFtcbiAgICAnLnBuZycsXG4gICAgJy5naWYnLFxuICAgICcuanBlZycsXG4gICAgJy5qcGcnLFxuICAgICcuc3ZnJyxcbiAgICAnLnN2Zyt4bWwnLFxuICBdO1xuICBwdWJsaWMgc3VwcG9ydGVkVHlwZXMgPSBbLi4udGhpcy5pbWFnZUV4dGVuc2lvbiwgLi4udGhpcy5kb2N1bWVudEV4dGVuc2lvbl07XG4gIHB1YmxpYyByZWFkb25seSBtZXNzYWdlRXJyb3JzID0ge1xuICAgIHNpemU6IGBGaWxlIHNpemUgc2hvdWxkIGJlIHVwdG9gLFxuICAgIGV4dDogYE9ubHkgc3VwcG9ydGVkIGZpbGUgZXh0ZW5zaW9uOmAsXG4gICAgcmVwbGFjZTogYFRoZSByZXBsYWNlbWVudCBmaWxlIHNob3VsZCBiZSB0aGUgc2FtZSBleHRlbnNpb24gd2l0aCBvbGQgb25lOmAsXG4gICAgbWF4TGVuZ3RoOiBgVGhlIGNoYXJhY3RlciBsaW1pdCBpcyAyMDAgY2hhcmFjdGVyc2AsXG4gIH07XG5cbiAgcHJpdmF0ZSBlcnJvck9icyQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcbiAgcHJpdmF0ZSBiYXNlVXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChBTV9DT05GSUcpIHByaXZhdGUgX2VudixcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBfYXBpOiBCYXNlSHR0cENsaWVudFxuICApIHtcbiAgICB0aGlzLmJhc2VVcmwgPSB0aGlzLl9lbnYuYXNzZXQyVXJsO1xuICB9XG5cbiAgZ2V0RXJyb3JPYnMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5lcnJvck9icyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBzZXRFcnJvck9icyhlcnJvcjogYm9vbGVhbikge1xuICAgIHRoaXMuZXJyb3JPYnMkLm5leHQoZXJyb3IpO1xuICB9XG5cbiAgZ2V0IGdldEZpbGVzKCk6IEZpbGVbXSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZXM7XG4gIH1cblxuICBzZXQgc2V0RmlsZXMoZmlsZXM6IEZpbGVbXSkge1xuICAgIHRoaXMuZmlsZXMgPSBmaWxlcztcbiAgfVxuXG4gIGdldCBlcnJvckZpbGVzKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGludmFsaWRGaWxlcyA9IHRoaXMuZmlsZU5hbWVzLmZpbHRlcihmaWxlID0+ICFmaWxlLnZhbGlkKTtcbiAgICByZXR1cm4gdGhpcy5maWxlTmFtZXMubGVuZ3RoICYmIGludmFsaWRGaWxlcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ2V0IGVycm9yTGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVOYW1lcy5maWx0ZXIoZmlsZSA9PiAhZmlsZS52YWxpZCkubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUZpbGUoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuZmlsZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLmZpbGVOYW1lcy5zcGxpY2UoaW5kZXgsIDEpO1xuICB9XG5cbiAgdXBsb2FkTXVsdGlwbGVBc3NldHMocGFyZW50QXNzZXRJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgeyBmaWxlcyB9ID0gdGhpcztcbiAgICBjb25zdCBmaWxlTmFtZXMgPSB0aGlzLmZpbGVOYW1lcy5tYXAoZmlsZSA9PiBmaWxlLm5hbWUpO1xuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdwYXJlbnRBc3NldElkJywgcGFyZW50QXNzZXRJZCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdjb21wYW55SWQnLCAnNzMyREE4RDItMDRFQy00QkUwLUExNjgtNjNFRTBEQ0Y1MEQ4Jyk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBuYW1lU3BsaXQgPSBmaWxlc1tpXS5uYW1lLnNwbGl0KCcuJyk7XG4gICAgICBjb25zdCBleHQgPSBgLiR7bmFtZVNwbGl0LnNwbGljZShuYW1lU3BsaXQubGVuZ3RoIC0gMSwgMSlbMF19YDtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZXMnLCBmaWxlc1tpXSwgYCR7ZmlsZU5hbWVzW2ldfSR7ZXh0fWApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9hcGkucG9zdDxhbnk+KGAke3RoaXMuYmFzZVVybH0vRmlsZS9VcGxvYWRgLCBmb3JtRGF0YSk7XG4gIH1cbn1cbiJdfQ==
|