-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathreportWizardCustomization.js
63 lines (57 loc) · 2.87 KB
/
reportWizardCustomization.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
function beforeInitializeWizard(args) {
class LabelPage extends DevExpress.Analytics.Wizard.WizardPageBase {
canNext() {
return false;
}
canFinish() {
return true;
}
commit() {
return $.Deferred().resolve({
Label1: this.label1Value(),
Label2: this.label2Value(),
Label3: this.label3Value(),
ReportName: this.label4Value(),
}).promise();
}
label1Value = ko.observable('Label1');
label2Value = ko.observable('Label2');
label3Value = ko.observable('Label3');
label4Value = ko.observable('SomeReportName');
}
args.wizard.pageFactory.registerMetadata('CustomLabelPage', {
create: () => new LabelPage(),
getState: (state) => state,
setState: (data, state) => {
state.customData = JSON.stringify(data);
},
resetState: (state, defaultState) => {
state.customData = undefined;
},
template: 'wizard-labels-page',
navigationPanelText: 'Specify label values'
});
}
function afterInit(args) {
const defaultGetNextPageId = args.wizard.iterator.getNextPageId;
args.wizard.iterator.getNextPageId = function (pageId) {
if(pageId === 'selectReportTypePage' && args.wizard.iterator._getCurrentState().reportTemplateID === 'CustomLabelReport') {
return 'CustomLabelPage';
} else {
return defaultGetNextPageId.apply(this, [pageId]);
}
};
}
function CustomizeReportWizard(s, e) {
if(e.Type === 'ReportWizard') {
DevExpress.Analytics.Widgets.Internal.addToBindingsCache('dxTextBox: { value: label4Value }', function($context, $element) { return { 'dxTextBox': function() { return { 'value': $context.$data.label4Value } } } });
DevExpress.Analytics.Widgets.Internal.addToBindingsCache('dxTextBox: { value: label1Value }', function($context, $element) { return { 'dxTextBox': function() { return { 'value': $context.$data.label1Value } } } });
DevExpress.Analytics.Widgets.Internal.addToBindingsCache('dxTextBox: { value: label2Value }', function($context, $element) { return { 'dxTextBox': function() { return { 'value': $context.$data.label2Value } } } });
DevExpress.Analytics.Widgets.Internal.addToBindingsCache('dxTextBox: { value: label3Value }', function($context, $element) { return { 'dxTextBox': function() { return { 'value': $context.$data.label3Value } } } });
e.Wizard.events.addHandler('beforeInitialize', beforeInitializeWizard);
e.Wizard.events.addHandler('afterInitialize', afterInit);
e.Wizard.events.addHandler('beforeFinish', (result) => {
result.state.customData = result.state.customData || 'CustomizeEmptyReport';
});
}
}