@memberjunction/ng-file-storage 0.9.3 → 0.9.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"file-upload.d.ts","sourceRoot":"","sources":["../../../src/lib/file-upload/file-upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAS,MAAM,EAAU,MAAM,eAAe,CAAC;AAE/E,OAAO,EAAE,UAAU,EAA6B,MAAM,+BAA+B,CAAC;AAGtF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;;AAGvE,MAAM,MAAM,eAAe,GACvB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GACnC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAA;AAmDtC,qBAKa,mBAAoB,YAAW,MAAM;IACzC,YAAY,sBAAgB;IAC5B,WAAW,UAAS;IAC3B,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,EAAE,CAAkB;;IAInB,QAAQ,UAAS;IAChB,aAAa,qBAA4B;IACzC,UAAU,gCAAuC;IAE3D,QAAQ,IAAI,IAAI;IAIV,OAAO;IASP,kBAAkB,CAAC,CAAC,EAAE,WAAW;yCAzB5B,mBAAmB;2CAAnB,mBAAmB;CAiF/B"}
1
+ {"version":3,"file":"file-upload.d.ts","sourceRoot":"","sources":["../../../src/lib/file-upload/file-upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAS,MAAM,EAAU,MAAM,eAAe,CAAC;AAE/E,OAAO,EAAE,UAAU,EAA6B,MAAM,+BAA+B,CAAC;AAGtF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;;AAGvE,MAAM,MAAM,eAAe,GACvB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GACnC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAA;AAmDtC,qBAKa,mBAAoB,YAAW,MAAM;IACzC,YAAY,sBAAgB;IAC5B,WAAW,UAAS;IAC3B,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,EAAE,CAAkB;;IAInB,QAAQ,UAAS;IAChB,aAAa,qBAA4B;IACzC,UAAU,gCAAuC;IAE3D,QAAQ,IAAI,IAAI;IAIV,OAAO;IASP,kBAAkB,CAAC,CAAC,EAAE,WAAW;yCAzB5B,mBAAmB;2CAAnB,mBAAmB;CAkF/B"}
@@ -76,7 +76,7 @@ export class FileUploadComponent {
76
76
  Refresh() {
77
77
  return __awaiter(this, void 0, void 0, function* () {
78
78
  const rv = new RunView();
79
- const viewResults = yield rv.RunView({ EntityName: 'File Storage Providers' });
79
+ const viewResults = yield rv.RunView({ EntityName: 'File Storage Providers', ExtraFilter: 'IsActive = 1', OrderBy: 'Priority DESC' });
80
80
  const provider = viewResults.Results[0];
81
81
  if (typeof (provider === null || provider === void 0 ? void 0 : provider.ID) === 'number') {
82
82
  this.defaultProviderID = provider.ID;
@@ -88,6 +88,7 @@ export class FileUploadComponent {
88
88
  e.preventDefault();
89
89
  console.log('Files were selected', e);
90
90
  this.isUploading = true;
91
+ this.uploadStarted.emit();
91
92
  // for each selected file to upload
92
93
  for (const file of e.files) {
93
94
  // call the gql
@@ -11,7 +11,22 @@ export declare class FilesGridComponent implements OnInit {
11
11
  kendoSVGIcon: typeof kendoSVGIcon;
12
12
  constructor(sharedService: SharedService);
13
13
  ngOnInit(): void;
14
+ /**
15
+ * Resets the edited file.
16
+ *
17
+ * This method reverts any changes made to the edited file by calling the Revert method of the FileEntity class. It then sets the editFile property to undefined, indicating that there is no longer an edited file.
18
+ *
19
+ * @returns void
20
+ */
14
21
  resetEditFile(): void;
22
+ /**
23
+ * Saves the edited file.
24
+ *
25
+ * This method saves the changes made to the edited file. It first checks if there is an edited file available. If so, it sets the isLoading property to true to indicate that the save operation is in progress. Then, it calls the Save method of the edited file to save the changes. If the save operation is successful, it creates a success notification using the sharedService.CreateSimpleNotification method. The notification message includes the ID and name of the saved file. Finally, it sets the edited file to undefined and sets the isLoading property to false to indicate that the save operation is complete.
26
+ *
27
+ * @returns Promise<void> - A promise that resolves when the save operation is complete.
28
+ * @throws Error - If there is an error during the save operation.
29
+ */
15
30
  saveEditFile(): Promise<void>;
16
31
  /**
17
32
  * Downloads a file using the provided FileEntity.
@@ -21,6 +36,12 @@ export declare class FilesGridComponent implements OnInit {
21
36
  * @throws Error - If there is an error during the file download process.
22
37
  */
23
38
  downloadFile: (file: FileEntity) => Promise<void>;
39
+ /**
40
+ * Determines whether a file can be deleted based on its status and creation time.
41
+ *
42
+ * @param file - The FileEntity representing the file to be checked.
43
+ * @returns boolean - True if the file can be deleted, false otherwise.
44
+ */
24
45
  canBeDeleted(file: FileEntity): boolean;
25
46
  /**
26
47
  * Deletes a file using the provided FileEntity.
@@ -1 +1 @@
1
- {"version":3,"file":"files-grid.d.ts","sourceRoot":"","sources":["../../../src/lib/files-grid/files-grid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;;AAiD7D,qBAKa,kBAAmB,YAAW,MAAM;IAMnC,OAAO,CAAC,aAAa;IAL1B,KAAK,EAAE,UAAU,EAAE,CAAM;IACzB,SAAS,EAAE,OAAO,CAAS;IAC3B,QAAQ,EAAE,UAAU,GAAG,SAAS,CAAC;IACjC,YAAY,sBAAgB;gBAEf,aAAa,EAAE,aAAa;IAEhD,QAAQ,IAAI,IAAI;IAIT,aAAa;IAKP,YAAY;IAezB;;;;;;OAMG;IACI,YAAY,SAAgB,UAAU,mBAkB3C;IAEK,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAO9C;;;;;;OAMG;IACI,UAAU,SAAgB,UAAU,mBAUzC;IAEF;;;;;OAKG;IACI,gBAAgB,CAAC,CAAC,EAAE,eAAe;IAU1C;;;OAGG;IACG,OAAO;yCAzGF,kBAAkB;2CAAlB,kBAAkB;CA0H9B"}
1
+ {"version":3,"file":"files-grid.d.ts","sourceRoot":"","sources":["../../../src/lib/files-grid/files-grid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;;AAiD7D,qBAKa,kBAAmB,YAAW,MAAM;IAMnC,OAAO,CAAC,aAAa;IAL1B,KAAK,EAAE,UAAU,EAAE,CAAM;IACzB,SAAS,EAAE,OAAO,CAAS;IAC3B,QAAQ,EAAE,UAAU,GAAG,SAAS,CAAC;IACjC,YAAY,sBAAgB;gBAEf,aAAa,EAAE,aAAa;IAEhD,QAAQ,IAAI,IAAI;IAIhB;;;;;;OAMG;IACI,aAAa;IAKpB;;;;;;;OAOG;IACU,YAAY;IAezB;;;;;;OAMG;IACI,YAAY,SAAgB,UAAU,mBAkB3C;IAEF;;;;;OAKG;IACI,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAO9C;;;;;;OAMG;IACI,UAAU,SAAgB,UAAU,mBAYzC;IAEF;;;;;OAKG;IACI,gBAAgB,CAAC,CAAC,EAAE,eAAe;IAU1C;;;OAGG;IACG,OAAO;yCAhIF,kBAAkB;2CAAlB,kBAAkB;CAiJ9B"}
@@ -65,9 +65,14 @@ function FilesGridComponent_kendo_dialog_9_Template(rf, ctx) { if (rf & 1) {
65
65
  i0.ɵɵproperty("minWidth", 250)("width", 450);
66
66
  i0.ɵɵadvance(5);
67
67
  i0.ɵɵtwoWayProperty("ngModel", ctx_r1.editFile.Name);
68
- i0.ɵɵproperty("showSuccessIcon", ctx_r1.editFile.Name.length > 0);
68
+ i0.ɵɵproperty("showSuccessIcon", ctx_r1.editFile.Name.length > 0)("disabled", ctx_r1.isLoading);
69
69
  i0.ɵɵadvance(2);
70
70
  i0.ɵɵtwoWayProperty("ngModel", ctx_r1.editFile.Description);
71
+ i0.ɵɵproperty("disabled", ctx_r1.isLoading);
72
+ i0.ɵɵadvance(2);
73
+ i0.ɵɵproperty("disabled", ctx_r1.isLoading);
74
+ i0.ɵɵadvance(2);
75
+ i0.ɵɵproperty("disabled", ctx_r1.isLoading || !ctx_r1.editFile.Dirty);
71
76
  } }
72
77
  /**
73
78
  * Downloads a file from the provided URL.
@@ -152,13 +157,15 @@ export class FilesGridComponent {
152
157
  */
153
158
  this.deleteFile = (file) => __awaiter(this, void 0, void 0, function* () {
154
159
  this.isLoading = true;
160
+ const ID = file.ID;
161
+ const Name = file.Name;
155
162
  let deleteResult = yield file.Delete();
156
163
  if (deleteResult) {
157
- this.sharedService.CreateSimpleNotification(`Successfully deleted file ${file.ID} ${file.Name}`, 'info');
158
- this.files = this.files.filter((f) => f.ID != file.ID);
164
+ this.sharedService.CreateSimpleNotification(`Successfully deleted file ${ID} ${Name}`, 'info');
165
+ this.files = this.files.filter((f) => typeof f.ID === 'number' && f.ID != ID);
159
166
  }
160
167
  else {
161
- this.sharedService.CreateSimpleNotification(`Unable to delete file ${file.ID} ${file.Name}`, 'error');
168
+ this.sharedService.CreateSimpleNotification(`Unable to delete file ${ID} ${Name}`, 'error');
162
169
  }
163
170
  this.isLoading = false;
164
171
  });
@@ -166,11 +173,26 @@ export class FilesGridComponent {
166
173
  ngOnInit() {
167
174
  this.Refresh();
168
175
  }
176
+ /**
177
+ * Resets the edited file.
178
+ *
179
+ * This method reverts any changes made to the edited file by calling the Revert method of the FileEntity class. It then sets the editFile property to undefined, indicating that there is no longer an edited file.
180
+ *
181
+ * @returns void
182
+ */
169
183
  resetEditFile() {
170
184
  var _a;
171
185
  (_a = this.editFile) === null || _a === void 0 ? void 0 : _a.Revert();
172
186
  this.editFile = undefined;
173
187
  }
188
+ /**
189
+ * Saves the edited file.
190
+ *
191
+ * This method saves the changes made to the edited file. It first checks if there is an edited file available. If so, it sets the isLoading property to true to indicate that the save operation is in progress. Then, it calls the Save method of the edited file to save the changes. If the save operation is successful, it creates a success notification using the sharedService.CreateSimpleNotification method. The notification message includes the ID and name of the saved file. Finally, it sets the edited file to undefined and sets the isLoading property to false to indicate that the save operation is complete.
192
+ *
193
+ * @returns Promise<void> - A promise that resolves when the save operation is complete.
194
+ * @throws Error - If there is an error during the save operation.
195
+ */
174
196
  saveEditFile() {
175
197
  return __awaiter(this, void 0, void 0, function* () {
176
198
  if (this.editFile) {
@@ -188,10 +210,16 @@ export class FilesGridComponent {
188
210
  }
189
211
  });
190
212
  }
213
+ /**
214
+ * Determines whether a file can be deleted based on its status and creation time.
215
+ *
216
+ * @param file - The FileEntity representing the file to be checked.
217
+ * @returns boolean - True if the file can be deleted, false otherwise.
218
+ */
191
219
  canBeDeleted(file) {
192
220
  const status = file.Status;
193
221
  const deletable = status === 'Uploaded' || Date.now() - +file.CreatedAt > 10 * 60 * 60;
194
- console.log({ status, deletable, ID: file.ID, CreatedAt: file.CreatedAt });
222
+ // console.log({ status, deletable, ID: file.ID, CreatedAt: file.CreatedAt });
195
223
  return deletable;
196
224
  }
197
225
  /**
@@ -233,7 +261,7 @@ export class FilesGridComponent {
233
261
  }
234
262
  }
235
263
  FilesGridComponent.ɵfac = function FilesGridComponent_Factory(t) { return new (t || FilesGridComponent)(i0.ɵɵdirectiveInject(i1.SharedService)); };
236
- FilesGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FilesGridComponent, selectors: [["mj-files-grid"]], decls: 10, vars: 4, consts: [[1, "container"], [3, "data", "loading"], ["field", "ID", "title", "ID"], ["field", "Name", "title", "Name"], ["field", "Description", "title", "Description"], ["field", "Status", "title", "Status"], ["field", "Actions"], ["kendoGridCellTemplate", ""], [3, "disabled", "uploadStarted", "fileUpload"], ["title", "Please confirm", 3, "minWidth", "width", "close", 4, "ngIf"], [3, "disabled", "svgIcon", "click"], ["title", "Please confirm", 3, "minWidth", "width", "close"], ["templateForm", "ngForm"], ["text", "Name", 1, "k-form"], ["name", "name", "showErrorIcon", "initial", "required", "", 3, "ngModel", "showSuccessIcon", "ngModelChange"], ["text", "Description", 1, "k-form"], ["name", "description", 3, "ngModel", "ngModelChange"], ["kendoButton", "", 3, "click"], ["kendoButton", "", "themeColor", "primary", 3, "click"]], template: function FilesGridComponent_Template(rf, ctx) { if (rf & 1) {
264
+ FilesGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FilesGridComponent, selectors: [["mj-files-grid"]], decls: 10, vars: 4, consts: [[1, "container"], [3, "data", "loading"], ["field", "ID", "title", "ID"], ["field", "Name", "title", "Name"], ["field", "Description", "title", "Description"], ["field", "Status", "title", "Status"], ["field", "Actions"], ["kendoGridCellTemplate", ""], [3, "disabled", "uploadStarted", "fileUpload"], ["title", "Please confirm", 3, "minWidth", "width", "close", 4, "ngIf"], [3, "disabled", "svgIcon", "click"], ["title", "Please confirm", 3, "minWidth", "width", "close"], ["templateForm", "ngForm"], ["text", "Name", 1, "k-form"], ["name", "name", "showErrorIcon", "initial", "required", "", 3, "ngModel", "showSuccessIcon", "disabled", "ngModelChange"], ["text", "Description", 1, "k-form"], ["name", "description", 3, "ngModel", "disabled", "ngModelChange"], ["kendoButton", "", 3, "disabled", "click"], ["kendoButton", "", "themeColor", "primary", 3, "disabled", "click"]], template: function FilesGridComponent_Template(rf, ctx) { if (rf & 1) {
237
265
  i0.ɵɵelementStart(0, "div", 0)(1, "kendo-grid", 1);
238
266
  i0.ɵɵelement(2, "kendo-grid-column", 2)(3, "kendo-grid-column", 3)(4, "kendo-grid-column", 4)(5, "kendo-grid-column", 5);
239
267
  i0.ɵɵelementStart(6, "kendo-grid-column", 6);
@@ -242,7 +270,7 @@ FilesGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FilesGri
242
270
  i0.ɵɵelementStart(8, "mj-files-file-upload", 8);
243
271
  i0.ɵɵlistener("uploadStarted", function FilesGridComponent_Template_mj_files_file_upload_uploadStarted_8_listener() { return ctx.isLoading = true; })("fileUpload", function FilesGridComponent_Template_mj_files_file_upload_fileUpload_8_listener($event) { return ctx.handleFileUpload($event); });
244
272
  i0.ɵɵelementEnd();
245
- i0.ɵɵtemplate(9, FilesGridComponent_kendo_dialog_9_Template, 13, 5, "kendo-dialog", 9);
273
+ i0.ɵɵtemplate(9, FilesGridComponent_kendo_dialog_9_Template, 13, 9, "kendo-dialog", 9);
246
274
  i0.ɵɵelementEnd();
247
275
  } if (rf & 2) {
248
276
  i0.ɵɵadvance();
@@ -254,6 +282,6 @@ FilesGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FilesGri
254
282
  } }, dependencies: [i2.NgIf, i3.ɵNgNoValidate, i3.NgControlStatus, i3.NgControlStatusGroup, i3.RequiredValidator, i3.NgModel, i3.NgForm, i4.DialogComponent, i4.DialogActionsComponent, i5.ButtonComponent, i6.LabelComponent, i7.GridComponent, i7.ColumnComponent, i7.CellTemplateDirective, i8.TextBoxComponent, i9.FileUploadComponent], styles: [".container[_ngcontent-%COMP%] {\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n\r\nkendo-label[_ngcontent-%COMP%] {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n column-gap: 12px;\r\n margin-bottom: 4px;\r\n}\r\n\r\nkendo-label[_ngcontent-%COMP%] kendo-textbox[_ngcontent-%COMP%] {\r\n width: 100%;\r\n}"] });
255
283
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FilesGridComponent, [{
256
284
  type: Component,
257
- args: [{ selector: 'mj-files-grid', template: "<div class=\"container\">\r\n <kendo-grid [data]=\"files\" [loading]=\"isLoading\">\r\n <kendo-grid-column field=\"ID\" title=\"ID\"> </kendo-grid-column>\r\n <kendo-grid-column field=\"Name\" title=\"Name\"> </kendo-grid-column>\r\n <kendo-grid-column field=\"Description\" title=\"Description\">\r\n </kendo-grid-column>\r\n <kendo-grid-column field=\"Status\" title=\"Status\"> </kendo-grid-column>\r\n <kendo-grid-column field=\"Actions\">\r\n <ng-template kendoGridCellTemplate let-dataItem>\r\n <kendo-button [disabled]=\"dataItem.Status!=='Uploaded'\" [svgIcon]=\"kendoSVGIcon('download')\" (click)=\"downloadFile(dataItem)\"></kendo-button>\r\n <kendo-button [disabled]=\"!canBeDeleted(dataItem)\" [svgIcon]=\"kendoSVGIcon('trash')\" (click)=\"deleteFile(dataItem)\"></kendo-button>\r\n <kendo-button [disabled]=\"dataItem.Status!=='Uploaded'\" [svgIcon]=\"kendoSVGIcon('pencil')\" (click)=\"editFile = dataItem\"></kendo-button>\r\n </ng-template>\r\n </kendo-grid-column> \r\n </kendo-grid>\r\n\r\n <mj-files-file-upload [disabled]=\"isLoading\" (uploadStarted)=\"isLoading = true\" (fileUpload)=\"handleFileUpload($event)\"></mj-files-file-upload>\r\n\r\n <kendo-dialog\r\n title=\"Please confirm\"\r\n *ngIf=\"editFile\"\r\n (close)=\"resetEditFile()\"\r\n [minWidth]=\"250\"\r\n [width]=\"450\"\r\n >\r\n <div class=\"container\">\r\n <form #templateForm=\"ngForm\">\r\n <kendo-label class=\"k-form\" text=\"Name\">\r\n <kendo-textbox\r\n name=\"name\"\r\n [(ngModel)]=\"editFile.Name\"\r\n [showSuccessIcon]=\"editFile.Name.length > 0\"\r\n showErrorIcon=\"initial\"\r\n required\r\n ></kendo-textbox>\r\n </kendo-label>\r\n <kendo-label class=\"k-form\" text=\"Description\">\r\n <kendo-textbox\r\n name=\"description\"\r\n [(ngModel)]=\"editFile.Description\"\r\n ></kendo-textbox>\r\n </kendo-label>\r\n </form>\r\n </div>\r\n <kendo-dialog-actions>\r\n <button kendoButton (click)=\"resetEditFile()\">Cancel</button>\r\n <button kendoButton (click)=\"saveEditFile()\" themeColor=\"primary\">\r\n Save\r\n </button>\r\n </kendo-dialog-actions>\r\n </kendo-dialog>\r\n</div>\r\n", styles: [".container {\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n\r\nkendo-label {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n column-gap: 12px;\r\n margin-bottom: 4px;\r\n}\r\n\r\nkendo-label kendo-textbox {\r\n width: 100%;\r\n}"] }]
285
+ args: [{ selector: 'mj-files-grid', template: "<div class=\"container\">\r\n <kendo-grid [data]=\"files\" [loading]=\"isLoading\">\r\n <kendo-grid-column field=\"ID\" title=\"ID\"> </kendo-grid-column>\r\n <kendo-grid-column field=\"Name\" title=\"Name\"> </kendo-grid-column>\r\n <kendo-grid-column field=\"Description\" title=\"Description\">\r\n </kendo-grid-column>\r\n <kendo-grid-column field=\"Status\" title=\"Status\"> </kendo-grid-column>\r\n <kendo-grid-column field=\"Actions\">\r\n <ng-template kendoGridCellTemplate let-dataItem>\r\n <kendo-button [disabled]=\"dataItem.Status!=='Uploaded'\" [svgIcon]=\"kendoSVGIcon('download')\" (click)=\"downloadFile(dataItem)\"></kendo-button>\r\n <kendo-button [disabled]=\"!canBeDeleted(dataItem)\" [svgIcon]=\"kendoSVGIcon('trash')\" (click)=\"deleteFile(dataItem)\"></kendo-button>\r\n <kendo-button [disabled]=\"dataItem.Status!=='Uploaded'\" [svgIcon]=\"kendoSVGIcon('pencil')\" (click)=\"editFile = dataItem\"></kendo-button>\r\n </ng-template>\r\n </kendo-grid-column> \r\n </kendo-grid>\r\n\r\n <mj-files-file-upload [disabled]=\"isLoading\" (uploadStarted)=\"isLoading = true\" (fileUpload)=\"handleFileUpload($event)\"></mj-files-file-upload>\r\n\r\n <kendo-dialog\r\n title=\"Please confirm\"\r\n *ngIf=\"editFile\"\r\n (close)=\"resetEditFile()\"\r\n [minWidth]=\"250\"\r\n [width]=\"450\"\r\n >\r\n <div class=\"container\">\r\n <form #templateForm=\"ngForm\">\r\n <kendo-label class=\"k-form\" text=\"Name\">\r\n <kendo-textbox\r\n name=\"name\"\r\n [(ngModel)]=\"editFile.Name\"\r\n [showSuccessIcon]=\"editFile.Name.length > 0\"\r\n showErrorIcon=\"initial\"\r\n required\r\n [disabled]=\"isLoading\"\r\n ></kendo-textbox>\r\n </kendo-label>\r\n <kendo-label class=\"k-form\" text=\"Description\">\r\n <kendo-textbox\r\n name=\"description\"\r\n [(ngModel)]=\"editFile.Description\"\r\n [disabled]=\"isLoading\"\r\n ></kendo-textbox>\r\n </kendo-label>\r\n </form>\r\n </div>\r\n <kendo-dialog-actions>\r\n <button kendoButton (click)=\"resetEditFile()\" [disabled]=\"isLoading\">Cancel</button>\r\n <button kendoButton (click)=\"saveEditFile()\" [disabled]=\"isLoading || !editFile.Dirty\" themeColor=\"primary\">\r\n Save\r\n </button>\r\n </kendo-dialog-actions>\r\n </kendo-dialog>\r\n</div>\r\n", styles: [".container {\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n\r\nkendo-label {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n column-gap: 12px;\r\n margin-bottom: 4px;\r\n}\r\n\r\nkendo-label kendo-textbox {\r\n width: 100%;\r\n}"] }]
258
286
  }], () => [{ type: i1.SharedService }], null); })();
259
287
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FilesGridComponent, { className: "FilesGridComponent", filePath: "src\\lib\\files-grid\\files-grid.ts", lineNumber: 62 }); })();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-file-storage",
3
- "version": "0.9.3",
3
+ "version": "0.9.5",
4
4
  "description": "MemberJunction: Angular components for managing files, and related components.",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",
@@ -26,11 +26,11 @@
26
26
  "@angular/router": "~17.2.2"
27
27
  },
28
28
  "dependencies": {
29
- "@memberjunction/core": "^0.9.174",
30
- "@memberjunction/core-entities": "^0.9.159",
31
- "@memberjunction/global": "^0.9.155",
32
- "@memberjunction/ng-container-directives": "^0.9.138",
33
- "@memberjunction/ng-shared": "^0.9.28",
29
+ "@memberjunction/core": "^0.9.177",
30
+ "@memberjunction/core-entities": "^0.9.163",
31
+ "@memberjunction/global": "^0.9.156",
32
+ "@memberjunction/ng-container-directives": "^0.9.141",
33
+ "@memberjunction/ng-shared": "^0.9.31",
34
34
  "@progress/kendo-angular-buttons": "~15.1.0",
35
35
  "@progress/kendo-angular-dialog": "~15.1.0",
36
36
  "@progress/kendo-angular-dropdowns": "~15.1.0",