aurelia-syncfusion-ej2-bridge 1.0.8 → 1.0.10

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 (173) hide show
  1. package/dist/commonjs/common/constants.d.ts +4 -0
  2. package/dist/commonjs/common/constants.js +7 -0
  3. package/dist/commonjs/common/controlBase.d.ts +37 -0
  4. package/dist/commonjs/common/controlBase.js +161 -0
  5. package/dist/commonjs/common/controlContainer.d.ts +10 -0
  6. package/dist/commonjs/common/controlContainer.js +19 -0
  7. package/dist/commonjs/common/syncfusionWrapper.d.ts +15 -0
  8. package/dist/commonjs/common/syncfusionWrapper.js +44 -0
  9. package/dist/commonjs/configBuider.d.ts +42 -0
  10. package/dist/commonjs/configBuider.js +230 -0
  11. package/dist/commonjs/controlBindings.d.ts +155 -0
  12. package/dist/commonjs/controlBindings.js +189 -0
  13. package/dist/commonjs/index.d.ts +6 -0
  14. package/dist/commonjs/index.js +17 -0
  15. package/dist/commonjs/interfaces/IEJ2WidgetBridge.d.ts +6 -0
  16. package/dist/commonjs/interfaces/IEJ2WidgetBridge.js +2 -0
  17. package/dist/commonjs/interfaces/IEj2Uploader.d.ts +17 -0
  18. package/dist/commonjs/interfaces/IEj2Uploader.js +2 -0
  19. package/dist/commonjs/utilities/decorator.d.ts +2 -0
  20. package/dist/commonjs/utilities/decorator.js +63 -0
  21. package/dist/commonjs/widgets/accordion/ej2-accordion.d.ts +7 -0
  22. package/dist/commonjs/widgets/accordion/ej2-accordion.js +31 -0
  23. package/dist/commonjs/widgets/autoComplete/ej2-autoComplete.d.ts +7 -0
  24. package/dist/commonjs/widgets/autoComplete/ej2-autoComplete.js +29 -0
  25. package/dist/commonjs/widgets/button/ej2-button.d.ts +14 -0
  26. package/dist/commonjs/widgets/button/ej2-button.js +55 -0
  27. package/dist/commonjs/widgets/checkbox/ej2-checkbox-list.d.ts +17 -0
  28. package/dist/commonjs/widgets/checkbox/ej2-checkbox-list.js +77 -0
  29. package/dist/commonjs/widgets/checkbox/ej2-checkbox.d.ts +12 -0
  30. package/dist/commonjs/widgets/checkbox/ej2-checkbox.js +58 -0
  31. package/dist/commonjs/widgets/colorPicker/ej2-colorPicker.d.ts +8 -0
  32. package/dist/commonjs/widgets/colorPicker/ej2-colorPicker.js +35 -0
  33. package/dist/commonjs/widgets/comboBox/ej2-comboBox.d.ts +8 -0
  34. package/dist/commonjs/widgets/comboBox/ej2-comboBox.js +35 -0
  35. package/dist/commonjs/widgets/dashboardLayout/ej2-dashboardLayout.d.ts +7 -0
  36. package/dist/commonjs/widgets/dashboardLayout/ej2-dashboardLayout.js +29 -0
  37. package/dist/commonjs/widgets/datePicker/ej2-DatePicker.d.ts +8 -0
  38. package/dist/commonjs/widgets/datePicker/ej2-DatePicker.js +35 -0
  39. package/dist/commonjs/widgets/dateRangePicker/ej2-dateRangePicker.d.ts +8 -0
  40. package/dist/commonjs/widgets/dateRangePicker/ej2-dateRangePicker.js +37 -0
  41. package/dist/commonjs/widgets/dateTimePicker/ej2-dateTimePicker.d.ts +8 -0
  42. package/dist/commonjs/widgets/dateTimePicker/ej2-dateTimePicker.js +35 -0
  43. package/dist/commonjs/widgets/dropDownList/ej2-dropDownList.d.ts +9 -0
  44. package/dist/commonjs/widgets/dropDownList/ej2-dropDownList.js +39 -0
  45. package/dist/commonjs/widgets/dropDownTree/ej2-dropDownTree.d.ts +8 -0
  46. package/dist/commonjs/widgets/dropDownTree/ej2-dropDownTree.js +35 -0
  47. package/dist/commonjs/widgets/fileManager/ej2-fileManager.d.ts +9 -0
  48. package/dist/commonjs/widgets/fileManager/ej2-fileManager.js +34 -0
  49. package/dist/commonjs/widgets/grid/ej2-grid.d.ts +8 -0
  50. package/dist/commonjs/widgets/grid/ej2-grid.js +97 -0
  51. package/dist/commonjs/widgets/listView/ej2-listView.d.ts +8 -0
  52. package/dist/commonjs/widgets/listView/ej2-listView.js +34 -0
  53. package/dist/commonjs/widgets/maskedTextBox/ej2-maskedTextBox.d.ts +8 -0
  54. package/dist/commonjs/widgets/maskedTextBox/ej2-maskedTextBox.js +37 -0
  55. package/dist/commonjs/widgets/multiSelect/ej2-multiSelect.d.ts +10 -0
  56. package/dist/commonjs/widgets/multiSelect/ej2-multiSelect.js +44 -0
  57. package/dist/commonjs/widgets/numericTextBox/ej2-numericTextBox.d.ts +8 -0
  58. package/dist/commonjs/widgets/numericTextBox/ej2-numericTextBox.js +35 -0
  59. package/dist/commonjs/widgets/pager/ej2-pager.d.ts +7 -0
  60. package/dist/commonjs/widgets/pager/ej2-pager.js +29 -0
  61. package/dist/commonjs/widgets/progressButton/ej2-progress-button.d.ts +17 -0
  62. package/dist/commonjs/widgets/progressButton/ej2-progress-button.js +64 -0
  63. package/dist/commonjs/widgets/radio/ej2-radio.d.ts +13 -0
  64. package/dist/commonjs/widgets/radio/ej2-radio.js +54 -0
  65. package/dist/commonjs/widgets/richTextEditor/ej2-richTextEditor.d.ts +8 -0
  66. package/dist/commonjs/widgets/richTextEditor/ej2-richTextEditor.js +32 -0
  67. package/dist/commonjs/widgets/schedule/ej2-schedule.d.ts +8 -0
  68. package/dist/commonjs/widgets/schedule/ej2-schedule.js +32 -0
  69. package/dist/commonjs/widgets/sidebar/ej2-sidebar.d.ts +7 -0
  70. package/dist/commonjs/widgets/sidebar/ej2-sidebar.js +30 -0
  71. package/dist/commonjs/widgets/slider/ej2-slider.d.ts +10 -0
  72. package/dist/commonjs/widgets/slider/ej2-slider.js +52 -0
  73. package/dist/commonjs/widgets/splitter/ej2-splitter.d.ts +7 -0
  74. package/dist/commonjs/widgets/splitter/ej2-splitter.js +29 -0
  75. package/dist/commonjs/widgets/switch/ej2-switch.d.ts +11 -0
  76. package/dist/commonjs/widgets/switch/ej2-switch.js +52 -0
  77. package/dist/commonjs/widgets/textBox/ej2-textBox.d.ts +8 -0
  78. package/dist/commonjs/widgets/textBox/ej2-textBox.js +37 -0
  79. package/dist/commonjs/widgets/timePicker/ej2-timePicker.d.ts +8 -0
  80. package/dist/commonjs/widgets/timePicker/ej2-timePicker.js +35 -0
  81. package/dist/commonjs/widgets/timeline/ej2-timeline.d.ts +7 -0
  82. package/dist/commonjs/widgets/timeline/ej2-timeline.js +29 -0
  83. package/dist/commonjs/widgets/treeView/ej2-treeView.d.ts +7 -0
  84. package/dist/commonjs/widgets/treeView/ej2-treeView.js +29 -0
  85. package/dist/commonjs/widgets/uploader/ej2-uploader.d.ts +50 -0
  86. package/dist/commonjs/widgets/uploader/ej2-uploader.js +357 -0
  87. package/dist/native-modules/common/constants.d.ts +4 -0
  88. package/dist/native-modules/common/constants.js +4 -0
  89. package/dist/native-modules/common/controlBase.d.ts +37 -0
  90. package/dist/native-modules/common/controlBase.js +158 -0
  91. package/dist/native-modules/common/controlContainer.d.ts +10 -0
  92. package/dist/native-modules/common/controlContainer.js +15 -0
  93. package/dist/native-modules/common/syncfusionWrapper.d.ts +15 -0
  94. package/dist/native-modules/common/syncfusionWrapper.js +40 -0
  95. package/dist/native-modules/configBuider.d.ts +42 -0
  96. package/dist/native-modules/configBuider.js +226 -0
  97. package/dist/native-modules/controlBindings.d.ts +155 -0
  98. package/dist/native-modules/controlBindings.js +186 -0
  99. package/dist/native-modules/index.d.ts +6 -0
  100. package/dist/native-modules/index.js +12 -0
  101. package/dist/native-modules/interfaces/IEJ2WidgetBridge.d.ts +6 -0
  102. package/dist/native-modules/interfaces/IEJ2WidgetBridge.js +1 -0
  103. package/dist/native-modules/interfaces/IEj2Uploader.d.ts +17 -0
  104. package/dist/native-modules/interfaces/IEj2Uploader.js +1 -0
  105. package/dist/native-modules/utilities/decorator.d.ts +2 -0
  106. package/dist/native-modules/utilities/decorator.js +59 -0
  107. package/dist/native-modules/widgets/accordion/ej2-accordion.d.ts +7 -0
  108. package/dist/native-modules/widgets/accordion/ej2-accordion.js +28 -0
  109. package/dist/native-modules/widgets/autoComplete/ej2-autoComplete.d.ts +7 -0
  110. package/dist/native-modules/widgets/autoComplete/ej2-autoComplete.js +26 -0
  111. package/dist/native-modules/widgets/button/ej2-button.d.ts +14 -0
  112. package/dist/native-modules/widgets/button/ej2-button.js +52 -0
  113. package/dist/native-modules/widgets/checkbox/ej2-checkbox-list.d.ts +17 -0
  114. package/dist/native-modules/widgets/checkbox/ej2-checkbox-list.js +74 -0
  115. package/dist/native-modules/widgets/checkbox/ej2-checkbox.d.ts +12 -0
  116. package/dist/native-modules/widgets/checkbox/ej2-checkbox.js +55 -0
  117. package/dist/native-modules/widgets/colorPicker/ej2-colorPicker.d.ts +8 -0
  118. package/dist/native-modules/widgets/colorPicker/ej2-colorPicker.js +32 -0
  119. package/dist/native-modules/widgets/comboBox/ej2-comboBox.d.ts +8 -0
  120. package/dist/native-modules/widgets/comboBox/ej2-comboBox.js +32 -0
  121. package/dist/native-modules/widgets/dashboardLayout/ej2-dashboardLayout.d.ts +7 -0
  122. package/dist/native-modules/widgets/dashboardLayout/ej2-dashboardLayout.js +26 -0
  123. package/dist/native-modules/widgets/datePicker/ej2-DatePicker.d.ts +8 -0
  124. package/dist/native-modules/widgets/datePicker/ej2-DatePicker.js +32 -0
  125. package/dist/native-modules/widgets/dateRangePicker/ej2-dateRangePicker.d.ts +8 -0
  126. package/dist/native-modules/widgets/dateRangePicker/ej2-dateRangePicker.js +34 -0
  127. package/dist/native-modules/widgets/dateTimePicker/ej2-dateTimePicker.d.ts +8 -0
  128. package/dist/native-modules/widgets/dateTimePicker/ej2-dateTimePicker.js +32 -0
  129. package/dist/native-modules/widgets/dropDownList/ej2-dropDownList.d.ts +9 -0
  130. package/dist/native-modules/widgets/dropDownList/ej2-dropDownList.js +36 -0
  131. package/dist/native-modules/widgets/dropDownTree/ej2-dropDownTree.d.ts +8 -0
  132. package/dist/native-modules/widgets/dropDownTree/ej2-dropDownTree.js +32 -0
  133. package/dist/native-modules/widgets/fileManager/ej2-fileManager.d.ts +9 -0
  134. package/dist/native-modules/widgets/fileManager/ej2-fileManager.js +31 -0
  135. package/dist/native-modules/widgets/grid/ej2-grid.d.ts +8 -0
  136. package/dist/native-modules/widgets/grid/ej2-grid.js +94 -0
  137. package/dist/native-modules/widgets/listView/ej2-listView.d.ts +8 -0
  138. package/dist/native-modules/widgets/listView/ej2-listView.js +31 -0
  139. package/dist/native-modules/widgets/maskedTextBox/ej2-maskedTextBox.d.ts +8 -0
  140. package/dist/native-modules/widgets/maskedTextBox/ej2-maskedTextBox.js +34 -0
  141. package/dist/native-modules/widgets/multiSelect/ej2-multiSelect.d.ts +10 -0
  142. package/dist/native-modules/widgets/multiSelect/ej2-multiSelect.js +41 -0
  143. package/dist/native-modules/widgets/numericTextBox/ej2-numericTextBox.d.ts +8 -0
  144. package/dist/native-modules/widgets/numericTextBox/ej2-numericTextBox.js +32 -0
  145. package/dist/native-modules/widgets/pager/ej2-pager.d.ts +7 -0
  146. package/dist/native-modules/widgets/pager/ej2-pager.js +26 -0
  147. package/dist/native-modules/widgets/progressButton/ej2-progress-button.d.ts +17 -0
  148. package/dist/native-modules/widgets/progressButton/ej2-progress-button.js +61 -0
  149. package/dist/native-modules/widgets/radio/ej2-radio.d.ts +13 -0
  150. package/dist/native-modules/widgets/radio/ej2-radio.js +51 -0
  151. package/dist/native-modules/widgets/richTextEditor/ej2-richTextEditor.d.ts +8 -0
  152. package/dist/native-modules/widgets/richTextEditor/ej2-richTextEditor.js +29 -0
  153. package/dist/native-modules/widgets/schedule/ej2-schedule.d.ts +8 -0
  154. package/dist/native-modules/widgets/schedule/ej2-schedule.js +29 -0
  155. package/dist/native-modules/widgets/sidebar/ej2-sidebar.d.ts +7 -0
  156. package/dist/native-modules/widgets/sidebar/ej2-sidebar.js +27 -0
  157. package/dist/native-modules/widgets/slider/ej2-slider.d.ts +10 -0
  158. package/dist/native-modules/widgets/slider/ej2-slider.js +46 -0
  159. package/dist/native-modules/widgets/splitter/ej2-splitter.d.ts +7 -0
  160. package/dist/native-modules/widgets/splitter/ej2-splitter.js +26 -0
  161. package/dist/native-modules/widgets/switch/ej2-switch.d.ts +11 -0
  162. package/dist/native-modules/widgets/switch/ej2-switch.js +49 -0
  163. package/dist/native-modules/widgets/textBox/ej2-textBox.d.ts +8 -0
  164. package/dist/native-modules/widgets/textBox/ej2-textBox.js +34 -0
  165. package/dist/native-modules/widgets/timePicker/ej2-timePicker.d.ts +8 -0
  166. package/dist/native-modules/widgets/timePicker/ej2-timePicker.js +32 -0
  167. package/dist/native-modules/widgets/timeline/ej2-timeline.d.ts +7 -0
  168. package/dist/native-modules/widgets/timeline/ej2-timeline.js +26 -0
  169. package/dist/native-modules/widgets/treeView/ej2-treeView.d.ts +7 -0
  170. package/dist/native-modules/widgets/treeView/ej2-treeView.js +26 -0
  171. package/dist/native-modules/widgets/uploader/ej2-uploader.d.ts +50 -0
  172. package/dist/native-modules/widgets/uploader/ej2-uploader.js +354 -0
  173. package/package.json +2 -2
