aurelia-syncfusion-ej2-bridge 0.1.0-beta.25 → 0.1.0-beta.26

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