@adaptabletools/adaptable 16.0.3 → 16.0.5-canary.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/base.css +3 -0
- package/base.css.map +1 -1
- package/bundle.cjs.js +155 -155
- package/index.css +5 -0
- package/index.css.map +1 -1
- package/package.json +1 -1
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableOptions/AdaptableOptions.d.ts +1 -1
- package/src/AdaptableOptions/Fdc3Options.d.ts +71 -41
- package/src/AdaptableOptions/FilterOptions.d.ts +7 -0
- package/src/Api/ConfigApi.d.ts +6 -1
- package/src/Api/ExportApi.d.ts +12 -3
- package/src/Api/Fdc3Api.d.ts +1 -1
- package/src/Api/FilterApi.d.ts +7 -1
- package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -1
- package/src/Api/Implementation/ConfigApiImpl.js +11 -0
- package/src/Api/Implementation/ExportApiImpl.d.ts +2 -0
- package/src/Api/Implementation/ExportApiImpl.js +6 -0
- package/src/Api/Implementation/FilterApiImpl.d.ts +2 -1
- package/src/Api/Implementation/FilterApiImpl.js +14 -1
- package/src/Api/Implementation/ScheduleApiImpl.js +1 -1
- package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptablePredicate.js +7 -0
- package/src/PredefinedConfig/Common/ColumnFilter.d.ts +13 -0
- package/src/PredefinedConfig/Common/Fdc3Context.d.ts +6 -6
- package/src/PredefinedConfig/Common/Fdc3Context.js +6 -6
- package/src/PredefinedConfig/Common/Fdc3Intent.d.ts +4 -4
- package/src/PredefinedConfig/Common/Fdc3Intent.js +4 -4
- package/src/Redux/ActionsReducers/CommentsRedux.d.ts +8 -0
- package/src/Redux/ActionsReducers/CommentsRedux.js +10 -1
- package/src/Strategy/Fdc3Module.js +1 -1
- package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
- package/src/Utilities/Constants/GeneralConstants.js +3 -2
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +1 -0
- package/src/View/Components/FilterForm/ListBoxFilterForm.js +11 -2
- package/src/View/Export/ExportSelector.js +2 -2
- package/src/agGrid/Adaptable.js +7 -1
- package/src/components/icons/contact.d.ts +3 -0
- package/src/components/icons/contact.js +8 -0
- package/src/components/icons/index.js +10 -0
- package/src/components/icons/interactions.d.ts +3 -0
- package/src/components/icons/interactions.js +8 -0
- package/src/components/icons/money.d.ts +3 -0
- package/src/components/icons/money.js +8 -0
- package/src/components/icons/order.d.ts +3 -0
- package/src/components/icons/order.js +7 -0
- package/src/components/icons/organisation.d.ts +3 -0
- package/src/components/icons/organisation.js +8 -0
- package/src/metamodel/adaptable.metamodel.d.ts +90 -2
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/types.d.ts +2 -2
- package/themes/dark.css +2 -0
- package/themes/dark.css.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -2,7 +2,7 @@ import { ApiBase } from './ApiBase';
|
|
|
2
2
|
import { FilterApi } from '../FilterApi';
|
|
3
3
|
import { AdaptablePredicateDef, ColumnFilterDef } from '../../PredefinedConfig/Common/AdaptablePredicate';
|
|
4
4
|
import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
|
|
5
|
-
import { ColumnFilter } from '../../types';
|
|
5
|
+
import { ColumnFilter, ColumnFilterConfig } from '../../types';
|
|
6
6
|
import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
|
|
7
7
|
import { FilterInternalApi } from '../Internal/FilterInternalApi';
|
|
8
8
|
export declare class FilterApiImpl extends ApiBase implements FilterApi {
|
|
@@ -34,6 +34,7 @@ export declare class FilterApiImpl extends ApiBase implements FilterApi {
|
|
|
34
34
|
* @param filter
|
|
35
35
|
*/
|
|
36
36
|
isFilterActive(filter: ColumnFilter): boolean;
|
|
37
|
+
setColumnFilterForColumn(columnId: string, columnFilterConfig: ColumnFilterConfig): void;
|
|
37
38
|
suspendColumnFilter(columnFilter: ColumnFilter): void;
|
|
38
39
|
unSuspendColumnFilter(columnFilter: ColumnFilter): void;
|
|
39
40
|
suspendAllColumnFilters(): void;
|
|
@@ -14,7 +14,7 @@ class FilterApiImpl extends ApiBase_1.ApiBase {
|
|
|
14
14
|
}
|
|
15
15
|
getFilterPredicateDefsForColumn(column) {
|
|
16
16
|
const scope = {
|
|
17
|
-
ColumnIds: [column.columnId]
|
|
17
|
+
ColumnIds: [column.columnId],
|
|
18
18
|
};
|
|
19
19
|
return this.getAdaptableApi()
|
|
20
20
|
.predicateApi.internalApi.getFilterPredicateDefs(scope)
|
|
@@ -138,6 +138,19 @@ class FilterApiImpl extends ApiBase_1.ApiBase {
|
|
|
138
138
|
});
|
|
139
139
|
return allInputsHaveValues;
|
|
140
140
|
}
|
|
141
|
+
setColumnFilterForColumn(columnId, columnFilterConfig) {
|
|
142
|
+
const columnFilterPredicate = {
|
|
143
|
+
PredicateId: columnFilterConfig.PredicateId,
|
|
144
|
+
};
|
|
145
|
+
if (columnFilterConfig.PredicateInputs) {
|
|
146
|
+
columnFilterPredicate.Inputs = columnFilterConfig.PredicateInputs;
|
|
147
|
+
}
|
|
148
|
+
const columnFilter = {
|
|
149
|
+
ColumnId: columnId,
|
|
150
|
+
Predicate: columnFilterPredicate,
|
|
151
|
+
};
|
|
152
|
+
this.setColumnFilters([columnFilter]);
|
|
153
|
+
}
|
|
141
154
|
suspendColumnFilter(columnFilter) {
|
|
142
155
|
this.dispatchAction(LayoutRedux.LayoutColumnFilterSuspend(columnFilter));
|
|
143
156
|
}
|
|
@@ -198,7 +198,7 @@ class ScheduleApiImpl extends ApiBase_1.ApiBase {
|
|
|
198
198
|
}
|
|
199
199
|
else if (scheduleType == 'Report') {
|
|
200
200
|
const reportSchedule = schedule;
|
|
201
|
-
this.adaptable.api.exportApi.
|
|
201
|
+
this.adaptable.api.exportApi.runReport(reportSchedule.ReportName, reportSchedule.ExportDestination);
|
|
202
202
|
}
|
|
203
203
|
else if (scheduleType == 'ipushpull') {
|
|
204
204
|
const ippApi = this.adaptable.api.pluginsApi.getipushpullPluginApi();
|
|
@@ -54,4 +54,4 @@ export interface AdaptableBaseIcon {
|
|
|
54
54
|
/**
|
|
55
55
|
* All AdapTable System Icon names
|
|
56
56
|
*/
|
|
57
|
-
export declare type AdaptableSystemIconName = 'add' | 'alert' | 'building' | 'laptop' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'arrow-up' | 'arrow-up-long' | 'arrow-down-long' | 'arrow-expand' | 'paperclip' | 'unfilled-circle' | 'boolean-list' | 'broadcast' | 'brush' | 'spanner' | 'edit-table' | 'chart-and-grid' | 'calendar' | 'call' | 'cells' | 'fdc3' | 'flag' | 'chart' | 'chat' | 'check' | 'check-circle' | 'checked' | 'clone' | 'close' | 'cloud-upload' | 'collapse' | 'column-add' | 'columns' | 'filter-list' | 'comment' | 'contains' | 'dashboard' | 'data-set' | 'date-range' | 'delete' | 'division' | 'dock' | 'dollar' | 'drag' | 'edit' | 'ends-with' | 'equals' | 'equation' | 'error' | 'expand' | 'exponent' | 'export' | 'export-data' | 'fast-backward' | 'fast-forward' | 'filter' | 'lightning' | 'folder' | 'folder-open' | 'folder-shared' | 'color-palette' | 'horizontal-lines' | 'function' | 'greater-than' | 'greater-than-or-equal' | 'history' | 'home' | 'import-export' | 'info' | 'brain' | 'download' | 'grid' | 'less-than' | 'less-than-or-equal' | 'list' | 'logout' | 'mail' | 'menu' | 'minus' | 'multiplication' | 'newpage' | 'news' | 'filled-circle' | 'not-contains' | 'not-equal' | 'open-in-new' | 'pause' | 'percent' | 'percent-tag' | 'person' | 'pie-chart' | 'play' | 'plus' | 'add-circle' | 'search' | 'search-table' | 'quote' | 'refresh' | 'regex' | 'reminder' | 'save' | 'schedule' | 'science' | 'settings' | 'link' | 'sort-asc' | 'sort-desc' | 'spark-line' | 'starts-with' | 'assignment' | 'statusbar' | 'stop' | 'traffic-lights' | 'tab-unselected' | 'theme' | 'clipboard' | 'target' | 'triangle-down' | 'triangle-up' | 'unchecked' | 'undo' | 'downloaded' | 'upload' | 'warning' | 'gradient' | 'badge' | 'italic' | 'bold' | 'align-left' | 'align-right' | 'align-center' | 'align-justify' | 'underline' | 'strikethrough' | 'overline' | 'case-upper' | 'case-lower' | 'case-sentence' | 'visibility-on' | 'visibility-off' | 'visibility-off-bold' | 'visibility-on-bold';
|
|
57
|
+
export declare type AdaptableSystemIconName = 'add' | 'alert' | 'building' | 'laptop' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'arrow-up' | 'arrow-up-long' | 'arrow-down-long' | 'arrow-expand' | 'paperclip' | 'unfilled-circle' | 'boolean-list' | 'broadcast' | 'brush' | 'spanner' | 'edit-table' | 'chart-and-grid' | 'calendar' | 'call' | 'cells' | 'fdc3' | 'flag' | 'chart' | 'chat' | 'check' | 'check-circle' | 'checked' | 'clone' | 'close' | 'cloud-upload' | 'collapse' | 'column-add' | 'columns' | 'filter-list' | 'comment' | 'contains' | 'dashboard' | 'data-set' | 'date-range' | 'delete' | 'division' | 'dock' | 'dollar' | 'drag' | 'edit' | 'ends-with' | 'equals' | 'equation' | 'error' | 'expand' | 'exponent' | 'export' | 'export-data' | 'fast-backward' | 'fast-forward' | 'filter' | 'lightning' | 'folder' | 'folder-open' | 'folder-shared' | 'color-palette' | 'horizontal-lines' | 'function' | 'greater-than' | 'greater-than-or-equal' | 'history' | 'home' | 'import-export' | 'info' | 'brain' | 'download' | 'grid' | 'interactions' | 'less-than' | 'less-than-or-equal' | 'list' | 'logout' | 'mail' | 'menu' | 'minus' | 'multiplication' | 'money' | 'newpage' | 'news' | 'filled-circle' | 'not-contains' | 'not-equal' | 'open-in-new' | 'order' | 'organisation' | 'pause' | 'percent' | 'percent-tag' | 'person' | 'contact' | 'pie-chart' | 'play' | 'plus' | 'add-circle' | 'search' | 'search-table' | 'quote' | 'refresh' | 'regex' | 'reminder' | 'save' | 'schedule' | 'science' | 'settings' | 'link' | 'sort-asc' | 'sort-desc' | 'spark-line' | 'starts-with' | 'assignment' | 'statusbar' | 'stop' | 'traffic-lights' | 'tab-unselected' | 'theme' | 'clipboard' | 'target' | 'triangle-down' | 'triangle-up' | 'unchecked' | 'undo' | 'downloaded' | 'upload' | 'warning' | 'gradient' | 'badge' | 'italic' | 'bold' | 'align-left' | 'align-right' | 'align-center' | 'align-justify' | 'underline' | 'strikethrough' | 'overline' | 'case-upper' | 'case-lower' | 'case-sentence' | 'visibility-on' | 'visibility-off' | 'visibility-off-bold' | 'visibility-on-bold';
|
|
@@ -18,6 +18,7 @@ const isYesterday_1 = tslib_1.__importDefault(require("date-fns/isYesterday"));
|
|
|
18
18
|
const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
|
|
19
19
|
const DateHelper_1 = require("../../Utilities/Helpers/DateHelper");
|
|
20
20
|
const Helper_1 = tslib_1.__importDefault(require("../../Utilities/Helpers/Helper"));
|
|
21
|
+
const GeneralConstants_1 = require("../../Utilities/Constants/GeneralConstants");
|
|
21
22
|
/**
|
|
22
23
|
* Array of Predicate Defs which are shipped by AdapTable
|
|
23
24
|
*/
|
|
@@ -32,6 +33,9 @@ exports.SystemPredicateDefs = [
|
|
|
32
33
|
if (inputs.length === 0) {
|
|
33
34
|
return true;
|
|
34
35
|
}
|
|
36
|
+
if (inputs.includes(GeneralConstants_1.BLANK_DISTINCT_COLUMN_VALUE) && Helper_1.default.IsInputNullOrEmpty(value)) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
35
39
|
if (column.dataType === 'Date') {
|
|
36
40
|
return inputs.some((input) => {
|
|
37
41
|
if (adaptableApi.optionsApi.getFilterOptions().filterUsingTime) {
|
|
@@ -70,6 +74,9 @@ exports.SystemPredicateDefs = [
|
|
|
70
74
|
if (inputs.length === 0) {
|
|
71
75
|
return true;
|
|
72
76
|
}
|
|
77
|
+
if (inputs.includes(GeneralConstants_1.BLANK_DISTINCT_COLUMN_VALUE) && Helper_1.default.IsInputNullOrEmpty(value)) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
73
80
|
if (column.dataType === 'Date') {
|
|
74
81
|
if (adaptableApi.optionsApi.getFilterOptions().filterUsingTime) {
|
|
75
82
|
return inputs.every((input) => {
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import { SuspendableObject, AdaptablePredicate } from '../../types';
|
|
2
2
|
import { TypeHint } from './Types';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration for a Column Filter
|
|
5
|
+
*/
|
|
6
|
+
export interface ColumnFilterConfig {
|
|
7
|
+
/**
|
|
8
|
+
* The Predicate ID to use when filtering the column
|
|
9
|
+
*/
|
|
10
|
+
PredicateId: TypeHint<string, SystemFilterPredicateId>;
|
|
11
|
+
/**
|
|
12
|
+
* Optional Inputs that might be needed for evaluation
|
|
13
|
+
*/
|
|
14
|
+
PredicateInputs?: any[];
|
|
15
|
+
}
|
|
3
16
|
/**
|
|
4
17
|
* Defines a Filter applied on a Column using a Predicate
|
|
5
18
|
*/
|
|
@@ -96,23 +96,23 @@ export declare const ContextConfiguration: {
|
|
|
96
96
|
};
|
|
97
97
|
readonly "fdc3.instrument": {
|
|
98
98
|
readonly label: "Instrument";
|
|
99
|
-
readonly icon: "
|
|
99
|
+
readonly icon: "money";
|
|
100
100
|
};
|
|
101
101
|
readonly "fdc3.instrumentList": {
|
|
102
102
|
readonly label: "InstrumentList";
|
|
103
|
-
readonly icon: "
|
|
103
|
+
readonly icon: "money";
|
|
104
104
|
};
|
|
105
105
|
readonly "fdc3.organization": {
|
|
106
106
|
readonly label: "Organization";
|
|
107
|
-
readonly icon: "
|
|
107
|
+
readonly icon: "organisation";
|
|
108
108
|
};
|
|
109
109
|
readonly "fdc3.portfolio": {
|
|
110
110
|
readonly label: "Portfolio";
|
|
111
|
-
readonly icon: "
|
|
111
|
+
readonly icon: "building";
|
|
112
112
|
};
|
|
113
113
|
readonly "fdc3.position": {
|
|
114
114
|
readonly label: "Position";
|
|
115
|
-
readonly icon: "
|
|
115
|
+
readonly icon: "building";
|
|
116
116
|
};
|
|
117
117
|
readonly "fdc3.timerange": {
|
|
118
118
|
readonly label: "TimeRange";
|
|
@@ -120,7 +120,7 @@ export declare const ContextConfiguration: {
|
|
|
120
120
|
};
|
|
121
121
|
readonly "fdc3.valuation": {
|
|
122
122
|
readonly label: "Valuation";
|
|
123
|
-
readonly icon: "
|
|
123
|
+
readonly icon: "equation";
|
|
124
124
|
};
|
|
125
125
|
readonly "fdc3.nothing": {
|
|
126
126
|
readonly label: "Nothing";
|
|
@@ -47,23 +47,23 @@ exports.ContextConfiguration = {
|
|
|
47
47
|
},
|
|
48
48
|
[exports.InstrumentContextKey]: {
|
|
49
49
|
label: 'Instrument',
|
|
50
|
-
icon: '
|
|
50
|
+
icon: 'money',
|
|
51
51
|
},
|
|
52
52
|
[exports.InstrumentListContextKey]: {
|
|
53
53
|
label: 'InstrumentList',
|
|
54
|
-
icon: '
|
|
54
|
+
icon: 'money',
|
|
55
55
|
},
|
|
56
56
|
[exports.OrganizationContextKey]: {
|
|
57
57
|
label: 'Organization',
|
|
58
|
-
icon: '
|
|
58
|
+
icon: 'organisation',
|
|
59
59
|
},
|
|
60
60
|
[exports.PortfolioContextKey]: {
|
|
61
61
|
label: 'Portfolio',
|
|
62
|
-
icon: '
|
|
62
|
+
icon: 'building',
|
|
63
63
|
},
|
|
64
64
|
[exports.PositionContextKey]: {
|
|
65
65
|
label: 'Position',
|
|
66
|
-
icon: '
|
|
66
|
+
icon: 'building',
|
|
67
67
|
},
|
|
68
68
|
[exports.TimeRangeContextKey]: {
|
|
69
69
|
label: 'TimeRange',
|
|
@@ -71,7 +71,7 @@ exports.ContextConfiguration = {
|
|
|
71
71
|
},
|
|
72
72
|
[exports.ValuationContextKey]: {
|
|
73
73
|
label: 'Valuation',
|
|
74
|
-
icon: '
|
|
74
|
+
icon: 'equation',
|
|
75
75
|
},
|
|
76
76
|
[exports.NothingContextKey]: {
|
|
77
77
|
label: 'Nothing',
|
|
@@ -39,15 +39,15 @@ export declare const Fdc3IntentConfiguration: {
|
|
|
39
39
|
};
|
|
40
40
|
readonly ViewHoldings: {
|
|
41
41
|
readonly contexts: readonly ["fdc3.instrument", "fdc3.instrumentList", "fdc3.organization", "fdc3.nothing"];
|
|
42
|
-
readonly icon: "
|
|
42
|
+
readonly icon: "building";
|
|
43
43
|
};
|
|
44
44
|
readonly ViewInstrument: {
|
|
45
45
|
readonly contexts: readonly ["fdc3.instrument", "fdc3.nothing"];
|
|
46
|
-
readonly icon: "
|
|
46
|
+
readonly icon: "money";
|
|
47
47
|
};
|
|
48
48
|
readonly ViewInteractions: {
|
|
49
49
|
readonly contexts: readonly ["fdc3.contact", "fdc3.instrumentList", "fdc3.organization", "fdc3.nothing"];
|
|
50
|
-
readonly icon: "
|
|
50
|
+
readonly icon: "interactions";
|
|
51
51
|
};
|
|
52
52
|
readonly ViewNews: {
|
|
53
53
|
readonly contexts: readonly ["fdc3.country", "fdc3.instrument", "fdc3.instrumentList", "fdc3.organization", "fdc3.portfolio", "fdc3.nothing"];
|
|
@@ -55,7 +55,7 @@ export declare const Fdc3IntentConfiguration: {
|
|
|
55
55
|
};
|
|
56
56
|
readonly ViewOrders: {
|
|
57
57
|
readonly contexts: readonly ["fdc3.contact", "fdc3.instrumentList", "fdc3.organization", "fdc3.nothing"];
|
|
58
|
-
readonly icon: "
|
|
58
|
+
readonly icon: "order";
|
|
59
59
|
};
|
|
60
60
|
readonly ViewProfile: {
|
|
61
61
|
readonly contexts: readonly ["fdc3.contact", "fdc3.organization", "fdc3.nothing"];
|
|
@@ -65,11 +65,11 @@ exports.Fdc3IntentConfiguration = {
|
|
|
65
65
|
Fdc3Context_1.OrganizationContextKey,
|
|
66
66
|
Fdc3Context_1.NothingContextKey,
|
|
67
67
|
],
|
|
68
|
-
icon: '
|
|
68
|
+
icon: 'building',
|
|
69
69
|
},
|
|
70
70
|
[exports.ViewInstrumentIntent]: {
|
|
71
71
|
contexts: [Fdc3Context_1.InstrumentContextKey, Fdc3Context_1.NothingContextKey],
|
|
72
|
-
icon: '
|
|
72
|
+
icon: 'money',
|
|
73
73
|
},
|
|
74
74
|
[exports.ViewInteractionsIntent]: {
|
|
75
75
|
contexts: [
|
|
@@ -78,7 +78,7 @@ exports.Fdc3IntentConfiguration = {
|
|
|
78
78
|
Fdc3Context_1.OrganizationContextKey,
|
|
79
79
|
Fdc3Context_1.NothingContextKey,
|
|
80
80
|
],
|
|
81
|
-
icon: '
|
|
81
|
+
icon: 'interactions',
|
|
82
82
|
},
|
|
83
83
|
[exports.ViewNewsIntent]: {
|
|
84
84
|
contexts: [
|
|
@@ -98,7 +98,7 @@ exports.Fdc3IntentConfiguration = {
|
|
|
98
98
|
Fdc3Context_1.OrganizationContextKey,
|
|
99
99
|
Fdc3Context_1.NothingContextKey,
|
|
100
100
|
],
|
|
101
|
-
icon: '
|
|
101
|
+
icon: 'order',
|
|
102
102
|
},
|
|
103
103
|
[exports.ViewProfileIntent]: {
|
|
104
104
|
contexts: [Fdc3Context_1.ContactContextKey, Fdc3Context_1.OrganizationContextKey, Fdc3Context_1.NothingContextKey],
|
|
@@ -12,6 +12,10 @@ export declare const COMMENTS_EDIT = "COMMENTS_EDIT";
|
|
|
12
12
|
* @ReduxAction A Comment has been deleted
|
|
13
13
|
*/
|
|
14
14
|
export declare const COMMENTS_DELETE = "COMMENTS_DELETE";
|
|
15
|
+
/**
|
|
16
|
+
* @ReduxAction Comments Module is ready
|
|
17
|
+
*/
|
|
18
|
+
export declare const COMMENTS_READY = "COMMENTS_READY";
|
|
15
19
|
export interface AdaptableCommentAction extends Redux.Action {
|
|
16
20
|
adaptableComment: AdaptableComment;
|
|
17
21
|
}
|
|
@@ -21,9 +25,13 @@ export interface AdaptableCommentEditAction extends AdaptableCommentAction {
|
|
|
21
25
|
}
|
|
22
26
|
export interface AdaptableCommentDeleteAction extends AdaptableCommentAction {
|
|
23
27
|
}
|
|
28
|
+
export interface CommentsReadyAction extends Redux.Action {
|
|
29
|
+
commentsState: CommentsState;
|
|
30
|
+
}
|
|
24
31
|
export declare const CommentsAdd: (adaptableComment: AdaptableComment) => AdaptableCommentAddAction;
|
|
25
32
|
export declare const CommentsEdit: (adaptableComment: AdaptableComment) => AdaptableCommentEditAction;
|
|
26
33
|
export declare const CommentsDelete: (adaptableComment: AdaptableComment) => AdaptableCommentDeleteAction;
|
|
34
|
+
export declare const CommentsReady: (commentsState: CommentsState) => CommentsReadyAction;
|
|
27
35
|
export declare const GetCommentsSelector: (state: CommentsState, config?: {
|
|
28
36
|
PrimaryKeyValue: string | number;
|
|
29
37
|
ColumnId: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CommentsReducer = exports.GetCommentsSelector = exports.CommentsDelete = exports.CommentsEdit = exports.CommentsAdd = exports.COMMENTS_DELETE = exports.COMMENTS_EDIT = exports.COMMENTS_ADD = void 0;
|
|
3
|
+
exports.CommentsReducer = exports.GetCommentsSelector = exports.CommentsReady = exports.CommentsDelete = exports.CommentsEdit = exports.CommentsAdd = exports.COMMENTS_READY = exports.COMMENTS_DELETE = exports.COMMENTS_EDIT = exports.COMMENTS_ADD = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const AdaptableHelper_1 = tslib_1.__importDefault(require("../../Utilities/Helpers/AdaptableHelper"));
|
|
6
6
|
const GeneralConstants_1 = require("../../Utilities/Constants/GeneralConstants");
|
|
@@ -16,6 +16,10 @@ exports.COMMENTS_EDIT = 'COMMENTS_EDIT';
|
|
|
16
16
|
* @ReduxAction A Comment has been deleted
|
|
17
17
|
*/
|
|
18
18
|
exports.COMMENTS_DELETE = 'COMMENTS_DELETE';
|
|
19
|
+
/**
|
|
20
|
+
* @ReduxAction Comments Module is ready
|
|
21
|
+
*/
|
|
22
|
+
exports.COMMENTS_READY = 'COMMENTS_READY';
|
|
19
23
|
const CommentsAdd = (adaptableComment) => ({
|
|
20
24
|
type: exports.COMMENTS_ADD,
|
|
21
25
|
adaptableComment,
|
|
@@ -31,6 +35,11 @@ const CommentsDelete = (adaptableComment) => ({
|
|
|
31
35
|
adaptableComment,
|
|
32
36
|
});
|
|
33
37
|
exports.CommentsDelete = CommentsDelete;
|
|
38
|
+
const CommentsReady = (commentsState) => ({
|
|
39
|
+
type: exports.COMMENTS_READY,
|
|
40
|
+
commentsState,
|
|
41
|
+
});
|
|
42
|
+
exports.CommentsReady = CommentsReady;
|
|
34
43
|
const GetCommentsSelector = (state, config) => {
|
|
35
44
|
var _a, _b;
|
|
36
45
|
if (!config) {
|
|
@@ -52,7 +52,7 @@ class Fdc3Module extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
52
52
|
};
|
|
53
53
|
if ((_a = intentConfig.contextMenu) === null || _a === void 0 ? void 0 : _a.icon) {
|
|
54
54
|
const menuItemIcon = ((_b = intentConfig.contextMenu) === null || _b === void 0 ? void 0 : _b.icon) === '_defaultFdc3'
|
|
55
|
-
? this.getFdc3Api().internalApi.
|
|
55
|
+
? this.getFdc3Api().internalApi.getDefaultIconForIntent(intentType)
|
|
56
56
|
: (_c = intentConfig.contextMenu) === null || _c === void 0 ? void 0 : _c.icon;
|
|
57
57
|
menuItem.icon = menuItemIcon;
|
|
58
58
|
}
|
|
@@ -33,6 +33,7 @@ export declare const ADAPTABLE_ROW_ACTION_BUTTONS = "adaptableRowActionButtons";
|
|
|
33
33
|
export declare const ADAPTABLE_ROW_ACTION_BUTTONS_FRIENDLY_NAME = "(ActionRowButtons)";
|
|
34
34
|
export declare const ADAPTABLE_FDC3_ACTION_COLUMN_FRIENDLY_NAME = "(FDC3ActionColumn)";
|
|
35
35
|
export declare const DEFAULT_DATE_FORMAT_PATTERN = "dd-MM-yyyy";
|
|
36
|
+
export declare const BLANK_DISTINCT_COLUMN_VALUE = "[BLANKS]";
|
|
36
37
|
export declare const SYSTEM_STATUS_DEFAULT_MAX_MESSAGES_IN_STORE: number;
|
|
37
38
|
export declare const QUICK_SEARCH_DEFAULT_BACK_COLOR: string;
|
|
38
39
|
export declare const QUICK_SEARCH_DEFAULT_FORE_COLOR: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.THEME_STYLE = exports.SELECTED_ROWS_REPORT = exports.SELECTED_CELLS_REPORT = exports.CURRENT_DATA_REPORT = exports.ALL_DATA_REPORT = exports.VISUAL_DATA_REPORT = exports.SYSTEM_THEMES = exports.SMART_EDIT_MATH_OPERATION_STATE_PROPERTY = exports.SMART_EDIT_VALUE_STATE_PROPERTY = exports.QUICK_SEARCH_STYLE_STATE_PROPERTY = exports.QUICK_SEARCH_TEXT_STATE_PROPERTY = exports.CURRENT_THEME_STATE_PROPERTY = void 0;
|
|
3
|
+
exports.FLASHING_CELL_DEFAULT_DOWN_COLOR_STATE_PROPERTY = exports.FLASHING_CELL_DEFAULT_UP_COLOR_STATE_PROPERTY = exports.CURRENT_REPORT_STATE_PROPERTY = exports.CURRENT_LAYOUT_STATE_PROPERTY = exports.SUMMARY_OPERATION_STATE_PROPERTY = exports.ALERT_DEFAULT_SHOW_POPUP = exports.ALERT_DEFAULT_MESSAGE_TYPE = exports.PLUS_MINUS_DEFAULT_NUDGE_VALUE = exports.SERVER_VALIDATION_MESSAGE_TYPE = exports.SERVER_VALIDATION_HEADER = exports.DEFAULT_LIVE_REPORT_THROTTLE_TIME = exports.THEME_DEFAULT_CURRENT_THEME = exports.SYSTEM_DEFAULT_SYSTEM_STATUS_TYPE = exports.CELL_SUMMARY_DEFAULT_OPERATION = exports.QUICK_SEARCH_DEBOUNCE_TIME = exports.QUICK_SEARCH_DEFAULT_FORE_COLOR = exports.QUICK_SEARCH_DEFAULT_BACK_COLOR = exports.SYSTEM_STATUS_DEFAULT_MAX_MESSAGES_IN_STORE = exports.BLANK_DISTINCT_COLUMN_VALUE = exports.DEFAULT_DATE_FORMAT_PATTERN = exports.ADAPTABLE_FDC3_ACTION_COLUMN_FRIENDLY_NAME = exports.ADAPTABLE_ROW_ACTION_BUTTONS_FRIENDLY_NAME = exports.ADAPTABLE_ROW_ACTION_BUTTONS = exports.AG_GRID_CHART_WINDOW = exports.AG_GRID_PIVOT_COLUMN = exports.AG_GRID_GROUPED_COLUMN = exports.HALF_SECOND = exports.AB_FDC3_COLUMN = exports.AB_ROW_ACTIONS_COLUMN = exports.AB_SPECIAL_COLUMN = exports.EMPTY_ARRAY = exports.EMPTY_STRING = exports.FILTER_THROTTLE = exports.FILTER_NEVER = exports.FILTER_ALWAYS = exports.ALL_COLUMN_VALUES = exports.READ_ONLY_STYLE = exports.MENU_PREFIX = exports.AGGRID_TOOLPANEL_COLUMNS = exports.AGGRID_TOOLPANEL_FILTERS = exports.ADAPTABLE_TOOLPANEL_COMPONENT = exports.ADAPTABLE_TOOLPANEL_ID = exports.ADAPTABLE = exports.ADAPTABLE_ID = exports.USER_NAME = exports.DARK_THEME = exports.LIGHT_THEME = exports.DEFAULT_LAYOUT = exports.MISSING_COLUMN = exports.AUTOGENERATED_PK_COLUMN = void 0;
|
|
4
|
+
exports.THEME_STYLE = exports.SELECTED_ROWS_REPORT = exports.SELECTED_CELLS_REPORT = exports.CURRENT_DATA_REPORT = exports.ALL_DATA_REPORT = exports.VISUAL_DATA_REPORT = exports.SYSTEM_THEMES = exports.SMART_EDIT_MATH_OPERATION_STATE_PROPERTY = exports.SMART_EDIT_VALUE_STATE_PROPERTY = exports.QUICK_SEARCH_STYLE_STATE_PROPERTY = exports.QUICK_SEARCH_TEXT_STATE_PROPERTY = exports.CURRENT_THEME_STATE_PROPERTY = exports.FLASHING_CELL_DEFAULT_DURATION_STATE_PROPERTY = void 0;
|
|
5
5
|
const Enums_1 = require("../../PredefinedConfig/Common/Enums");
|
|
6
6
|
const UIHelper_1 = require("../../View/UIHelper");
|
|
7
7
|
exports.AUTOGENERATED_PK_COLUMN = '__ADAPTABLE_PK__';
|
|
@@ -36,6 +36,7 @@ exports.ADAPTABLE_ROW_ACTION_BUTTONS = 'adaptableRowActionButtons';
|
|
|
36
36
|
exports.ADAPTABLE_ROW_ACTION_BUTTONS_FRIENDLY_NAME = '(ActionRowButtons)';
|
|
37
37
|
exports.ADAPTABLE_FDC3_ACTION_COLUMN_FRIENDLY_NAME = '(FDC3ActionColumn)';
|
|
38
38
|
exports.DEFAULT_DATE_FORMAT_PATTERN = 'dd-MM-yyyy';
|
|
39
|
+
exports.BLANK_DISTINCT_COLUMN_VALUE = '[BLANKS]';
|
|
39
40
|
/*
|
|
40
41
|
Redux / State Defaults
|
|
41
42
|
Try to put all our Redux / State defaults here and ONLY reference from here - avoid magic numbers / strings.
|
|
@@ -12,6 +12,8 @@ const AdaptableFormControlTextClear_1 = require("../Forms/AdaptableFormControlTe
|
|
|
12
12
|
const GridList_1 = tslib_1.__importDefault(require("../../../components/List/GridList"));
|
|
13
13
|
const react_1 = require("react");
|
|
14
14
|
const Loader_1 = require("../../../components/Loader");
|
|
15
|
+
const isEqual_1 = tslib_1.__importDefault(require("date-fns/isEqual"));
|
|
16
|
+
const DateHelper_1 = require("../../../Utilities/Helpers/DateHelper");
|
|
15
17
|
const ListBoxFilterForm = (props) => {
|
|
16
18
|
const [FilterValue, setFilterValue] = (0, react_1.useState)('');
|
|
17
19
|
const handleFilterValueChange = React.useCallback((newValue) => {
|
|
@@ -30,7 +32,10 @@ const ListBoxFilterForm = (props) => {
|
|
|
30
32
|
return (React.createElement(CheckBox_1.CheckBox, Object.assign({}, props, { variant: "agGrid", fontSize: 2, marginTop: 1, marginBottom: 1, marginLeft: 1, marginRight: 1, title: typeof props.children === 'string' ? props.children : null })));
|
|
31
33
|
};
|
|
32
34
|
const onClickItemColumnValue = (item) => {
|
|
33
|
-
|
|
35
|
+
let index = UiSelectedColumnValues.indexOf(item);
|
|
36
|
+
if (item instanceof Date) {
|
|
37
|
+
index = UiSelectedColumnValues.findIndex((selectedValue) => (0, isEqual_1.default)((0, DateHelper_1.parseDateValue)(selectedValue), (0, DateHelper_1.parseDateValue)(item)));
|
|
38
|
+
}
|
|
34
39
|
if (index >= 0) {
|
|
35
40
|
const newArray = [...UiSelectedColumnValues];
|
|
36
41
|
newArray.splice(index, 1);
|
|
@@ -41,7 +46,11 @@ const ListBoxFilterForm = (props) => {
|
|
|
41
46
|
}
|
|
42
47
|
};
|
|
43
48
|
const columnValuesItemsElements = props.columnDistinctValues.map((distinctValue, index) => {
|
|
44
|
-
|
|
49
|
+
let isActive = UiSelectedColumnValues.indexOf(distinctValue.value) >= 0;
|
|
50
|
+
// special case for date objects, need to check against string values
|
|
51
|
+
if (!isActive && distinctValue.value && distinctValue.value instanceof Date) {
|
|
52
|
+
isActive = UiSelectedColumnValues.some((dateStr) => (0, isEqual_1.default)((0, DateHelper_1.parseDateValue)(dateStr), (0, DateHelper_1.parseDateValue)(distinctValue.value)));
|
|
53
|
+
}
|
|
45
54
|
const columnLabel = distinctValue.label;
|
|
46
55
|
if (StringExtensions_1.StringExtensions.IsNullOrEmpty(columnLabel)) {
|
|
47
56
|
return null;
|
|
@@ -63,10 +63,10 @@ const ExportSelector = () => {
|
|
|
63
63
|
// export
|
|
64
64
|
const handleExport = () => {
|
|
65
65
|
if (isCustomDestination(currentDestination)) {
|
|
66
|
-
adaptable.api.exportApi.
|
|
66
|
+
adaptable.api.exportApi.runReport(currentReport.Name, currentDestination.name);
|
|
67
67
|
}
|
|
68
68
|
else {
|
|
69
|
-
adaptable.api.exportApi.
|
|
69
|
+
adaptable.api.exportApi.runReport(currentReport.Name, currentDestination);
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
72
|
return (React.createElement(React.Fragment, null,
|
package/src/agGrid/Adaptable.js
CHANGED
|
@@ -1907,7 +1907,13 @@ class Adaptable {
|
|
|
1907
1907
|
else {
|
|
1908
1908
|
this.gridOptions.api.forEachNode((rowNode) => {
|
|
1909
1909
|
const gridCell = this.addDistinctColumnValue(rowNode, column.columnId);
|
|
1910
|
-
if (gridCell && gridCell.
|
|
1910
|
+
if (gridCell && gridCell.rowNode !== skipRowNode) {
|
|
1911
|
+
if (gridCell.rawValue == undefined &&
|
|
1912
|
+
this.adaptableOptions.filterOptions.includeBlankFilterValues) {
|
|
1913
|
+
gridCell.rawValue = GeneralConstants_1.BLANK_DISTINCT_COLUMN_VALUE;
|
|
1914
|
+
gridCell.displayValue = GeneralConstants_1.BLANK_DISTINCT_COLUMN_VALUE;
|
|
1915
|
+
gridCell.normalisedValue = GeneralConstants_1.BLANK_DISTINCT_COLUMN_VALUE;
|
|
1916
|
+
}
|
|
1911
1917
|
returnValues.push(gridCell);
|
|
1912
1918
|
}
|
|
1913
1919
|
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const React = tslib_1.__importStar(require("react"));
|
|
5
|
+
const DefaultIcon_1 = tslib_1.__importDefault(require("./DefaultIcon"));
|
|
6
|
+
exports.default = (props) => (React.createElement(DefaultIcon_1.default, Object.assign({}, props, { viewBox: "0 -960 960 960" }),
|
|
7
|
+
React.createElement("path", { d: "M144-40v-60h672v60H144Zm0-820v-60h672v60H144Zm336 416q50 0 84-34t34-84q0-50-34-84t-84-34q-50 0-84 34t-34 84q0 50 34 84t84 34ZM132-160q-24 0-42-18t-18-42v-520q0-26 18-43t42-17h696q24 0 42 18t18 42v520q0 24-18 42t-42 18H132Zm88-60q51-63 121-94.5T479.5-346q68.5 0 140 31.5T740-220h88v-520H132v520h88Zm94 0h334q-31-30-72.5-48T480-286q-54 0-94.5 18T314-220Zm166.158-284Q456-504 439.5-521T423-562q0-24 16.342-41t40.5-17Q504-620 520.5-603t16.5 41q0 24-16.342 41t-40.5 17ZM480-480Z" }),
|
|
8
|
+
' '));
|
|
@@ -147,7 +147,12 @@ const visibility_1 = tslib_1.__importDefault(require("./visibility"));
|
|
|
147
147
|
const visibility_off_1 = tslib_1.__importDefault(require("./visibility-off"));
|
|
148
148
|
const mail_1 = tslib_1.__importDefault(require("./mail"));
|
|
149
149
|
const dollar_1 = tslib_1.__importDefault(require("./dollar"));
|
|
150
|
+
const organisation_1 = tslib_1.__importDefault(require("./organisation"));
|
|
150
151
|
const science_1 = tslib_1.__importDefault(require("./science"));
|
|
152
|
+
const interactions_1 = tslib_1.__importDefault(require("./interactions"));
|
|
153
|
+
const money_1 = tslib_1.__importDefault(require("./money"));
|
|
154
|
+
const order_1 = tslib_1.__importDefault(require("./order"));
|
|
155
|
+
const contact_1 = tslib_1.__importDefault(require("./contact"));
|
|
151
156
|
const Icon_1 = require("../Icon");
|
|
152
157
|
const AdaptableLogger_1 = require("../../agGrid/AdaptableLogger");
|
|
153
158
|
const allIcons = {
|
|
@@ -295,7 +300,12 @@ const allIcons = {
|
|
|
295
300
|
fdc3: fdc3_1.default,
|
|
296
301
|
mail: mail_1.default,
|
|
297
302
|
dollar: dollar_1.default,
|
|
303
|
+
organisation: organisation_1.default,
|
|
298
304
|
science: science_1.default,
|
|
305
|
+
interactions: interactions_1.default,
|
|
306
|
+
money: money_1.default,
|
|
307
|
+
order: order_1.default,
|
|
308
|
+
contact: contact_1.default,
|
|
299
309
|
};
|
|
300
310
|
Object.keys(allIcons).forEach((name) => {
|
|
301
311
|
const ReactCmp = allIcons[name];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const React = tslib_1.__importStar(require("react"));
|
|
5
|
+
const DefaultIcon_1 = tslib_1.__importDefault(require("./DefaultIcon"));
|
|
6
|
+
exports.default = (props) => (React.createElement(DefaultIcon_1.default, Object.assign({}, props, { viewBox: "0 -960 960 960" }),
|
|
7
|
+
React.createElement("path", { d: "M246-160q-24 0-42-18t-18-42v-406L47-800h773q24 0 42 18t18 42v520q0 24-18 42t-42 18H246Zm0-580v520h574v-520H246Zm284 471 43-43-63-61h206v-60H364l166 164ZM364-527h352L550-690l-43 42 63 61H364v60ZM246-740v520-520Z" }),
|
|
8
|
+
' '));
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const React = tslib_1.__importStar(require("react"));
|
|
5
|
+
const DefaultIcon_1 = tslib_1.__importDefault(require("./DefaultIcon"));
|
|
6
|
+
exports.default = (props) => (React.createElement(DefaultIcon_1.default, Object.assign({}, props, { viewBox: "0 -960 960 960" }),
|
|
7
|
+
React.createElement("path", { d: "M602-319h131q12.75 0 21.375-8.625T763-349v-262q0-12.75-8.625-21.375T733-641H602q-12.75 0-21.375 8.625T572-611v262q0 12.75 8.625 21.375T602-319Zm30-60v-202h71v202h-71Zm-278 60h126q12.75 0 21.375-8.625T510-349v-262q0-12.75-8.625-21.375T480-641H354q-12.75 0-21.375 8.625T324-611v262q0 12.75 8.625 21.375T354-319Zm30-60v-202h66v202h-66Zm-187 60h60v-322h-60v322ZM80-160v-640h800v640H80Zm60-580v520-520Zm0 520h680v-520H140v520Z" }),
|
|
8
|
+
' '));
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const React = tslib_1.__importStar(require("react"));
|
|
5
|
+
const DefaultIcon_1 = tslib_1.__importDefault(require("./DefaultIcon"));
|
|
6
|
+
exports.default = (props) => (React.createElement(DefaultIcon_1.default, Object.assign({}, props, { viewBox: "0 -960 960 960" }),
|
|
7
|
+
React.createElement("path", { d: "m704-139 139-138-42-42-97 95-39-39-42 43 81 81ZM240-620h480v-60H240v60ZM732.5-41Q655-41 600-96.5T545-228q0-78.435 54.99-133.717Q654.98-417 733-417q77 0 132.5 55.283Q921-306.435 921-228q0 76-55.5 131.5T732.5-41ZM120-81v-699q0-24.75 17.625-42.375T180-840h600q24.75 0 42.375 17.625T840-780v327q-14.169-6.857-29.085-11.429Q796-469 780-472v-308H180v599h310q2.885 18.172 8.942 34.586Q505-130 513-114l-33 33-60-60-60 60-60-60-60 60-60-60-60 60Zm120-199h252.272q3.728-16 8.228-31t12.5-29H240v60Zm0-170h384q22-11 46-17.5t50-8.5v-34H240v60Zm-60 269v-599 599Z" })));
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const React = tslib_1.__importStar(require("react"));
|
|
5
|
+
const DefaultIcon_1 = tslib_1.__importDefault(require("./DefaultIcon"));
|
|
6
|
+
exports.default = (props) => (React.createElement(DefaultIcon_1.default, Object.assign({}, props, { viewBox: "0 -960 960 960" }),
|
|
7
|
+
React.createElement("path", { d: "M80-120v-720h390v165h410v555H80Zm60-60h270v-105H140v105Zm0-165h270v-105H140v105Zm0-165h270v-105H140v105Zm0-165h270v-105H140v105Zm330 495h350v-435H470v435Zm80-270v-60h165v60H550Zm0 165v-60h165v60H550Z" }),
|
|
8
|
+
' '));
|