@@ -0,0 +1,354 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
11
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12
+ return new (P || (P = Promise))(function (resolve, reject) {
13
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
14
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
15
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
16
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
17
+ });
18
+ };
19
+ import { constants } from '../../common/constants';
20
+ import { Uploader } from "@syncfusion/ej2-inputs";
21
+ import { SyncfusionWrapper } from "../../common/syncfusionWrapper";
22
+ import { generateBindables } from "../../utilities/decorator";
23
+ import { bindable } from 'aurelia-framework';
24
+ import { v4 as uuid } from "uuid";
25
+ import { inlineView, customElement } from 'aurelia-framework';
26
+ let Ej2Uploader = class Ej2Uploader extends SyncfusionWrapper {
27
+ constructor() {
28
+ super(...arguments);
29
+ this._filesProperty = `${constants.bindablePrefix}files`;
30
+ this.originalFiles = null;
31
+ this._filesCollectionSubscription = null;
32
+ this._privateIdProperty = "__id";
33
+ this.syncfusionWidgetType = Uploader;
34
+ this.mapAdditionalFilePropertiesToFiles = true;
35
+ this.sendAdditionalFilePropertiesAsFormData = true;
36
+ this.metadata = null;
37
+ this.formDataProperty = "metadata";
38
+ this.metadataGenerator = null;
39
+ this.uploadResultModel = null;
40
+ this.dataAdapter = null;
41
+ this.autoRemoveServerFiles = true;
42
+ this.context = null;
43
+ this.files = null;
44
+ this.firstBind = true;
45
+ this.serverDelete = true;
46
+ }
47
+ get _files() {
48
+ return this[this._filesProperty];
49
+ }
50
+ onWrapperCreated() {
51
+ this.widget.uploading = (args) => { this.onFileUpload(args); };
52
+ this.widget.success = (args) => { this.success(args); };
53
+ this.widget.failure = (args) => { this.failure(args); };
54
+ this.widget.removing = (args) => { this.removing(args); };
55
+ this.widget.change = (args) => { this.change(); };
56
+ if (this.dataAdapter) {
57
+ if (this.dataAdapter.remove) {
58
+ let _this = this;
59
+ this.widget.removeUploadedFile = function async(file, eventArgs, removeDirectly, custom) {
60
+ let formData = new FormData();
61
+ let selectedFiles = file;
62
+ _this.widget.trigger("removing", eventArgs, function (eventArgs) {
63
+ _this.widget.removingEventCallback(eventArgs, formData, selectedFiles, file);
64
+ });
65
+ };
66
+ this.widget.asyncSettings.removeUrl = null;
67
+ }
68
+ }
69
+ }
70
+ onfilesChanged() {
71
+ if (!this.firstBind) {
72
+ this.widget.clearAll();
73
+ this.recreate();
74
+ }
75
+ }
76
+ recreating() {
77
+ this._filesCollectionSubscription.dispose();
78
+ this[this._filesProperty].splice(0, this[this._filesProperty].length, ...this.originalFiles);
79
+ }
80
+ recreated() {
81
+ this.initializeFileCollection();
82
+ this._filesCollectionSubscription = this.createFilesCollectionSubscription();
83
+ }
84
+ initializeFileCollection() {
85
+ if (this.files && Array.isArray(this.files)) {
86
+ this.widget.files.push(...JSON.parse(JSON.stringify(this.files)));
87
+ }
88
+ if (this.widget.files) {
89
+ let extraProperties = [];
90
+ let widgetFiles = this.widget.getFilesData();
91
+ if (this.mapAdditionalFilePropertiesToFiles) {
92
+ extraProperties = this.getAdditionalFileProperties();
93
+ }
94
+ for (let i = 0; i < widgetFiles.length; i++) {
95
+ const file = widgetFiles[i];
96
+ this.initializeFile(file, i, extraProperties);
97
+ }
98
+ }
99
+ }
100
+ initializeFile(widgetFile, i, extraProperties) {
101
+ let __id = uuid();
102
+ widgetFile[this._privateIdProperty] = __id;
103
+ this._files[i][this._privateIdProperty] = __id;
104
+ extraProperties.forEach((prop) => {
105
+ widgetFile[prop] = this._files[i][prop];
106
+ });
107
+ }
108
+ onWidgetCreated() {
109
+ this.initializeFileCollection();
110
+ this._filesCollectionSubscription = this.createFilesCollectionSubscription();
111
+ this.subscriptions.push(this._filesCollectionSubscription);
112
+ }
113
+ onBind() {
114
+ this.firstBind = false;
115
+ this.subscriptions.push(this.bindingEngine.propertyObserver(this, "files").subscribe(() => { this.onfilesChanged(); }));
116
+ if (this[this._filesProperty] && Array.isArray(this[this._filesProperty])) {
117
+ this.originalFiles = JSON.parse(JSON.stringify(this[this._filesProperty]));
118
+ }
119
+ else if (this.files && Array.isArray(this.files)) {
120
+ this.originalFiles = JSON.parse(JSON.stringify(this.files));
121
+ }
122
+ else {
123
+ this.originalFiles = [];
124
+ }
125
+ }
126
+ createFilesCollectionSubscription() {
127
+ if (!this._files) {
128
+ this[this._filesProperty] = [];
129
+ }
130
+ return this.bindingEngine.collectionObserver(this._files).subscribe((changed) => { });
131
+ }
132
+ change() {
133
+ if (this.autoRemoveServerFiles) {
134
+ this.getFilesThatWereRemoved().forEach((file) => {
135
+ this.removing({
136
+ filesData: [file],
137
+ customFormData: null,
138
+ event: null,
139
+ cancel: false
140
+ });
141
+ });
142
+ }
143
+ }
144
+ getFilesThatWereRemoved() {
145
+ let filesToRemove = [];
146
+ let widgetFiles = this.widget.getFilesData();
147
+ if (this[this._filesProperty].length !== widgetFiles.length) {
148
+ for (let i = 0; i < this[this._filesProperty].length; i++) {
149
+ const file = this[this._filesProperty][i];
150
+ if (!widgetFiles.find((x) => x[this._privateIdProperty] === file[this._privateIdProperty])) {
151
+ filesToRemove.push(file);
152
+ }
153
+ }
154
+ }
155
+ return filesToRemove;
156
+ }
157
+ removeAll() {
158
+ this.widget.getFilesData().forEach((file) => {
159
+ this.removeFile(file);
160
+ });
161
+ }
162
+ removeFile(file) {
163
+ this.widget.remove(file);
164
+ }
165
+ removing(args) {
166
+ return __awaiter(this, void 0, void 0, function* () {
167
+ let event = new CustomEvent("on-removing", {
168
+ bubbles: true,
169
+ detail: args
170
+ });
171
+ this.element.dispatchEvent(event);
172
+ if (args.cancel) {
173
+ return;
174
+ }
175
+ if (this.dataAdapter && this.dataAdapter.remove) {
176
+ try {
177
+ if (this.serverDelete) {
178
+ yield this.dataAdapter.remove.call(this.context || this.bindingContext, args.filesData[0]);
179
+ }
180
+ this.onRemoveSuccess(args);
181
+ this.onWidgetRemoveComplete(null, args);
182
+ }
183
+ catch (error) {
184
+ this.onWidgetRemoveFailed(error, args);
185
+ }
186
+ }
187
+ });
188
+ }
189
+ onWidgetRemoveComplete(response, args) {
190
+ this.widget.removeCompleted(response, args.filesData[0], false);
191
+ }
192
+ onWidgetRemoveFailed(e, args) {
193
+ this.widget.removeFailed(e, args.filesData[0], false);
194
+ }
195
+ onRemoveSuccess(args) {
196
+ let _file = args.filesData[0];
197
+ let index = this[this._filesProperty].findIndex((x) => x.__id === _file.__id);
198
+ if (index !== -1) {
199
+ const removedFile = this[this._filesProperty].splice(index, 1)[0];
200
+ let event = new CustomEvent("on-remove-success", {
201
+ bubbles: true,
202
+ detail: { args: args, removedFile: removedFile }
203
+ });
204
+ this.element.dispatchEvent(event);
205
+ }
206
+ }
207
+ success(args) {
208
+ if (args.operation === "upload") {
209
+ let response = JSON.parse(args.e.target.response);
210
+ let _uploadedFile = args.file;
211
+ let fileName = _uploadedFile.name.substr(0, _uploadedFile.name.length - (_uploadedFile.type.length + 1));
212
+ let additionalProperties = {};
213
+ additionalProperties[this._privateIdProperty] = uuid();
214
+ if (this.uploadResultModel) {
215
+ for (let prop in this.uploadResultModel) {
216
+ additionalProperties[this.uploadResultModel[prop]] = response[prop];
217
+ }
218
+ }
219
+ let file = {
220
+ name: fileName,
221
+ size: _uploadedFile.size,
222
+ type: `.${_uploadedFile.type}`
223
+ };
224
+ Object.assign(_uploadedFile, additionalProperties);
225
+ Object.assign(file, additionalProperties);
226
+ if (this[this._filesProperty] === null) {
227
+ this[this._filesProperty] = [];
228
+ }
229
+ this[this._filesProperty].push(file);
230
+ let uploadedEvent = new CustomEvent("on-uploaded", {
231
+ bubbles: true,
232
+ detail: { args: args, uploadedFile: file }
233
+ });
234
+ this.element.dispatchEvent(uploadedEvent);
235
+ }
236
+ else if (args.operation === "remove") {
237
+ }
238
+ let successEvent = new CustomEvent("on-success", {
239
+ bubbles: true,
240
+ detail: args
241
+ });
242
+ this.element.dispatchEvent(successEvent);
243
+ }
244
+ failure(args) {
245
+ let event = new CustomEvent("on-failure", {
246
+ bubbles: true,
247
+ detail: args
248
+ });
249
+ this.element.dispatchEvent(event);
250
+ }
251
+ getAdditionalFileProperties() {
252
+ let extraProperties = [];
253
+ if (this[this._filesProperty] && this[this._filesProperty].length > 0) {
254
+ for (let prop in this[this._filesProperty][0]) {
255
+ if (prop !== "name" && prop !== "size" && prop !== "type") {
256
+ extraProperties.push(prop);
257
+ }
258
+ }
259
+ }
260
+ return extraProperties;
261
+ }
262
+ onFileUpload(args) {
263
+ let _metadata = this.createMetadata(args.fileData);
264
+ if (_metadata) {
265
+ if (this.formDataProperty) {
266
+ let formData = {};
267
+ formData[this.formDataProperty] = JSON.stringify(_metadata);
268
+ args.customFormData = [formData];
269
+ }
270
+ else {
271
+ let formData = [];
272
+ for (let prop in _metadata) {
273
+ let kvp = {};
274
+ kvp[prop] = _metadata[prop];
275
+ formData.push(kvp);
276
+ }
277
+ args.customFormData = formData;
278
+ }
279
+ }
280
+ let event = new CustomEvent("on-uploading", {
281
+ bubbles: true,
282
+ detail: args
283
+ });
284
+ this.element.dispatchEvent(event);
285
+ }
286
+ createMetadata(file) {
287
+ let _metadata = null;
288
+ if (this.sendAdditionalFilePropertiesAsFormData) {
289
+ if (_metadata === null) {
290
+ _metadata = {};
291
+ }
292
+ let props = this.getAdditionalFileProperties();
293
+ props.forEach((prop) => {
294
+ _metadata[prop] = file[prop];
295
+ });
296
+ }
297
+ if (this.metadata !== null) {
298
+ if (_metadata === null) {
299
+ _metadata = {};
300
+ }
301
+ Object.assign(_metadata, this.metadata);
302
+ }
303
+ if (this.metadataGenerator) {
304
+ if (_metadata === null) {
305
+ _metadata = {};
306
+ }
307
+ let _generatedMetadata = this.metadataGenerator.call(this.context || this.bindingContext, file);
308
+ Object.assign(_metadata, _generatedMetadata);
309
+ }
310
+ return _metadata;
311
+ }
312
+ };
313
+ __decorate([
314
+ bindable,
315
+ __metadata("design:type", Object)
316
+ ], Ej2Uploader.prototype, "metadata", void 0);
317
+ __decorate([
318
+ bindable,
319
+ __metadata("design:type", Object)
320
+ ], Ej2Uploader.prototype, "formDataProperty", void 0);
321
+ __decorate([
322
+ bindable,
323
+ __metadata("design:type", Function)
324
+ ], Ej2Uploader.prototype, "metadataGenerator", void 0);
325
+ __decorate([
326
+ bindable,
327
+ __metadata("design:type", Object)
328
+ ], Ej2Uploader.prototype, "uploadResultModel", void 0);
329
+ __decorate([
330
+ bindable,
331
+ __metadata("design:type", Object)
332
+ ], Ej2Uploader.prototype, "dataAdapter", void 0);
333
+ __decorate([
334
+ bindable,
335
+ __metadata("design:type", Object)
336
+ ], Ej2Uploader.prototype, "autoRemoveServerFiles", void 0);
337
+ __decorate([
338
+ bindable,
339
+ __metadata("design:type", Object)
340
+ ], Ej2Uploader.prototype, "context", void 0);
341
+ __decorate([
342
+ bindable,
343
+ __metadata("design:type", Array)
344
+ ], Ej2Uploader.prototype, "files", void 0);
345
+ __decorate([
346
+ bindable,
347
+ __metadata("design:type", Boolean)
348
+ ], Ej2Uploader.prototype, "serverDelete", void 0);
349
+ Ej2Uploader = __decorate([
350
+ generateBindables("uploader"),
351
+ inlineView(`<template><input element.ref="widgetElement" type="file" name="UploadFiles" /></template>`),
352
+ customElement('ej2-uploader')
353
+ ], Ej2Uploader);
354
+ export { Ej2Uploader };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "aurelia-syncfusion-ej2-bridge",
3
3
  "description": "An Aurelia plugin wrapper for syncfusion EJ2 controls",
4
- "version": "1.0.8",
4
+ "version": "1.0.10",
5
5
  "keywords": [
6
6
  "aurelia",
7
7
  "syncfusion"
@@ -21,7 +21,7 @@
21
21
  "build": "au build-plugin"
22
22
  },
23
23
  "devDependencies": {
24
- "@syncfusion/ej2": "^27.1.53",
24
+ "@syncfusion/ej2": "^27.1.58",
25
25
  "@types/jest": "^24.0.9",
26
26
  "@types/node": "^20.12.7",
27
27
  "aurelia-animator-css": "^1.0.4",