@slickgrid-universal/vanilla-force-bundle 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/LICENSE +20 -0
- package/README.md +39 -0
- package/dist/bundle/index.d.ts +280 -0
- package/dist/bundle/slickgrid-vanilla-bundle.js +3 -0
- package/dist/bundle/slickgrid-vanilla-bundle.js.LICENSE.txt +175 -0
- package/dist/bundle/slickgrid-vanilla-bundle.js.map +1 -0
- package/dist/commonjs/index.d.ts +226 -0
- package/dist/commonjs/index.js +42 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/salesforce-global-grid-options.d.ts +3 -0
- package/dist/commonjs/salesforce-global-grid-options.js +82 -0
- package/dist/commonjs/salesforce-global-grid-options.js.map +1 -0
- package/dist/commonjs/vanilla-force-bundle.d.ts +38 -0
- package/dist/commonjs/vanilla-force-bundle.js +100 -0
- package/dist/commonjs/vanilla-force-bundle.js.map +1 -0
- package/dist/esm/index.d.ts +226 -0
- package/dist/esm/index.js +28 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/salesforce-global-grid-options.d.ts +3 -0
- package/dist/esm/salesforce-global-grid-options.js +79 -0
- package/dist/esm/salesforce-global-grid-options.js.map +1 -0
- package/dist/esm/vanilla-force-bundle.d.ts +38 -0
- package/dist/esm/vanilla-force-bundle.js +96 -0
- package/dist/esm/vanilla-force-bundle.js.map +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VanillaForceGridBundle = void 0;
|
|
4
|
+
const common_1 = require("@slickgrid-universal/common");
|
|
5
|
+
const composite_editor_component_1 = require("@slickgrid-universal/composite-editor-component");
|
|
6
|
+
const empty_warning_component_1 = require("@slickgrid-universal/empty-warning-component");
|
|
7
|
+
const custom_tooltip_plugin_1 = require("@slickgrid-universal/custom-tooltip-plugin");
|
|
8
|
+
const text_export_1 = require("@slickgrid-universal/text-export");
|
|
9
|
+
const vanilla_bundle_1 = require("@slickgrid-universal/vanilla-bundle");
|
|
10
|
+
const salesforce_global_grid_options_1 = require("./salesforce-global-grid-options");
|
|
11
|
+
class VanillaForceGridBundle extends vanilla_bundle_1.SlickVanillaGridBundle {
|
|
12
|
+
/**
|
|
13
|
+
* Salesforce Slicker Grid Bundle constructor
|
|
14
|
+
* @param {Object} gridParentContainerElm - div HTML DOM element container
|
|
15
|
+
* @param {Array<Column>} columnDefs - Column Definitions
|
|
16
|
+
* @param {Object} options - Grid Options
|
|
17
|
+
* @param {Array<Object>} dataset - Dataset
|
|
18
|
+
* @param {Array<Object>} hierarchicalDataset - Hierarchical Dataset
|
|
19
|
+
* @param {Object} services - Typically only used for Unit Testing when we want to pass Mocked/Stub Services
|
|
20
|
+
*/
|
|
21
|
+
constructor(gridParentContainerElm, columnDefs, options, dataset, hierarchicalDataset, services) {
|
|
22
|
+
super(gridParentContainerElm, columnDefs, options, dataset, hierarchicalDataset, services);
|
|
23
|
+
}
|
|
24
|
+
mergeGridOptions(gridOptions) {
|
|
25
|
+
var _a;
|
|
26
|
+
const extraOptions = (gridOptions.useSalesforceDefaultGridOptions || ((_a = this._gridOptions) === null || _a === void 0 ? void 0 : _a.useSalesforceDefaultGridOptions)) ? salesforce_global_grid_options_1.SalesforceGlobalGridOptions : {};
|
|
27
|
+
const options = $.extend(true, {}, common_1.GlobalGridOptions, extraOptions, gridOptions);
|
|
28
|
+
// also make sure to show the header row if user have enabled filtering
|
|
29
|
+
if (options.enableFiltering && !options.showHeaderRow) {
|
|
30
|
+
options.showHeaderRow = options.enableFiltering;
|
|
31
|
+
}
|
|
32
|
+
// using jQuery extend to do a deep clone has an unwanted side on objects and pageSizes but ES6 spread has other worst side effects
|
|
33
|
+
// so we will just overwrite the pageSizes when needed, this is the only one causing issues so far.
|
|
34
|
+
// jQuery wrote this on their docs:: On a deep extend, Object and Array are extended, but object wrappers on primitive types such as String, Boolean, and Number are not.
|
|
35
|
+
if ((options === null || options === void 0 ? void 0 : options.pagination) && (gridOptions.enablePagination || gridOptions.backendServiceApi) && gridOptions.pagination && Array.isArray(gridOptions.pagination.pageSizes)) {
|
|
36
|
+
options.pagination.pageSizes = gridOptions.pagination.pageSizes;
|
|
37
|
+
}
|
|
38
|
+
// when we use Pagination on Local Grid, it doesn't seem to work without enableFiltering
|
|
39
|
+
// so we'll enable the filtering but we'll keep the header row hidden
|
|
40
|
+
if (!options.enableFiltering && options.enablePagination && this._isLocalGrid) {
|
|
41
|
+
options.enableFiltering = true;
|
|
42
|
+
options.showHeaderRow = false;
|
|
43
|
+
this._hideHeaderRowAfterPageLoad = true;
|
|
44
|
+
if (this.sharedService) {
|
|
45
|
+
this.sharedService.hideHeaderRowAfterPageLoad = true;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return options;
|
|
49
|
+
}
|
|
50
|
+
// --
|
|
51
|
+
// protected functions
|
|
52
|
+
// ------------------
|
|
53
|
+
registerResources() {
|
|
54
|
+
// when using Salesforce, we want the Export to CSV always enabled without registering it
|
|
55
|
+
if (this.gridOptions.enableTextExport) {
|
|
56
|
+
this._registeredResources.push(new text_export_1.TextExportService());
|
|
57
|
+
}
|
|
58
|
+
this._registeredResources.push(new custom_tooltip_plugin_1.SlickCustomTooltip());
|
|
59
|
+
// at this point, we consider all the registered services as external services, anything else registered afterward aren't external
|
|
60
|
+
if (Array.isArray(this._registeredResources)) {
|
|
61
|
+
this.sharedService.externalRegisteredResources = this._registeredResources;
|
|
62
|
+
}
|
|
63
|
+
// push all other Services that we want to be registered
|
|
64
|
+
this._registeredResources.push(this.gridService, this.gridStateService);
|
|
65
|
+
// when using Grouping/DraggableGrouping/Colspan register its Service
|
|
66
|
+
if (this.gridOptions.createPreHeaderPanel && !this.gridOptions.enableDraggableGrouping) {
|
|
67
|
+
this._registeredResources.push(this.groupingService);
|
|
68
|
+
}
|
|
69
|
+
// when using Tree Data View, register its Service
|
|
70
|
+
if (this.gridOptions.enableTreeData) {
|
|
71
|
+
this._registeredResources.push(this.treeDataService);
|
|
72
|
+
}
|
|
73
|
+
// when user enables translation, we need to translate Headers on first pass & subsequently in the bindDifferentHooks
|
|
74
|
+
if (this.gridOptions.enableTranslate) {
|
|
75
|
+
this.extensionService.translateColumnHeaders();
|
|
76
|
+
}
|
|
77
|
+
// also initialize (render) the empty warning component
|
|
78
|
+
this.slickEmptyWarning = new empty_warning_component_1.SlickEmptyWarningComponent();
|
|
79
|
+
this._registeredResources.push(this.slickEmptyWarning);
|
|
80
|
+
// also initialize (render) the pagination component when using the salesforce default options
|
|
81
|
+
// however before adding a new instance, just make sure there isn't one that might have been loaded by calling "registerExternalResources"
|
|
82
|
+
if (this.gridOptions.enableCompositeEditor) {
|
|
83
|
+
if (!this._registeredResources.some((resource => resource instanceof composite_editor_component_1.SlickCompositeEditorComponent))) {
|
|
84
|
+
this.slickCompositeEditor = new composite_editor_component_1.SlickCompositeEditorComponent();
|
|
85
|
+
this._registeredResources.push(this.slickCompositeEditor);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// bind & initialize all Components/Services that were tagged as enabled
|
|
89
|
+
// register all services by executing their init method and providing them with the Grid object
|
|
90
|
+
if (Array.isArray(this._registeredResources)) {
|
|
91
|
+
for (const resource of this._registeredResources) {
|
|
92
|
+
if (this.slickGrid && typeof resource.init === 'function') {
|
|
93
|
+
resource.init(this.slickGrid, this.universalContainerService);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
exports.VanillaForceGridBundle = VanillaForceGridBundle;
|
|
100
|
+
//# sourceMappingURL=vanilla-force-bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vanilla-force-bundle.js","sourceRoot":"","sources":["../../src/vanilla-force-bundle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { Aggregators, Editors, Enums, Filters, Formatters, GroupTotalFormatters, SortComparers, Utilities } from '@slickgrid-universal/common';
|
|
2
|
+
import { BindingService } from '@slickgrid-universal/binding';
|
|
3
|
+
import { EventPubSubService } from '@slickgrid-universal/event-pub-sub';
|
|
4
|
+
import { SlickCompositeEditorComponent } from '@slickgrid-universal/composite-editor-component';
|
|
5
|
+
import { SlickEmptyWarningComponent } from '@slickgrid-universal/empty-warning-component';
|
|
6
|
+
import { SlickPaginationComponent } from '@slickgrid-universal/pagination-component';
|
|
7
|
+
import { VanillaForceGridBundle } from './vanilla-force-bundle';
|
|
8
|
+
declare const Slicker: {
|
|
9
|
+
GridBundle: typeof VanillaForceGridBundle;
|
|
10
|
+
Aggregators: {
|
|
11
|
+
Avg: typeof import("@slickgrid-universal/common").AvgAggregator;
|
|
12
|
+
Clone: typeof import("@slickgrid-universal/common").CloneAggregator;
|
|
13
|
+
Count: typeof import("@slickgrid-universal/common").CountAggregator;
|
|
14
|
+
Distinct: typeof import("@slickgrid-universal/common").DistinctAggregator;
|
|
15
|
+
Min: typeof import("@slickgrid-universal/common").MinAggregator;
|
|
16
|
+
Max: typeof import("@slickgrid-universal/common").MaxAggregator;
|
|
17
|
+
Sum: typeof import("@slickgrid-universal/common").SumAggregator;
|
|
18
|
+
};
|
|
19
|
+
BindingService: typeof BindingService;
|
|
20
|
+
Editors: {
|
|
21
|
+
autoComplete: typeof import("@slickgrid-universal/common").AutoCompleteEditor;
|
|
22
|
+
checkbox: typeof import("@slickgrid-universal/common").CheckboxEditor;
|
|
23
|
+
date: typeof import("@slickgrid-universal/common").DateEditor;
|
|
24
|
+
dualInput: typeof import("@slickgrid-universal/common").DualInputEditor;
|
|
25
|
+
float: typeof import("@slickgrid-universal/common").FloatEditor;
|
|
26
|
+
integer: typeof import("@slickgrid-universal/common").IntegerEditor;
|
|
27
|
+
longText: typeof import("@slickgrid-universal/common").LongTextEditor;
|
|
28
|
+
multipleSelect: typeof import("@slickgrid-universal/common").MultipleSelectEditor;
|
|
29
|
+
password: typeof import("@slickgrid-universal/common/dist/commonjs/editors/inputPasswordEditor").InputPasswordEditor;
|
|
30
|
+
singleSelect: typeof import("@slickgrid-universal/common").SingleSelectEditor;
|
|
31
|
+
slider: typeof import("@slickgrid-universal/common").SliderEditor;
|
|
32
|
+
text: typeof import("@slickgrid-universal/common").InputEditor;
|
|
33
|
+
};
|
|
34
|
+
Enums: typeof Enums;
|
|
35
|
+
Filters: {
|
|
36
|
+
autoComplete: typeof import("@slickgrid-universal/common").AutoCompleteFilter;
|
|
37
|
+
compoundDate: typeof import("@slickgrid-universal/common").CompoundDateFilter;
|
|
38
|
+
compoundInput: typeof import("@slickgrid-universal/common").CompoundInputFilter;
|
|
39
|
+
compoundInputNumber: typeof import("@slickgrid-universal/common").CompoundInputNumberFilter;
|
|
40
|
+
compoundInputPassword: typeof import("@slickgrid-universal/common").CompoundInputPasswordFilter;
|
|
41
|
+
compoundInputText: typeof import("@slickgrid-universal/common").CompoundInputFilter;
|
|
42
|
+
compoundSlider: typeof import("@slickgrid-universal/common").CompoundSliderFilter;
|
|
43
|
+
dateRange: typeof import("@slickgrid-universal/common").DateRangeFilter;
|
|
44
|
+
input: typeof import("@slickgrid-universal/common").InputFilter;
|
|
45
|
+
inputMask: typeof import("@slickgrid-universal/common").InputMaskFilter;
|
|
46
|
+
inputNumber: typeof import("@slickgrid-universal/common").InputNumberFilter;
|
|
47
|
+
inputPassword: typeof import("@slickgrid-universal/common").InputPasswordFilter;
|
|
48
|
+
inputText: typeof import("@slickgrid-universal/common").InputFilter;
|
|
49
|
+
multipleSelect: typeof import("@slickgrid-universal/common").MultipleSelectFilter;
|
|
50
|
+
select: typeof import("@slickgrid-universal/common").NativeSelectFilter;
|
|
51
|
+
singleSelect: typeof import("@slickgrid-universal/common").SingleSelectFilter;
|
|
52
|
+
slider: typeof import("@slickgrid-universal/common").SliderFilter;
|
|
53
|
+
sliderRange: typeof import("@slickgrid-universal/common").SliderRangeFilter;
|
|
54
|
+
};
|
|
55
|
+
Formatters: {
|
|
56
|
+
alignCenter: import("@slickgrid-universal/common").Formatter<any>;
|
|
57
|
+
alignRight: import("@slickgrid-universal/common").Formatter<any>;
|
|
58
|
+
arrayObjectToCsv: import("@slickgrid-universal/common").Formatter<any>;
|
|
59
|
+
arrayToCsv: import("@slickgrid-universal/common").Formatter<any>;
|
|
60
|
+
bold: import("@slickgrid-universal/common").Formatter<any>;
|
|
61
|
+
center: import("@slickgrid-universal/common").Formatter<any>;
|
|
62
|
+
checkbox: import("@slickgrid-universal/common").Formatter<any>;
|
|
63
|
+
checkmark: import("@slickgrid-universal/common").Formatter<any>;
|
|
64
|
+
checkmarkMaterial: import("@slickgrid-universal/common").Formatter<any>;
|
|
65
|
+
complex: import("@slickgrid-universal/common").Formatter<any>;
|
|
66
|
+
complexObject: import("@slickgrid-universal/common").Formatter<any>;
|
|
67
|
+
collection: import("@slickgrid-universal/common").Formatter<any>;
|
|
68
|
+
collectionEditor: import("@slickgrid-universal/common").Formatter<any>;
|
|
69
|
+
dateIso: import("@slickgrid-universal/common").Formatter<any>;
|
|
70
|
+
dateTimeIso: import("@slickgrid-universal/common").Formatter<any>;
|
|
71
|
+
dateTimeShortIso: import("@slickgrid-universal/common").Formatter<any>;
|
|
72
|
+
dateTimeIsoAmPm: import("@slickgrid-universal/common").Formatter<any>;
|
|
73
|
+
dateEuro: import("@slickgrid-universal/common").Formatter<any>;
|
|
74
|
+
dateTimeEuro: import("@slickgrid-universal/common").Formatter<any>;
|
|
75
|
+
dateTimeShortEuro: import("@slickgrid-universal/common").Formatter<any>;
|
|
76
|
+
dateTimeEuroAmPm: import("@slickgrid-universal/common").Formatter<any>;
|
|
77
|
+
dateUs: import("@slickgrid-universal/common").Formatter<any>;
|
|
78
|
+
dateTimeUs: import("@slickgrid-universal/common").Formatter<any>;
|
|
79
|
+
dateTimeShortUs: import("@slickgrid-universal/common").Formatter<any>;
|
|
80
|
+
dateTimeUsAmPm: import("@slickgrid-universal/common").Formatter<any>;
|
|
81
|
+
deleteIcon: import("@slickgrid-universal/common").Formatter<any>;
|
|
82
|
+
decimal: import("@slickgrid-universal/common").Formatter<any>;
|
|
83
|
+
dollar: import("@slickgrid-universal/common").Formatter<any>;
|
|
84
|
+
dollarColored: import("@slickgrid-universal/common").Formatter<any>;
|
|
85
|
+
dollarColoredBold: import("@slickgrid-universal/common").Formatter<any>;
|
|
86
|
+
editIcon: import("@slickgrid-universal/common").Formatter<any>;
|
|
87
|
+
fakeHyperlink: import("@slickgrid-universal/common").Formatter<any>;
|
|
88
|
+
hyperlink: import("@slickgrid-universal/common").Formatter<any>;
|
|
89
|
+
icon: import("@slickgrid-universal/common").Formatter<any>;
|
|
90
|
+
infoIcon: import("@slickgrid-universal/common").Formatter<any>;
|
|
91
|
+
italic: import("@slickgrid-universal/common").Formatter<any>;
|
|
92
|
+
lowercase: import("@slickgrid-universal/common").Formatter<any>;
|
|
93
|
+
mask: import("@slickgrid-universal/common").Formatter<any>;
|
|
94
|
+
multiple: import("@slickgrid-universal/common").Formatter<any>;
|
|
95
|
+
percent: import("@slickgrid-universal/common").Formatter<any>;
|
|
96
|
+
percentComplete: import("@slickgrid-universal/common").Formatter<any>;
|
|
97
|
+
percentCompleteBar: import("@slickgrid-universal/common").Formatter<any>;
|
|
98
|
+
percentCompleteBarWithText: import("@slickgrid-universal/common").Formatter<any>;
|
|
99
|
+
percentSymbol: import("@slickgrid-universal/common").Formatter<any>;
|
|
100
|
+
progressBar: import("@slickgrid-universal/common").Formatter<any>;
|
|
101
|
+
translate: import("@slickgrid-universal/common").Formatter<any>;
|
|
102
|
+
translateBoolean: import("@slickgrid-universal/common").Formatter<any>;
|
|
103
|
+
tree: import("@slickgrid-universal/common").Formatter<any>;
|
|
104
|
+
treeExport: import("@slickgrid-universal/common").Formatter<any>;
|
|
105
|
+
uppercase: import("@slickgrid-universal/common").Formatter<any>;
|
|
106
|
+
yesNo: import("@slickgrid-universal/common").Formatter<any>;
|
|
107
|
+
};
|
|
108
|
+
GroupTotalFormatters: {
|
|
109
|
+
avgTotals: import("@slickgrid-universal/common").GroupTotalsFormatter;
|
|
110
|
+
avgTotalsDollar: import("@slickgrid-universal/common").GroupTotalsFormatter;
|
|
111
|
+
avgTotalsPercentage: import("@slickgrid-universal/common").GroupTotalsFormatter;
|
|
112
|
+
maxTotals: import("@slickgrid-universal/common").GroupTotalsFormatter;
|
|
113
|
+
minTotals: import("@slickgrid-universal/common").GroupTotalsFormatter;
|
|
114
|
+
sumTotals: import("@slickgrid-universal/common").GroupTotalsFormatter;
|
|
115
|
+
sumTotalsBold: import("@slickgrid-universal/common").GroupTotalsFormatter;
|
|
116
|
+
sumTotalsColored: import("@slickgrid-universal/common").GroupTotalsFormatter;
|
|
117
|
+
sumTotalsDollar: import("@slickgrid-universal/common").GroupTotalsFormatter;
|
|
118
|
+
sumTotalsDollarBold: import("@slickgrid-universal/common").GroupTotalsFormatter;
|
|
119
|
+
sumTotalsDollarColored: import("@slickgrid-universal/common").GroupTotalsFormatter;
|
|
120
|
+
sumTotalsDollarColoredBold: import("@slickgrid-universal/common").GroupTotalsFormatter;
|
|
121
|
+
};
|
|
122
|
+
SortComparers: {
|
|
123
|
+
date: import("@slickgrid-universal/common").SortComparer;
|
|
124
|
+
dateIso: import("@slickgrid-universal/common").SortComparer;
|
|
125
|
+
dateUtc: import("@slickgrid-universal/common").SortComparer;
|
|
126
|
+
dateTime: import("@slickgrid-universal/common").SortComparer;
|
|
127
|
+
dateTimeIso: import("@slickgrid-universal/common").SortComparer;
|
|
128
|
+
dateTimeIsoAmPm: import("@slickgrid-universal/common").SortComparer;
|
|
129
|
+
dateTimeIsoAM_PM: import("@slickgrid-universal/common").SortComparer;
|
|
130
|
+
dateTimeShortIso: import("@slickgrid-universal/common").SortComparer;
|
|
131
|
+
dateEuro: import("@slickgrid-universal/common").SortComparer;
|
|
132
|
+
dateEuroShort: import("@slickgrid-universal/common").SortComparer;
|
|
133
|
+
dateTimeShortEuro: import("@slickgrid-universal/common").SortComparer;
|
|
134
|
+
dateTimeEuro: import("@slickgrid-universal/common").SortComparer;
|
|
135
|
+
dateTimeEuroAmPm: import("@slickgrid-universal/common").SortComparer;
|
|
136
|
+
dateTimeEuroAM_PM: import("@slickgrid-universal/common").SortComparer;
|
|
137
|
+
dateTimeEuroShort: import("@slickgrid-universal/common").SortComparer;
|
|
138
|
+
dateTimeEuroShortAmPm: import("@slickgrid-universal/common").SortComparer;
|
|
139
|
+
dateTimeEuroShortAM_PM: import("@slickgrid-universal/common").SortComparer;
|
|
140
|
+
dateUs: import("@slickgrid-universal/common").SortComparer;
|
|
141
|
+
dateUsShort: import("@slickgrid-universal/common").SortComparer;
|
|
142
|
+
dateTimeShortUs: import("@slickgrid-universal/common").SortComparer;
|
|
143
|
+
dateTimeUs: import("@slickgrid-universal/common").SortComparer;
|
|
144
|
+
dateTimeUsAmPm: import("@slickgrid-universal/common").SortComparer;
|
|
145
|
+
dateTimeUsAM_PM: import("@slickgrid-universal/common").SortComparer;
|
|
146
|
+
dateTimeUsShort: import("@slickgrid-universal/common").SortComparer;
|
|
147
|
+
dateTimeUsShortAmPm: import("@slickgrid-universal/common").SortComparer;
|
|
148
|
+
dateTimeUsShortAM_PM: import("@slickgrid-universal/common").SortComparer;
|
|
149
|
+
numeric: import("@slickgrid-universal/common").SortComparer;
|
|
150
|
+
objectString: import("@slickgrid-universal/common").SortComparer;
|
|
151
|
+
string: import("@slickgrid-universal/common").SortComparer;
|
|
152
|
+
};
|
|
153
|
+
Utilities: {
|
|
154
|
+
deepAssign: typeof import("@slickgrid-universal/common").deepMerge;
|
|
155
|
+
sortByFieldType(fieldType: "string" | "number" | "boolean" | "object" | "unknown" | "integer" | "float" | "date" | "dateIso" | "dateUtc" | "dateTime" | "dateTimeIso" | "dateTimeIsoAmPm" | "dateTimeIsoAM_PM" | "dateTimeShortIso" | "dateEuro" | "dateEuroShort" | "dateTimeShortEuro" | "dateTimeEuro" | "dateTimeEuroAmPm" | "dateTimeEuroAM_PM" | "dateTimeEuroShort" | "dateTimeEuroShortAmPm" | "dateTimeEuroShortAM_PM" | "dateUs" | "dateUsShort" | "dateTimeShortUs" | "dateTimeUs" | "dateTimeUsAmPm" | "dateTimeUsAM_PM" | "dateTimeUsShort" | "dateTimeUsShortAmPm" | "dateTimeUsShortAM_PM" | "password" | "text" | "readonly", value1: any, value2: any, sortDirection: number, sortColumn?: import("@slickgrid-universal/common").Column<any> | undefined, gridOptions?: import("@slickgrid-universal/common").GridOption | undefined): number;
|
|
156
|
+
addToArrayWhenNotExists<T = any>(inputArray: T[], inputItem: T, itemIdPropName?: string | undefined): void;
|
|
157
|
+
addWhiteSpaces(nbSpaces: number, spaceChar?: string | undefined): string;
|
|
158
|
+
arrayRemoveItemByIndex<T_1>(array: T_1[], index: number): T_1[];
|
|
159
|
+
cancellablePromise<T_2 = any>(inputPromise: Promise<T_2>): import("@slickgrid-universal/common").CancellablePromiseWrapper<T_2>;
|
|
160
|
+
castObservableToPromise<T_3>(rxjs: import("@slickgrid-universal/common").RxJsFacade, input: Promise<T_3> | import("@slickgrid-universal/common").Observable<T_3> | import("@slickgrid-universal/common").Subject<T_3>, fromServiceName?: string | undefined): Promise<T_3>;
|
|
161
|
+
addTreeLevelByMutation<T_4>(treeArray: T_4[], options: {
|
|
162
|
+
childrenPropName: string;
|
|
163
|
+
levelPropName: string;
|
|
164
|
+
}, treeLevel?: number | undefined): void;
|
|
165
|
+
flattenToParentChildArray<T_5>(treeArray: T_5[], options?: {
|
|
166
|
+
parentPropName?: string | undefined;
|
|
167
|
+
childrenPropName?: string | undefined;
|
|
168
|
+
hasChildrenPropName?: string | undefined;
|
|
169
|
+
identifierPropName?: string | undefined;
|
|
170
|
+
shouldAddTreeLevelNumber?: boolean | undefined;
|
|
171
|
+
levelPropName?: string | undefined;
|
|
172
|
+
} | undefined): Omit<T_5, number | typeof Symbol.iterator | "charAt" | "charCodeAt" | "concat" | "indexOf" | "lastIndexOf" | "localeCompare" | "match" | "replace" | "search" | "slice" | "split" | "substring" | "toLowerCase" | "toLocaleLowerCase" | "toUpperCase" | "toLocaleUpperCase" | "trim" | "length" | "substr" | "codePointAt" | "includes" | "endsWith" | "normalize" | "repeat" | "startsWith" | "anchor" | "big" | "blink" | "bold" | "fixed" | "fontcolor" | "fontsize" | "italics" | "link" | "small" | "strike" | "sub" | "sup" | "padStart" | "padEnd" | "trimEnd" | "trimStart" | "trimLeft" | "trimRight" | "matchAll" | "at" | "toString" | "valueOf" | "toLocaleString">[];
|
|
173
|
+
unflattenParentChildArrayToTree<P, T_6 extends P & {
|
|
174
|
+
[childrenPropName: string]: P[];
|
|
175
|
+
}>(flatArray: P[], options?: {
|
|
176
|
+
childrenPropName?: string | undefined;
|
|
177
|
+
collapsedPropName?: string | undefined;
|
|
178
|
+
identifierPropName?: string | undefined;
|
|
179
|
+
levelPropName?: string | undefined;
|
|
180
|
+
parentPropName?: string | undefined;
|
|
181
|
+
initiallyCollapsed?: boolean | undefined;
|
|
182
|
+
} | undefined): T_6[];
|
|
183
|
+
deepCopy(objectOrArray: any): any;
|
|
184
|
+
deepMerge(target: any, ...sources: any[]): any;
|
|
185
|
+
emptyObject(obj: any): any;
|
|
186
|
+
isEmptyObject(obj: any): boolean;
|
|
187
|
+
isObject(item: any): any;
|
|
188
|
+
findItemInTreeStructure<T_7 = any>(treeArray: T_7[], predicate: (item: T_7) => boolean, childrenPropertyName: string): T_7 | undefined;
|
|
189
|
+
hasData(value: any): boolean;
|
|
190
|
+
isNumber(value: any, strict?: boolean | undefined): boolean;
|
|
191
|
+
isObjectEmpty(obj: unknown): unknown;
|
|
192
|
+
decimalFormatted(input: string | number, minDecimal?: number | undefined, maxDecimal?: number | undefined, decimalSeparator?: "," | "." | undefined, thousandSeparator?: "" | "," | "_" | "." | " " | undefined): string;
|
|
193
|
+
formatNumber(input: string | number, minDecimal?: number | undefined, maxDecimal?: number | undefined, displayNegativeNumberWithParentheses?: boolean | undefined, symbolPrefix?: string | undefined, symbolSuffix?: string | undefined, decimalSeparator?: "," | "." | undefined, thousandSeparator?: "" | "," | "_" | "." | " " | undefined): string;
|
|
194
|
+
getCellValueFromQueryFieldGetter(columnDef: import("@slickgrid-universal/common").Column<any>, dataContext: any, defaultValue: any): string;
|
|
195
|
+
getDescendantProperty<T_8 = any>(object: T_8, path: string | undefined): any;
|
|
196
|
+
getTranslationPrefix(gridOptions?: import("@slickgrid-universal/common").GridOption | undefined): string;
|
|
197
|
+
mapMomentDateFormatWithFieldType(fieldType: "string" | "number" | "boolean" | "object" | "unknown" | "integer" | "float" | "date" | "dateIso" | "dateUtc" | "dateTime" | "dateTimeIso" | "dateTimeIsoAmPm" | "dateTimeIsoAM_PM" | "dateTimeShortIso" | "dateEuro" | "dateEuroShort" | "dateTimeShortEuro" | "dateTimeEuro" | "dateTimeEuroAmPm" | "dateTimeEuroAM_PM" | "dateTimeEuroShort" | "dateTimeEuroShortAmPm" | "dateTimeEuroShortAM_PM" | "dateUs" | "dateUsShort" | "dateTimeShortUs" | "dateTimeUs" | "dateTimeUsAmPm" | "dateTimeUsAM_PM" | "dateTimeUsShort" | "dateTimeUsShortAmPm" | "dateTimeUsShortAM_PM" | "password" | "text" | "readonly"): string;
|
|
198
|
+
mapFlatpickrDateFormatWithFieldType(fieldType: "string" | "number" | "boolean" | "object" | "unknown" | "integer" | "float" | "date" | "dateIso" | "dateUtc" | "dateTime" | "dateTimeIso" | "dateTimeIsoAmPm" | "dateTimeIsoAM_PM" | "dateTimeShortIso" | "dateEuro" | "dateEuroShort" | "dateTimeShortEuro" | "dateTimeEuro" | "dateTimeEuroAmPm" | "dateTimeEuroAM_PM" | "dateTimeEuroShort" | "dateTimeEuroShortAmPm" | "dateTimeEuroShortAM_PM" | "dateUs" | "dateUsShort" | "dateTimeShortUs" | "dateTimeUs" | "dateTimeUsAmPm" | "dateTimeUsAM_PM" | "dateTimeUsShort" | "dateTimeUsShortAmPm" | "dateTimeUsShortAM_PM" | "password" | "text" | "readonly"): string;
|
|
199
|
+
mapOperatorType(operator: Enums.OperatorString | Enums.OperatorType): Enums.OperatorType;
|
|
200
|
+
mapOperatorToShorthandDesignation(operator: Enums.OperatorString | Enums.OperatorType): Enums.OperatorString;
|
|
201
|
+
mapOperatorByFieldType(fieldType: "string" | "number" | "boolean" | "object" | "unknown" | "integer" | "float" | "date" | "dateIso" | "dateUtc" | "dateTime" | "dateTimeIso" | "dateTimeIsoAmPm" | "dateTimeIsoAM_PM" | "dateTimeShortIso" | "dateEuro" | "dateEuroShort" | "dateTimeShortEuro" | "dateTimeEuro" | "dateTimeEuroAmPm" | "dateTimeEuroAM_PM" | "dateTimeEuroShort" | "dateTimeEuroShortAmPm" | "dateTimeEuroShortAM_PM" | "dateUs" | "dateUsShort" | "dateTimeShortUs" | "dateTimeUs" | "dateTimeUsAmPm" | "dateTimeUsAM_PM" | "dateTimeUsShort" | "dateTimeUsShortAmPm" | "dateTimeUsShortAM_PM" | "password" | "text" | "readonly"): Enums.OperatorType;
|
|
202
|
+
objectWithoutKey<T_9 = any>(obj: T_9, omitKey: keyof T_9): T_9;
|
|
203
|
+
parseBoolean(input: any): boolean;
|
|
204
|
+
parseUtcDate(inputDateString: any, useUtc?: boolean | undefined): string;
|
|
205
|
+
removeAccentFromText(text: string, shouldLowerCase?: boolean | undefined): string;
|
|
206
|
+
setDeepValue<T_10 = any>(obj: T_10, path: string | string[], value: any): void;
|
|
207
|
+
thousandSeparatorFormatted(inputValue: string | number | null, separator?: "" | "," | "_" | "." | " " | undefined): string | null;
|
|
208
|
+
titleCase(inputStr: string, shouldTitleCaseEveryWords?: boolean | undefined): string;
|
|
209
|
+
toCamelCase(inputStr: string): string;
|
|
210
|
+
toKebabCase(inputStr: string): string;
|
|
211
|
+
toSentenceCase(inputStr: string): string;
|
|
212
|
+
findOrDefault<T_11 = any>(array: T_11[], logic: (item: T_11) => boolean, defaultVal?: {} | undefined): any;
|
|
213
|
+
toSnakeCase(inputStr: string): string;
|
|
214
|
+
unsubscribeAll(subscriptions: (import("@slickgrid-universal/common").Subscription | import("@slickgrid-universal/common").EventSubscription)[]): (import("@slickgrid-universal/common").Subscription | import("@slickgrid-universal/common").EventSubscription)[];
|
|
215
|
+
uniqueArray<T_12 = any>(arr: T_12[]): T_12[];
|
|
216
|
+
uniqueObjectArray(arr: any[], propertyName?: string | undefined): any[];
|
|
217
|
+
CancelledException: typeof import("@slickgrid-universal/common").CancelledException;
|
|
218
|
+
collectionObserver(inputArray: any[], callback: (outputArray: any[], newValues: any[]) => void): void;
|
|
219
|
+
propertyObserver(obj: any, prop: string, callback: (newValue: any) => void): void;
|
|
220
|
+
BackendUtilityService: typeof import("@slickgrid-universal/common").BackendUtilityService;
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
export { BindingService };
|
|
224
|
+
export { Aggregators, Editors, Enums, EventPubSubService, Filters, Formatters, GroupTotalFormatters, SortComparers, Utilities };
|
|
225
|
+
export { SlickCompositeEditorComponent, SlickEmptyWarningComponent, SlickPaginationComponent, VanillaForceGridBundle };
|
|
226
|
+
export { Slicker };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Aggregators, Editors, Enums, Filters, Formatters, GroupTotalFormatters, SortComparers, Utilities } from '@slickgrid-universal/common';
|
|
2
|
+
import { BindingService } from '@slickgrid-universal/binding';
|
|
3
|
+
import { EventPubSubService } from '@slickgrid-universal/event-pub-sub';
|
|
4
|
+
import { SlickCompositeEditorComponent } from '@slickgrid-universal/composite-editor-component';
|
|
5
|
+
import { SlickEmptyWarningComponent } from '@slickgrid-universal/empty-warning-component';
|
|
6
|
+
import { SlickPaginationComponent } from '@slickgrid-universal/pagination-component';
|
|
7
|
+
import { VanillaForceGridBundle } from './vanilla-force-bundle';
|
|
8
|
+
const Slicker = {
|
|
9
|
+
GridBundle: VanillaForceGridBundle,
|
|
10
|
+
Aggregators,
|
|
11
|
+
BindingService,
|
|
12
|
+
Editors,
|
|
13
|
+
Enums,
|
|
14
|
+
Filters,
|
|
15
|
+
Formatters,
|
|
16
|
+
GroupTotalFormatters,
|
|
17
|
+
SortComparers,
|
|
18
|
+
Utilities,
|
|
19
|
+
};
|
|
20
|
+
// expose the bundle on the global "window" object as Slicker
|
|
21
|
+
if (typeof window !== 'undefined') {
|
|
22
|
+
window.Slicker = Slicker;
|
|
23
|
+
}
|
|
24
|
+
export { BindingService };
|
|
25
|
+
export { Aggregators, Editors, Enums, EventPubSubService, Filters, Formatters, GroupTotalFormatters, SortComparers, Utilities };
|
|
26
|
+
export { SlickCompositeEditorComponent, SlickEmptyWarningComponent, SlickPaginationComponent, VanillaForceGridBundle }; // export the custom components & interfaces
|
|
27
|
+
export { Slicker };
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC/I,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAChG,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,OAAO,GAAG;IACd,UAAU,EAAE,sBAAsB;IAClC,WAAW;IACX,cAAc;IACd,OAAO;IACP,KAAK;IACL,OAAO;IACP,UAAU;IACV,oBAAoB;IACpB,aAAa;IACb,SAAS;CACV,CAAC;AAEF,6DAA6D;AAC7D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IAChC,MAAc,CAAC,OAAO,GAAG,OAAO,CAAC;CACnC;AAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;AAChI,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,CAAC,CAAC,4CAA4C;AACpK,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { EventNamingStyle } from '@slickgrid-universal/common';
|
|
2
|
+
/** Global Grid Options Defaults for Salesforce */
|
|
3
|
+
export const SalesforceGlobalGridOptions = {
|
|
4
|
+
autoEdit: true,
|
|
5
|
+
autoCommitEdit: true,
|
|
6
|
+
autoFixResizeTimeout: 5 * 60 * 60,
|
|
7
|
+
autoFixResizeRequiredGoodCount: 5 * 60 * 60,
|
|
8
|
+
autoFixResizeWhenBrokenStyleDetected: true,
|
|
9
|
+
cellValueCouldBeUndefined: true,
|
|
10
|
+
eventNamingStyle: EventNamingStyle.lowerCaseWithoutOnPrefix,
|
|
11
|
+
compositeEditorOptions: {
|
|
12
|
+
labels: {
|
|
13
|
+
massSelectionButton: 'Apply to Selected & Save',
|
|
14
|
+
massUpdateButton: 'Apply to All & Save'
|
|
15
|
+
},
|
|
16
|
+
resetEditorButtonCssClass: 'mdi mdi-refresh mdi-15px mdi-v-align-text-top',
|
|
17
|
+
resetFormButtonIconCssClass: 'mdi mdi-refresh mdi-16px mdi-flip-h mdi-v-align-text-top'
|
|
18
|
+
},
|
|
19
|
+
datasetIdPropertyName: 'Id',
|
|
20
|
+
emptyDataWarning: {
|
|
21
|
+
message: `<span class="mdi mdi-alert color-warning"></span> No data to display.`,
|
|
22
|
+
},
|
|
23
|
+
enableDeepCopyDatasetOnPageLoad: true,
|
|
24
|
+
enableTextExport: true,
|
|
25
|
+
textExportOptions: {
|
|
26
|
+
exportWithFormatter: true,
|
|
27
|
+
sanitizeDataExport: true,
|
|
28
|
+
},
|
|
29
|
+
enableCellNavigation: true,
|
|
30
|
+
customTooltip: {
|
|
31
|
+
tooltipTextMaxLength: 650,
|
|
32
|
+
},
|
|
33
|
+
filterTypingDebounce: 250,
|
|
34
|
+
formatterOptions: {
|
|
35
|
+
minDecimal: 0,
|
|
36
|
+
maxDecimal: 2,
|
|
37
|
+
thousandSeparator: ','
|
|
38
|
+
},
|
|
39
|
+
frozenHeaderWidthCalcDifferential: 2,
|
|
40
|
+
columnPicker: {
|
|
41
|
+
hideForceFitButton: true,
|
|
42
|
+
},
|
|
43
|
+
gridMenu: {
|
|
44
|
+
commandLabels: {
|
|
45
|
+
clearFrozenColumnsCommandKey: 'UNFREEZE_COLUMNS',
|
|
46
|
+
},
|
|
47
|
+
hideTogglePreHeaderCommand: true,
|
|
48
|
+
hideRefreshDatasetCommand: true,
|
|
49
|
+
hideClearFrozenColumnsCommand: false,
|
|
50
|
+
hideForceFitButton: true,
|
|
51
|
+
},
|
|
52
|
+
headerMenu: {
|
|
53
|
+
hideFreezeColumnsCommand: false,
|
|
54
|
+
iconSortAscCommand: 'fa fa-sort-amount-asc mdi mdi-arrow-up',
|
|
55
|
+
iconSortDescCommand: 'fa fa-sort-amount-desc mdi mdi-arrow-down',
|
|
56
|
+
},
|
|
57
|
+
sanitizer: (dirtyHtml) => typeof dirtyHtml === 'string' ? dirtyHtml.replace(/(\b)(on\S+)(\s*)=|javascript:([^>]*)[^>]*|(<\s*)(\/*)script([<>]*).*(<\s*)(\/*)script(>*)|(<)(\/*)(script|script defer)(.*)(>|>">)/gi, '') : dirtyHtml,
|
|
58
|
+
showCustomFooter: true,
|
|
59
|
+
customFooterOptions: {
|
|
60
|
+
hideMetrics: false,
|
|
61
|
+
hideTotalItemCount: false,
|
|
62
|
+
hideLastUpdateTimestamp: true,
|
|
63
|
+
metricTexts: {
|
|
64
|
+
itemsSelectedKey: 'RECORDS_SELECTED',
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
headerRowHeight: 35,
|
|
68
|
+
rowHeight: 33,
|
|
69
|
+
resizeByContentOnlyOnFirstLoad: false,
|
|
70
|
+
resizeByContentOptions: {
|
|
71
|
+
formatterPaddingWidthInPx: 8,
|
|
72
|
+
maxItemToInspectCellContentWidth: 500,
|
|
73
|
+
},
|
|
74
|
+
rowMoveManager: {
|
|
75
|
+
hideRowMoveShadow: false,
|
|
76
|
+
},
|
|
77
|
+
useSalesforceDefaultGridOptions: true,
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=salesforce-global-grid-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"salesforce-global-grid-options.js","sourceRoot":"","sources":["../../src/salesforce-global-grid-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE3E,kDAAkD;AAClD,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,QAAQ,EAAE,IAAI;IACd,cAAc,EAAE,IAAI;IACpB,oBAAoB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE;IACjC,8BAA8B,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE;IAC3C,oCAAoC,EAAE,IAAI;IAC1C,yBAAyB,EAAE,IAAI;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC,wBAAwB;IAC3D,sBAAsB,EAAE;QACtB,MAAM,EAAE;YACN,mBAAmB,EAAE,0BAA0B;YAC/C,gBAAgB,EAAE,qBAAqB;SACxC;QACD,yBAAyB,EAAE,+CAA+C;QAC1E,2BAA2B,EAAE,0DAA0D;KACxF;IACD,qBAAqB,EAAE,IAAI;IAC3B,gBAAgB,EAAE;QAChB,OAAO,EAAE,uEAAuE;KACjF;IACD,+BAA+B,EAAE,IAAI;IACrC,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE;QACjB,mBAAmB,EAAE,IAAI;QACzB,kBAAkB,EAAE,IAAI;KACzB;IACD,oBAAoB,EAAE,IAAI;IAC1B,aAAa,EAAE;QACb,oBAAoB,EAAE,GAAG;KAC1B;IACD,oBAAoB,EAAE,GAAG;IACzB,gBAAgB,EAAE;QAChB,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;QACb,iBAAiB,EAAE,GAAG;KACvB;IACD,iCAAiC,EAAE,CAAC;IACpC,YAAY,EAAE;QACZ,kBAAkB,EAAE,IAAI;KACzB;IACD,QAAQ,EAAE;QACR,aAAa,EAAE;YACb,4BAA4B,EAAE,kBAAkB;SACjD;QACD,0BAA0B,EAAE,IAAI;QAChC,yBAAyB,EAAE,IAAI;QAC/B,6BAA6B,EAAE,KAAK;QACpC,kBAAkB,EAAE,IAAI;KACzB;IACD,UAAU,EAAE;QACV,wBAAwB,EAAE,KAAK;QAC/B,kBAAkB,EAAE,wCAAwC;QAC5D,mBAAmB,EAAE,2CAA2C;KACjE;IACD,SAAS,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,+IAA+I,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;IACpP,gBAAgB,EAAE,IAAI;IACtB,mBAAmB,EAAE;QACnB,WAAW,EAAE,KAAK;QAClB,kBAAkB,EAAE,KAAK;QACzB,uBAAuB,EAAE,IAAI;QAC7B,WAAW,EAAE;YACX,gBAAgB,EAAE,kBAAkB;SACrC;KACF;IACD,eAAe,EAAE,EAAE;IACnB,SAAS,EAAE,EAAE;IACb,8BAA8B,EAAE,KAAK;IACrC,sBAAsB,EAAE;QACtB,yBAAyB,EAAE,CAAC;QAC5B,gCAAgC,EAAE,GAAG;KACtC;IACD,cAAc,EAAE;QACd,iBAAiB,EAAE,KAAK;KACzB;IACD,+BAA+B,EAAE,IAAI;CACxB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Column, GridOption, BackendUtilityService, CollectionService, ExtensionService, ExtensionUtility, FilterService, GridEventService, GridService, GridStateService, GroupingAndColspanService, PaginationService, ResizerService, RxJsFacade, SharedService, SortService, TranslaterService, TreeDataService } from '@slickgrid-universal/common';
|
|
2
|
+
import { EventPubSubService } from '@slickgrid-universal/event-pub-sub';
|
|
3
|
+
import { SlickCompositeEditorComponent } from '@slickgrid-universal/composite-editor-component';
|
|
4
|
+
import { SlickVanillaGridBundle, UniversalContainerService } from '@slickgrid-universal/vanilla-bundle';
|
|
5
|
+
export declare class VanillaForceGridBundle extends SlickVanillaGridBundle {
|
|
6
|
+
slickCompositeEditor: SlickCompositeEditorComponent | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* Salesforce Slicker Grid Bundle constructor
|
|
9
|
+
* @param {Object} gridParentContainerElm - div HTML DOM element container
|
|
10
|
+
* @param {Array<Column>} columnDefs - Column Definitions
|
|
11
|
+
* @param {Object} options - Grid Options
|
|
12
|
+
* @param {Array<Object>} dataset - Dataset
|
|
13
|
+
* @param {Array<Object>} hierarchicalDataset - Hierarchical Dataset
|
|
14
|
+
* @param {Object} services - Typically only used for Unit Testing when we want to pass Mocked/Stub Services
|
|
15
|
+
*/
|
|
16
|
+
constructor(gridParentContainerElm: HTMLElement, columnDefs?: Column[], options?: GridOption, dataset?: any[], hierarchicalDataset?: any[], services?: {
|
|
17
|
+
backendUtilityService?: BackendUtilityService;
|
|
18
|
+
collectionService?: CollectionService;
|
|
19
|
+
eventPubSubService?: EventPubSubService;
|
|
20
|
+
extensionService?: ExtensionService;
|
|
21
|
+
extensionUtility?: ExtensionUtility;
|
|
22
|
+
filterService?: FilterService;
|
|
23
|
+
gridEventService?: GridEventService;
|
|
24
|
+
gridService?: GridService;
|
|
25
|
+
gridStateService?: GridStateService;
|
|
26
|
+
groupingAndColspanService?: GroupingAndColspanService;
|
|
27
|
+
paginationService?: PaginationService;
|
|
28
|
+
resizerService?: ResizerService;
|
|
29
|
+
rxjs?: RxJsFacade;
|
|
30
|
+
sharedService?: SharedService;
|
|
31
|
+
sortService?: SortService;
|
|
32
|
+
treeDataService?: TreeDataService;
|
|
33
|
+
translaterService?: TranslaterService;
|
|
34
|
+
universalContainerService?: UniversalContainerService;
|
|
35
|
+
});
|
|
36
|
+
mergeGridOptions(gridOptions: GridOption): GridOption;
|
|
37
|
+
protected registerResources(): void;
|
|
38
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { GlobalGridOptions, } from '@slickgrid-universal/common';
|
|
2
|
+
import { SlickCompositeEditorComponent } from '@slickgrid-universal/composite-editor-component';
|
|
3
|
+
import { SlickEmptyWarningComponent } from '@slickgrid-universal/empty-warning-component';
|
|
4
|
+
import { SlickCustomTooltip } from '@slickgrid-universal/custom-tooltip-plugin';
|
|
5
|
+
import { TextExportService } from '@slickgrid-universal/text-export';
|
|
6
|
+
import { SlickVanillaGridBundle } from '@slickgrid-universal/vanilla-bundle';
|
|
7
|
+
import { SalesforceGlobalGridOptions } from './salesforce-global-grid-options';
|
|
8
|
+
export class VanillaForceGridBundle extends SlickVanillaGridBundle {
|
|
9
|
+
/**
|
|
10
|
+
* Salesforce Slicker Grid Bundle constructor
|
|
11
|
+
* @param {Object} gridParentContainerElm - div HTML DOM element container
|
|
12
|
+
* @param {Array<Column>} columnDefs - Column Definitions
|
|
13
|
+
* @param {Object} options - Grid Options
|
|
14
|
+
* @param {Array<Object>} dataset - Dataset
|
|
15
|
+
* @param {Array<Object>} hierarchicalDataset - Hierarchical Dataset
|
|
16
|
+
* @param {Object} services - Typically only used for Unit Testing when we want to pass Mocked/Stub Services
|
|
17
|
+
*/
|
|
18
|
+
constructor(gridParentContainerElm, columnDefs, options, dataset, hierarchicalDataset, services) {
|
|
19
|
+
super(gridParentContainerElm, columnDefs, options, dataset, hierarchicalDataset, services);
|
|
20
|
+
}
|
|
21
|
+
mergeGridOptions(gridOptions) {
|
|
22
|
+
var _a;
|
|
23
|
+
const extraOptions = (gridOptions.useSalesforceDefaultGridOptions || ((_a = this._gridOptions) === null || _a === void 0 ? void 0 : _a.useSalesforceDefaultGridOptions)) ? SalesforceGlobalGridOptions : {};
|
|
24
|
+
const options = $.extend(true, {}, GlobalGridOptions, extraOptions, gridOptions);
|
|
25
|
+
// also make sure to show the header row if user have enabled filtering
|
|
26
|
+
if (options.enableFiltering && !options.showHeaderRow) {
|
|
27
|
+
options.showHeaderRow = options.enableFiltering;
|
|
28
|
+
}
|
|
29
|
+
// using jQuery extend to do a deep clone has an unwanted side on objects and pageSizes but ES6 spread has other worst side effects
|
|
30
|
+
// so we will just overwrite the pageSizes when needed, this is the only one causing issues so far.
|
|
31
|
+
// jQuery wrote this on their docs:: On a deep extend, Object and Array are extended, but object wrappers on primitive types such as String, Boolean, and Number are not.
|
|
32
|
+
if ((options === null || options === void 0 ? void 0 : options.pagination) && (gridOptions.enablePagination || gridOptions.backendServiceApi) && gridOptions.pagination && Array.isArray(gridOptions.pagination.pageSizes)) {
|
|
33
|
+
options.pagination.pageSizes = gridOptions.pagination.pageSizes;
|
|
34
|
+
}
|
|
35
|
+
// when we use Pagination on Local Grid, it doesn't seem to work without enableFiltering
|
|
36
|
+
// so we'll enable the filtering but we'll keep the header row hidden
|
|
37
|
+
if (!options.enableFiltering && options.enablePagination && this._isLocalGrid) {
|
|
38
|
+
options.enableFiltering = true;
|
|
39
|
+
options.showHeaderRow = false;
|
|
40
|
+
this._hideHeaderRowAfterPageLoad = true;
|
|
41
|
+
if (this.sharedService) {
|
|
42
|
+
this.sharedService.hideHeaderRowAfterPageLoad = true;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return options;
|
|
46
|
+
}
|
|
47
|
+
// --
|
|
48
|
+
// protected functions
|
|
49
|
+
// ------------------
|
|
50
|
+
registerResources() {
|
|
51
|
+
// when using Salesforce, we want the Export to CSV always enabled without registering it
|
|
52
|
+
if (this.gridOptions.enableTextExport) {
|
|
53
|
+
this._registeredResources.push(new TextExportService());
|
|
54
|
+
}
|
|
55
|
+
this._registeredResources.push(new SlickCustomTooltip());
|
|
56
|
+
// at this point, we consider all the registered services as external services, anything else registered afterward aren't external
|
|
57
|
+
if (Array.isArray(this._registeredResources)) {
|
|
58
|
+
this.sharedService.externalRegisteredResources = this._registeredResources;
|
|
59
|
+
}
|
|
60
|
+
// push all other Services that we want to be registered
|
|
61
|
+
this._registeredResources.push(this.gridService, this.gridStateService);
|
|
62
|
+
// when using Grouping/DraggableGrouping/Colspan register its Service
|
|
63
|
+
if (this.gridOptions.createPreHeaderPanel && !this.gridOptions.enableDraggableGrouping) {
|
|
64
|
+
this._registeredResources.push(this.groupingService);
|
|
65
|
+
}
|
|
66
|
+
// when using Tree Data View, register its Service
|
|
67
|
+
if (this.gridOptions.enableTreeData) {
|
|
68
|
+
this._registeredResources.push(this.treeDataService);
|
|
69
|
+
}
|
|
70
|
+
// when user enables translation, we need to translate Headers on first pass & subsequently in the bindDifferentHooks
|
|
71
|
+
if (this.gridOptions.enableTranslate) {
|
|
72
|
+
this.extensionService.translateColumnHeaders();
|
|
73
|
+
}
|
|
74
|
+
// also initialize (render) the empty warning component
|
|
75
|
+
this.slickEmptyWarning = new SlickEmptyWarningComponent();
|
|
76
|
+
this._registeredResources.push(this.slickEmptyWarning);
|
|
77
|
+
// also initialize (render) the pagination component when using the salesforce default options
|
|
78
|
+
// however before adding a new instance, just make sure there isn't one that might have been loaded by calling "registerExternalResources"
|
|
79
|
+
if (this.gridOptions.enableCompositeEditor) {
|
|
80
|
+
if (!this._registeredResources.some((resource => resource instanceof SlickCompositeEditorComponent))) {
|
|
81
|
+
this.slickCompositeEditor = new SlickCompositeEditorComponent();
|
|
82
|
+
this._registeredResources.push(this.slickCompositeEditor);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// bind & initialize all Components/Services that were tagged as enabled
|
|
86
|
+
// register all services by executing their init method and providing them with the Grid object
|
|
87
|
+
if (Array.isArray(this._registeredResources)) {
|
|
88
|
+
for (const resource of this._registeredResources) {
|
|
89
|
+
if (this.slickGrid && typeof resource.init === 'function') {
|
|
90
|
+
resource.init(this.slickGrid, this.universalContainerService);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=vanilla-force-bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vanilla-force-bundle.js","sourceRoot":"","sources":["../../src/vanilla-force-bundle.ts"],"names":[],"mappings":"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"}
|