@apia/query 4.0.44 → 4.0.46
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/dist/index.d.ts +156 -8
- package/dist/index.js +458 -74
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,161 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
3
|
-
import { TableController } from '@apia/table2-controller';
|
|
2
|
+
import { EventEmitter } from '@apia/util';
|
|
3
|
+
import { Cell, TableController } from '@apia/table2-controller';
|
|
4
4
|
|
|
5
5
|
type TQueryEnvironment = {
|
|
6
6
|
window: Window;
|
|
7
7
|
};
|
|
8
|
+
type TAttribute = {
|
|
9
|
+
name: string;
|
|
10
|
+
value: string;
|
|
11
|
+
};
|
|
12
|
+
type TOption = {
|
|
13
|
+
label: string;
|
|
14
|
+
value: string;
|
|
15
|
+
};
|
|
16
|
+
type TWithAttributes = {
|
|
17
|
+
attributes: Record<string, string>;
|
|
18
|
+
};
|
|
19
|
+
type TWithOptions = {
|
|
20
|
+
options: TOption | TOption[];
|
|
21
|
+
};
|
|
22
|
+
type TBehavior = TWithAttributes & {
|
|
23
|
+
allowEdition: boolean;
|
|
24
|
+
allowSelection: boolean;
|
|
25
|
+
isMultipleSelection: boolean;
|
|
26
|
+
hasDynamicStructure: boolean;
|
|
27
|
+
showAdditionalInfo: boolean;
|
|
28
|
+
};
|
|
29
|
+
type TColumn = TWithAttributes & TWithStylesModifiers & {
|
|
30
|
+
className: string;
|
|
31
|
+
hideFromAccordion: boolean;
|
|
32
|
+
isHidden: boolean;
|
|
33
|
+
isSortable: boolean;
|
|
34
|
+
name: string;
|
|
35
|
+
showAsAdditional: boolean;
|
|
36
|
+
sortType: 'ASC' | 'DESC' | 'NONE';
|
|
37
|
+
title: string;
|
|
38
|
+
tooltip: string;
|
|
39
|
+
width: string;
|
|
40
|
+
};
|
|
41
|
+
type TFilter = TWithAttributes & TWithOptions & {
|
|
42
|
+
name: string;
|
|
43
|
+
columnName: string;
|
|
44
|
+
isRequired: boolean;
|
|
45
|
+
initialValue: string;
|
|
46
|
+
runAutomatically: boolean;
|
|
47
|
+
title: string;
|
|
48
|
+
type: 'DATE' | 'INPUT' | 'COMBO' | 'DATERANGE' | 'SIZE' | 'SIZERANGE' | 'DATEHOUR' | 'DATEHOURRANGE';
|
|
49
|
+
};
|
|
50
|
+
type TLoadStructure = {
|
|
51
|
+
behavior: TBehavior;
|
|
52
|
+
columns: TColumn | TColumn[];
|
|
53
|
+
filters: TFilter | TFilter[];
|
|
54
|
+
rows?: TRow | TRow[];
|
|
55
|
+
};
|
|
56
|
+
type TStateIcon = 'ALERT' | 'DISALLOWED' | 'LOCKED' | 'PRIORITY_LOW' | 'PRIORITY_NORMAL' | 'PRIORITY_HIGH' | 'PRIORITY_URGENT';
|
|
57
|
+
type TWithAlignment = {
|
|
58
|
+
horizontalAlign?: 'Left' | 'Center' | 'Right' | 'Justify';
|
|
59
|
+
verticalAlign?: 'Top' | 'Middle' | 'Bottom';
|
|
60
|
+
};
|
|
61
|
+
type TWithStylesModifiers = {
|
|
62
|
+
background: string;
|
|
63
|
+
color: string;
|
|
64
|
+
isBold: boolean;
|
|
65
|
+
isHtml: boolean;
|
|
66
|
+
isLight: boolean;
|
|
67
|
+
};
|
|
68
|
+
type TCell = TWithAttributes & TWithStylesModifiers & TWithAlignment & {
|
|
69
|
+
className: string;
|
|
70
|
+
colspan: number;
|
|
71
|
+
renderer?: string;
|
|
72
|
+
text: string;
|
|
73
|
+
title: string;
|
|
74
|
+
};
|
|
75
|
+
type TActionBehavior = 'DO_NOTHING' | 'NAVIGATE_URL' | 'CALL_AJAX_URL' | 'RUN_ACTION' | 'OPEN_TAB' | 'FIRE_EVENT' | 'DOWNLOAD';
|
|
76
|
+
type TActionSource = 'CLICK' | 'DOUBLE_CLICK';
|
|
77
|
+
type TBasicAction = {
|
|
78
|
+
action: string;
|
|
79
|
+
actionBehavior: TActionBehavior;
|
|
80
|
+
actionSource: TActionSource;
|
|
81
|
+
additionalData: string;
|
|
82
|
+
text: string;
|
|
83
|
+
};
|
|
84
|
+
type TRow = TWithAttributes & TWithStylesModifiers & {
|
|
85
|
+
action: TBasicAction;
|
|
86
|
+
} & TWithAlignment & {
|
|
87
|
+
cells: TCell | TCell[];
|
|
88
|
+
className: string;
|
|
89
|
+
id: string;
|
|
90
|
+
isDisabled: boolean;
|
|
91
|
+
isHidden: boolean;
|
|
92
|
+
isSelected: boolean;
|
|
93
|
+
isSeparator: boolean;
|
|
94
|
+
states: TState | TState[];
|
|
95
|
+
title: string;
|
|
96
|
+
};
|
|
97
|
+
type TState = {
|
|
98
|
+
color: string;
|
|
99
|
+
tooltip: string;
|
|
100
|
+
className: string;
|
|
101
|
+
Icon: TStateIcon;
|
|
102
|
+
};
|
|
103
|
+
type TRefresh = {
|
|
104
|
+
rows: TRow | TRow[];
|
|
105
|
+
};
|
|
106
|
+
interface IStatesSource {
|
|
107
|
+
background: string;
|
|
108
|
+
color: string;
|
|
109
|
+
isBold: boolean;
|
|
110
|
+
isLight: boolean;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
type TFilterState = TFilter & {
|
|
114
|
+
value: string;
|
|
115
|
+
};
|
|
116
|
+
declare class Filter<State extends TFilterState = TFilterState> extends EventEmitter<{
|
|
117
|
+
change: null;
|
|
118
|
+
enter: null;
|
|
119
|
+
blur: null;
|
|
120
|
+
}> {
|
|
121
|
+
protected state: State;
|
|
122
|
+
focus(): void;
|
|
123
|
+
constructor(properties: TFilter);
|
|
124
|
+
clear(): void;
|
|
125
|
+
fire(ev: 'enter' | 'blur'): void;
|
|
126
|
+
hasValue(): boolean;
|
|
127
|
+
getValue(): string;
|
|
128
|
+
getState<K extends keyof State>(prop: K): State[K];
|
|
129
|
+
setValue(value: any): void;
|
|
130
|
+
updateDefinition(def: TFilter): void;
|
|
131
|
+
validate(): boolean;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
declare class HeaderCell extends Cell {
|
|
135
|
+
definition: TColumn;
|
|
136
|
+
constructor(definition: TColumn);
|
|
137
|
+
updateDefinition(newDef: Partial<TColumn>): void;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
declare class ListTableController extends EventEmitter<{
|
|
141
|
+
filterChange: Filter;
|
|
142
|
+
filterBlur: Filter;
|
|
143
|
+
filterPressEnter: Filter;
|
|
144
|
+
}> {
|
|
145
|
+
list: ListController;
|
|
146
|
+
controller: TableController;
|
|
147
|
+
protected columnsMap: Map<string, HeaderCell>;
|
|
148
|
+
protected filtersMap: Map<string, Filter<TFilterState>>;
|
|
149
|
+
constructor(list: ListController);
|
|
150
|
+
protected init(): void;
|
|
151
|
+
clear(): void;
|
|
152
|
+
fromGenericTable(table: TLoadStructure): void;
|
|
153
|
+
getFilter(filterName: string): Filter<TFilterState> | undefined;
|
|
154
|
+
getFilters(): Filter<TFilterState>[];
|
|
155
|
+
private listeners;
|
|
156
|
+
private removeFilter;
|
|
157
|
+
private makeFilter;
|
|
158
|
+
}
|
|
8
159
|
|
|
9
160
|
type ListState = {
|
|
10
161
|
areAllFiltersApplied: boolean;
|
|
@@ -16,7 +167,6 @@ type ListState = {
|
|
|
16
167
|
fncId: number;
|
|
17
168
|
isFavorite: boolean;
|
|
18
169
|
isMaximized: boolean;
|
|
19
|
-
running: boolean;
|
|
20
170
|
};
|
|
21
171
|
type TListRefreshResponse = {
|
|
22
172
|
list: ListState & TLoadStructure;
|
|
@@ -28,8 +178,7 @@ type TListControllerConfiguration = {
|
|
|
28
178
|
declare class ListController {
|
|
29
179
|
protected env: TQueryEnvironment;
|
|
30
180
|
protected configuration?: TListControllerConfiguration | undefined;
|
|
31
|
-
|
|
32
|
-
readonly table: TableController;
|
|
181
|
+
readonly table: ListTableController;
|
|
33
182
|
readonly state: ListState;
|
|
34
183
|
constructor(env: TQueryEnvironment, configuration?: TListControllerConfiguration | undefined);
|
|
35
184
|
protected refreshTimeout: number;
|
|
@@ -38,9 +187,8 @@ declare class ListController {
|
|
|
38
187
|
clearFilters(): Promise<void>;
|
|
39
188
|
page(pageNumber: number): Promise<void>;
|
|
40
189
|
protected validateFilters(): boolean;
|
|
41
|
-
refresh(): Promise<
|
|
190
|
+
refresh(): Promise<void>;
|
|
42
191
|
protected initializeFavoriteAction(): Promise<void>;
|
|
43
|
-
kill(): void;
|
|
44
192
|
toggleFavoriteFunctionality(): Promise<void>;
|
|
45
193
|
protected processRefreshResult(result: TListRefreshResponse): void;
|
|
46
194
|
}
|
|
@@ -59,5 +207,5 @@ declare class ModalListController extends ListController {
|
|
|
59
207
|
toggleFavoriteFunctionality(): Promise<void>;
|
|
60
208
|
}
|
|
61
209
|
|
|
62
|
-
export { ListController, type ListState, ModalListController, Pagination, type TListControllerConfiguration, type TListRefreshResponse, type TQueryEnvironment };
|
|
210
|
+
export { type IStatesSource, ListController, type ListState, ModalListController, Pagination, type TActionBehavior, type TActionSource, type TAttribute, type TBasicAction, type TBehavior, type TCell, type TColumn, type TFilter, type TListControllerConfiguration, type TListRefreshResponse, type TLoadStructure, type TOption, type TQueryEnvironment, type TRefresh, type TRow, type TState, type TStateIcon, type TWithAlignment, type TWithAttributes, type TWithOptions, type TWithStylesModifiers };
|
|
63
211
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { observer } from 'mobx-react-lite';
|
|
3
|
-
import { Pagination as Pagination$1 } from '@apia/components';
|
|
4
|
-
import { getLabel,
|
|
3
|
+
import { Pagination as Pagination$1, DateInput } from '@apia/components';
|
|
4
|
+
import { getLabel, EventEmitter, getDateFormat, arrayOrArray, Url } from '@apia/util';
|
|
5
5
|
import { ApiaApi, makeApiaUrl } from '@apia/api';
|
|
6
|
+
import { Cell, TableController, Row } from '@apia/table2-controller';
|
|
6
7
|
import { makeObservable, observable, runInAction } from 'mobx';
|
|
8
|
+
import { Input, Label, Box } from '@apia/theme';
|
|
9
|
+
import dayjs from 'dayjs';
|
|
7
10
|
import { notify } from '@apia/notifications';
|
|
8
|
-
import { TableController, DateFilter } from '@apia/table2-controller';
|
|
9
11
|
|
|
10
12
|
const labels = {
|
|
11
13
|
deleteFilters: getLabel("btnClearFilter").text,
|
|
@@ -55,6 +57,416 @@ const Pagination = observer(
|
|
|
55
57
|
}
|
|
56
58
|
);
|
|
57
59
|
|
|
60
|
+
class HeaderCell extends Cell {
|
|
61
|
+
constructor(definition) {
|
|
62
|
+
super({
|
|
63
|
+
colName: definition.name,
|
|
64
|
+
content: definition.title,
|
|
65
|
+
isHidden: definition.isHidden
|
|
66
|
+
});
|
|
67
|
+
this.definition = definition;
|
|
68
|
+
makeObservable(this, { definition: observable });
|
|
69
|
+
}
|
|
70
|
+
updateDefinition(newDef) {
|
|
71
|
+
Object.assign(this, newDef);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
class FilterCell extends Cell {
|
|
76
|
+
constructor(colName, filter) {
|
|
77
|
+
super({
|
|
78
|
+
colName,
|
|
79
|
+
tag: "td"
|
|
80
|
+
});
|
|
81
|
+
this.filter = filter;
|
|
82
|
+
makeObservable(this, { filter: observable });
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
var __defProp$4 = Object.defineProperty;
|
|
87
|
+
var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
88
|
+
var __publicField$4 = (obj, key, value) => {
|
|
89
|
+
__defNormalProp$4(obj, key + "" , value);
|
|
90
|
+
return value;
|
|
91
|
+
};
|
|
92
|
+
class Filter extends EventEmitter {
|
|
93
|
+
constructor(properties) {
|
|
94
|
+
super();
|
|
95
|
+
__publicField$4(this, "state");
|
|
96
|
+
this.state = {
|
|
97
|
+
...properties,
|
|
98
|
+
value: properties.initialValue || ""
|
|
99
|
+
};
|
|
100
|
+
makeObservable(this, { state: observable });
|
|
101
|
+
}
|
|
102
|
+
focus() {
|
|
103
|
+
}
|
|
104
|
+
clear() {
|
|
105
|
+
this.state.value = "";
|
|
106
|
+
this.emit("change", null);
|
|
107
|
+
}
|
|
108
|
+
fire(ev) {
|
|
109
|
+
this.emit(ev, null);
|
|
110
|
+
}
|
|
111
|
+
hasValue() {
|
|
112
|
+
return !!this.state.value;
|
|
113
|
+
}
|
|
114
|
+
getValue() {
|
|
115
|
+
return this.state.value;
|
|
116
|
+
}
|
|
117
|
+
getState(prop) {
|
|
118
|
+
return this.state[prop];
|
|
119
|
+
}
|
|
120
|
+
setValue(value) {
|
|
121
|
+
this.state.value = value;
|
|
122
|
+
this.emit("change", null);
|
|
123
|
+
}
|
|
124
|
+
updateDefinition(def) {
|
|
125
|
+
Object.assign(this.state, def);
|
|
126
|
+
}
|
|
127
|
+
validate() {
|
|
128
|
+
return !this.state.isRequired || !!this.state.value;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
class ListCell extends Cell {
|
|
133
|
+
constructor(colName, definition) {
|
|
134
|
+
super({
|
|
135
|
+
colName,
|
|
136
|
+
className: definition.className,
|
|
137
|
+
content: definition.text
|
|
138
|
+
});
|
|
139
|
+
this.definition = definition;
|
|
140
|
+
}
|
|
141
|
+
updateDefinition(definition) {
|
|
142
|
+
this.state.className = definition.className;
|
|
143
|
+
this.state.content = definition.text;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
const InputFilter = observer(({ filter }) => {
|
|
148
|
+
return /* @__PURE__ */ jsx(
|
|
149
|
+
Input,
|
|
150
|
+
{
|
|
151
|
+
value: filter.getValue(),
|
|
152
|
+
onChange: (ev) => {
|
|
153
|
+
filter.setValue(ev.target.value);
|
|
154
|
+
},
|
|
155
|
+
onKeyDown: (ev) => {
|
|
156
|
+
if (ev.code === "Enter") {
|
|
157
|
+
filter.fire("enter");
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
onBlur: () => {
|
|
161
|
+
filter.fire("blur");
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
);
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
const DateFilter = observer(({ filter, inline }) => {
|
|
168
|
+
if (inline) {
|
|
169
|
+
return /* @__PURE__ */ jsx(
|
|
170
|
+
DateInput,
|
|
171
|
+
{
|
|
172
|
+
value: filter.getValue(),
|
|
173
|
+
onChange: (ev) => {
|
|
174
|
+
filter.setValue(ev);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
);
|
|
178
|
+
}
|
|
179
|
+
return /* @__PURE__ */ jsxs(Label, { children: [
|
|
180
|
+
filter.getState("title"),
|
|
181
|
+
/* @__PURE__ */ jsx(
|
|
182
|
+
DateInput,
|
|
183
|
+
{
|
|
184
|
+
value: filter.getValue(),
|
|
185
|
+
onChange: (ev) => {
|
|
186
|
+
filter.setValue(ev);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
)
|
|
190
|
+
] });
|
|
191
|
+
});
|
|
192
|
+
|
|
193
|
+
const DateRangeFilter$1 = observer(
|
|
194
|
+
({ filter, inline }) => {
|
|
195
|
+
if (inline) {
|
|
196
|
+
return /* @__PURE__ */ jsxs(Box, { sx: { display: "flex" }, children: [
|
|
197
|
+
/* @__PURE__ */ jsx(
|
|
198
|
+
DateInput,
|
|
199
|
+
{
|
|
200
|
+
value: filter.getValueFrom(),
|
|
201
|
+
onChange: (ev) => {
|
|
202
|
+
return filter.setValueFrom(ev);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
),
|
|
206
|
+
/* @__PURE__ */ jsx(
|
|
207
|
+
DateInput,
|
|
208
|
+
{
|
|
209
|
+
value: filter.getValueTo(),
|
|
210
|
+
onChange: (ev) => {
|
|
211
|
+
return filter.setValueTo(ev);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
)
|
|
215
|
+
] });
|
|
216
|
+
}
|
|
217
|
+
return /* @__PURE__ */ jsxs(Box, { sx: { display: "flex" }, children: [
|
|
218
|
+
/* @__PURE__ */ jsxs(Label, { children: [
|
|
219
|
+
"Desde",
|
|
220
|
+
/* @__PURE__ */ jsx(
|
|
221
|
+
DateInput,
|
|
222
|
+
{
|
|
223
|
+
value: filter.getValueFrom(),
|
|
224
|
+
onChange: (ev) => {
|
|
225
|
+
return filter.setValueFrom(ev);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
)
|
|
229
|
+
] }),
|
|
230
|
+
/* @__PURE__ */ jsxs(Label, { children: [
|
|
231
|
+
"Hasta",
|
|
232
|
+
/* @__PURE__ */ jsx(
|
|
233
|
+
DateInput,
|
|
234
|
+
{
|
|
235
|
+
value: filter.getValueTo(),
|
|
236
|
+
onChange: (ev) => {
|
|
237
|
+
return filter.setValueTo(ev);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
)
|
|
241
|
+
] })
|
|
242
|
+
] });
|
|
243
|
+
}
|
|
244
|
+
);
|
|
245
|
+
|
|
246
|
+
const FilterRender = observer(({ filter, inline }) => {
|
|
247
|
+
switch (filter?.getState("type")) {
|
|
248
|
+
case "INPUT":
|
|
249
|
+
return /* @__PURE__ */ jsx(InputFilter, { filter, inline });
|
|
250
|
+
case "DATE":
|
|
251
|
+
return /* @__PURE__ */ jsx(DateFilter, { filter, inline });
|
|
252
|
+
case "DATERANGE":
|
|
253
|
+
return /* @__PURE__ */ jsx(DateRangeFilter$1, { filter, inline });
|
|
254
|
+
}
|
|
255
|
+
return /* @__PURE__ */ jsx(Input, { disabled: true });
|
|
256
|
+
});
|
|
257
|
+
|
|
258
|
+
var __defProp$3 = Object.defineProperty;
|
|
259
|
+
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
260
|
+
var __publicField$3 = (obj, key, value) => {
|
|
261
|
+
__defNormalProp$3(obj, key + "" , value);
|
|
262
|
+
return value;
|
|
263
|
+
};
|
|
264
|
+
const FilterRenderer = ({ cell }) => {
|
|
265
|
+
return cell instanceof FilterCell ? /* @__PURE__ */ jsx(FilterRender, { filter: cell.filter, inline: true }) : cell.getState("content");
|
|
266
|
+
};
|
|
267
|
+
class FiltersPlugin {
|
|
268
|
+
constructor() {
|
|
269
|
+
__publicField$3(this, "getRenderers", () => ({
|
|
270
|
+
cell: FilterRenderer
|
|
271
|
+
}));
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
const dateFormat = getDateFormat();
|
|
276
|
+
class DateRangeFilter extends Filter {
|
|
277
|
+
setValue() {
|
|
278
|
+
throw new Error("Cannot set value on range filter");
|
|
279
|
+
}
|
|
280
|
+
clear() {
|
|
281
|
+
this.state.value = "";
|
|
282
|
+
this.state.valueTo = "";
|
|
283
|
+
this.emit("change", null);
|
|
284
|
+
}
|
|
285
|
+
checkDatesOrder(from, to) {
|
|
286
|
+
if (!from || !to) {
|
|
287
|
+
return true;
|
|
288
|
+
}
|
|
289
|
+
const fromDate = dayjs(from, dateFormat);
|
|
290
|
+
const toDate = dayjs(to, dateFormat);
|
|
291
|
+
const isValid = !fromDate.isAfter(toDate);
|
|
292
|
+
if (!isValid) {
|
|
293
|
+
notify({ message: "Fecha desde no puede ser mayor que fecha hasta" });
|
|
294
|
+
}
|
|
295
|
+
return isValid;
|
|
296
|
+
}
|
|
297
|
+
hasValue() {
|
|
298
|
+
return !!this.state.value || !!this.state.valueTo;
|
|
299
|
+
}
|
|
300
|
+
getValue() {
|
|
301
|
+
return `${this.state.value || ""}~${this.state.valueTo || ""}`;
|
|
302
|
+
}
|
|
303
|
+
getValueFrom() {
|
|
304
|
+
return this.state.value;
|
|
305
|
+
}
|
|
306
|
+
getValueTo() {
|
|
307
|
+
return this.state.valueTo;
|
|
308
|
+
}
|
|
309
|
+
setValueFrom(value) {
|
|
310
|
+
if (this.checkDatesOrder(value, this.state.valueTo)) {
|
|
311
|
+
this.state.value = value;
|
|
312
|
+
this.emit("change", null);
|
|
313
|
+
return true;
|
|
314
|
+
}
|
|
315
|
+
return false;
|
|
316
|
+
}
|
|
317
|
+
setValueTo(value) {
|
|
318
|
+
if (this.checkDatesOrder(this.state.value, value)) {
|
|
319
|
+
this.state.valueTo = value;
|
|
320
|
+
this.emit("change", null);
|
|
321
|
+
return true;
|
|
322
|
+
}
|
|
323
|
+
return false;
|
|
324
|
+
}
|
|
325
|
+
validate() {
|
|
326
|
+
return !this.state.isRequired || !!this.state.value && !!this.state.valueTo;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
var __defProp$2 = Object.defineProperty;
|
|
331
|
+
var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
332
|
+
var __publicField$2 = (obj, key, value) => {
|
|
333
|
+
__defNormalProp$2(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
334
|
+
return value;
|
|
335
|
+
};
|
|
336
|
+
class ListTableController extends EventEmitter {
|
|
337
|
+
constructor(list) {
|
|
338
|
+
super();
|
|
339
|
+
this.list = list;
|
|
340
|
+
__publicField$2(this, "controller");
|
|
341
|
+
__publicField$2(this, "columnsMap", /* @__PURE__ */ new Map());
|
|
342
|
+
__publicField$2(this, "filtersMap", /* @__PURE__ */ new Map());
|
|
343
|
+
__publicField$2(this, "listeners", /* @__PURE__ */ new Map());
|
|
344
|
+
this.controller = new TableController();
|
|
345
|
+
this.controller.setPlugins((c) => [...c, new FiltersPlugin()]);
|
|
346
|
+
this.init();
|
|
347
|
+
}
|
|
348
|
+
init() {
|
|
349
|
+
this.controller.head.addRow(new Row("header"));
|
|
350
|
+
this.controller.head.addRow(
|
|
351
|
+
new Row("filters").setState("isHidden", true).setState("domProperties", { className: "filtersRow" })
|
|
352
|
+
);
|
|
353
|
+
}
|
|
354
|
+
clear() {
|
|
355
|
+
this.controller.body.clear();
|
|
356
|
+
}
|
|
357
|
+
fromGenericTable(table) {
|
|
358
|
+
this.controller.setState("allowEdition", table.behavior.allowEdition);
|
|
359
|
+
this.controller.setState("allowSelection", table.behavior.allowSelection);
|
|
360
|
+
this.controller.setState(
|
|
361
|
+
"isSelectionMultiple",
|
|
362
|
+
table.behavior.isMultipleSelection
|
|
363
|
+
);
|
|
364
|
+
const columns = arrayOrArray(table.columns);
|
|
365
|
+
const filters = arrayOrArray(table.filters);
|
|
366
|
+
this.columnsMap.clear();
|
|
367
|
+
for (const filter of filters) {
|
|
368
|
+
if (this.filtersMap.get(filter.name)) {
|
|
369
|
+
this.filtersMap.get(filter.name)?.updateDefinition(filter);
|
|
370
|
+
} else {
|
|
371
|
+
this.filtersMap.set(filter.name, this.makeFilter(filter));
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
for (const key of this.filtersMap.keys()) {
|
|
375
|
+
if (!filters.find((c) => c.name === key)) {
|
|
376
|
+
this.removeFilter(key);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
this.controller.head.rows[0].cells.splice(columns.length);
|
|
380
|
+
this.controller.head.rows[1].cells.splice(columns.length);
|
|
381
|
+
let i;
|
|
382
|
+
for (i = 0; i < columns.length; i++) {
|
|
383
|
+
const column = columns[i];
|
|
384
|
+
const colName = column.name;
|
|
385
|
+
if (!this.controller.head.rows[0].cells[i]) {
|
|
386
|
+
this.controller.head.rows[0].addCell(new HeaderCell(column));
|
|
387
|
+
} else {
|
|
388
|
+
this.controller.head.rows[0].cells[i].updateDefinition(
|
|
389
|
+
column
|
|
390
|
+
);
|
|
391
|
+
}
|
|
392
|
+
const filter = filters.find((c) => c.columnName === colName);
|
|
393
|
+
if (this.controller.head.rows[1].cells[i]) {
|
|
394
|
+
this.controller.head.rows[1].cells[i].setState(
|
|
395
|
+
"colName",
|
|
396
|
+
colName
|
|
397
|
+
);
|
|
398
|
+
this.controller.head.rows[1].cells[i].filter = this.filtersMap.get(
|
|
399
|
+
filter?.name || "nohayfiltrodefinidiparaestacolumna"
|
|
400
|
+
);
|
|
401
|
+
} else {
|
|
402
|
+
this.controller.head.rows[1].addCell(
|
|
403
|
+
new FilterCell(
|
|
404
|
+
colName,
|
|
405
|
+
this.filtersMap.get(
|
|
406
|
+
filter?.name || "nohayfiltrodefinidiparaestacolumna"
|
|
407
|
+
)
|
|
408
|
+
)
|
|
409
|
+
);
|
|
410
|
+
}
|
|
411
|
+
this.columnsMap.set(
|
|
412
|
+
colName,
|
|
413
|
+
this.controller.head.rows[0].cells[i]
|
|
414
|
+
);
|
|
415
|
+
}
|
|
416
|
+
const rows = arrayOrArray(table.rows);
|
|
417
|
+
this.controller.body.rows.splice(rows.length);
|
|
418
|
+
for (let i2 = 0; i2 < rows.length; i2++) {
|
|
419
|
+
if (!this.controller.body.rows[i2]) {
|
|
420
|
+
this.controller.body.addRow(new Row(rows[i2].id));
|
|
421
|
+
} else {
|
|
422
|
+
this.controller.body.rows[i2].setState("id", rows[i2].id);
|
|
423
|
+
}
|
|
424
|
+
this.controller.body.rows[i2].cells.splice(columns.length);
|
|
425
|
+
for (let j = 0; j < columns.length; j++) {
|
|
426
|
+
if (this.controller.body.rows[i2].cells[j]) {
|
|
427
|
+
this.controller.body.rows[i2].cells[j].updateDefinition(
|
|
428
|
+
arrayOrArray(rows[i2].cells)[j]
|
|
429
|
+
);
|
|
430
|
+
} else {
|
|
431
|
+
this.controller.body.rows[i2].addCell(
|
|
432
|
+
new ListCell(columns[j].name, arrayOrArray(rows[i2].cells)[j])
|
|
433
|
+
);
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
getFilter(filterName) {
|
|
439
|
+
return this.filtersMap.get(filterName);
|
|
440
|
+
}
|
|
441
|
+
getFilters() {
|
|
442
|
+
return [...this.filtersMap.values()];
|
|
443
|
+
}
|
|
444
|
+
removeFilter(filterName) {
|
|
445
|
+
this.filtersMap.delete(filterName);
|
|
446
|
+
this.listeners.get(filterName)?.forEach((listener) => listener());
|
|
447
|
+
this.listeners.delete(filterName);
|
|
448
|
+
}
|
|
449
|
+
makeFilter(filter) {
|
|
450
|
+
let inst;
|
|
451
|
+
if (filter.type === "DATERANGE")
|
|
452
|
+
inst = new DateRangeFilter(filter);
|
|
453
|
+
else
|
|
454
|
+
inst = new Filter(filter);
|
|
455
|
+
const listenBlur = () => this.emit("filterBlur", inst);
|
|
456
|
+
const listenChange = () => this.emit("filterChange", inst);
|
|
457
|
+
const listenEnter = () => this.emit("filterPressEnter", inst);
|
|
458
|
+
inst.on("blur", listenBlur);
|
|
459
|
+
inst.on("change", listenChange);
|
|
460
|
+
inst.on("enter", listenEnter);
|
|
461
|
+
this.listeners.set(inst.getState("name"), [
|
|
462
|
+
listenBlur,
|
|
463
|
+
listenChange,
|
|
464
|
+
listenEnter
|
|
465
|
+
]);
|
|
466
|
+
return inst;
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
|
|
58
470
|
var __defProp$1 = Object.defineProperty;
|
|
59
471
|
var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
60
472
|
var __publicField$1 = (obj, key, value) => {
|
|
@@ -65,18 +477,16 @@ class ListController {
|
|
|
65
477
|
constructor(env, configuration) {
|
|
66
478
|
this.env = env;
|
|
67
479
|
this.configuration = configuration;
|
|
68
|
-
__publicField$1(this, "queue", new TasksQueue());
|
|
69
480
|
__publicField$1(this, "table");
|
|
70
481
|
__publicField$1(this, "state", {
|
|
71
482
|
areAllFiltersApplied: true,
|
|
72
483
|
navigation: { currentPage: 0, pagesCount: 0, registers: 0 },
|
|
73
484
|
fncId: -1,
|
|
74
485
|
isFavorite: false,
|
|
75
|
-
isMaximized: false
|
|
76
|
-
running: true
|
|
486
|
+
isMaximized: false
|
|
77
487
|
});
|
|
78
488
|
__publicField$1(this, "refreshTimeout", -1);
|
|
79
|
-
this.table = new
|
|
489
|
+
this.table = new ListTableController(this);
|
|
80
490
|
this.initializeFavoriteAction();
|
|
81
491
|
if (configuration?.refreshOnStartup !== false) {
|
|
82
492
|
this.refresh();
|
|
@@ -87,26 +497,19 @@ class ListController {
|
|
|
87
497
|
this.throttleRefresh();
|
|
88
498
|
}
|
|
89
499
|
});
|
|
90
|
-
this.table.on("filterPressEnter", (
|
|
91
|
-
if (filter.getState("type") !== "DATE") {
|
|
92
|
-
this.refresh();
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
this.table.on("filterBlur", (filter) => {
|
|
96
|
-
if (filter instanceof DateFilter) {
|
|
97
|
-
this.refresh();
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
this.table.on("columnSort", () => {
|
|
500
|
+
this.table.on("filterPressEnter", () => {
|
|
101
501
|
this.refresh();
|
|
102
502
|
});
|
|
503
|
+
this.table.on("filterBlur", () => {
|
|
504
|
+
console.log("blur");
|
|
505
|
+
});
|
|
103
506
|
makeObservable(this, { state: observable });
|
|
104
507
|
}
|
|
105
508
|
throttleRefresh() {
|
|
106
509
|
clearTimeout(this.refreshTimeout);
|
|
107
510
|
this.refreshTimeout = setTimeout(() => {
|
|
108
511
|
this.refresh();
|
|
109
|
-
},
|
|
512
|
+
}, 100);
|
|
110
513
|
}
|
|
111
514
|
getAjaxParameters() {
|
|
112
515
|
return { ajaxUrl: this.env.window.URL_REQUEST_AJAX };
|
|
@@ -118,25 +521,23 @@ class ListController {
|
|
|
118
521
|
});
|
|
119
522
|
}
|
|
120
523
|
async page(pageNumber) {
|
|
121
|
-
this.
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
);
|
|
131
|
-
if (result?.data?.list) {
|
|
132
|
-
this.processRefreshResult(result.data);
|
|
133
|
-
}
|
|
524
|
+
if (this.validateFilters()) {
|
|
525
|
+
const result = await ApiaApi.post(
|
|
526
|
+
makeApiaUrl({
|
|
527
|
+
action: "refresh",
|
|
528
|
+
page: pageNumber,
|
|
529
|
+
...this.getAjaxParameters()
|
|
530
|
+
})
|
|
531
|
+
);
|
|
532
|
+
if (result?.data?.list) {
|
|
533
|
+
this.processRefreshResult(result.data);
|
|
134
534
|
}
|
|
135
|
-
}
|
|
535
|
+
}
|
|
136
536
|
}
|
|
137
537
|
validateFilters() {
|
|
138
538
|
const invalidFilters = this.table.getFilters().filter((c) => !c.validate());
|
|
139
539
|
if (invalidFilters.length) {
|
|
540
|
+
this.table.clear();
|
|
140
541
|
notify({
|
|
141
542
|
title: getLabel("titWarning").text,
|
|
142
543
|
message: getLabel("msgQryFilterRequiredList", {
|
|
@@ -149,44 +550,31 @@ class ListController {
|
|
|
149
550
|
return invalidFilters.length === 0;
|
|
150
551
|
}
|
|
151
552
|
async refresh() {
|
|
152
|
-
if (
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
{}
|
|
172
|
-
),
|
|
173
|
-
...this.table.getColumns().reduce(
|
|
174
|
-
(acc, cur) => ({
|
|
175
|
-
...acc,
|
|
176
|
-
[`sort_${cur.getState("colName")}`]: cur.getState("sortState")
|
|
177
|
-
}),
|
|
178
|
-
{}
|
|
179
|
-
)
|
|
180
|
-
},
|
|
181
|
-
postDataTreatement: "stringify",
|
|
182
|
-
stringifyOptions: { arrayFormat: "repeat" }
|
|
183
|
-
}
|
|
184
|
-
);
|
|
185
|
-
if (result?.data?.list) {
|
|
186
|
-
this.processRefreshResult(result.data);
|
|
553
|
+
if (this.validateFilters()) {
|
|
554
|
+
this.state.areAllFiltersApplied = true;
|
|
555
|
+
const result = await ApiaApi.post(
|
|
556
|
+
makeApiaUrl({
|
|
557
|
+
action: "refresh",
|
|
558
|
+
...this.getAjaxParameters()
|
|
559
|
+
}),
|
|
560
|
+
{
|
|
561
|
+
postData: {
|
|
562
|
+
...this.table.getFilters().reduce(
|
|
563
|
+
(acc, cur) => ({
|
|
564
|
+
...acc,
|
|
565
|
+
[`filter_${cur.getState("name")}`]: cur.getValue()
|
|
566
|
+
}),
|
|
567
|
+
{}
|
|
568
|
+
)
|
|
569
|
+
},
|
|
570
|
+
postDataTreatement: "stringify",
|
|
571
|
+
stringifyOptions: { arrayFormat: "repeat" }
|
|
187
572
|
}
|
|
573
|
+
);
|
|
574
|
+
if (result?.data?.list) {
|
|
575
|
+
this.processRefreshResult(result.data);
|
|
188
576
|
}
|
|
189
|
-
}
|
|
577
|
+
}
|
|
190
578
|
}
|
|
191
579
|
async initializeFavoriteAction() {
|
|
192
580
|
this.state.fncId = Number.parseInt(
|
|
@@ -199,10 +587,6 @@ class ListController {
|
|
|
199
587
|
this.state.isFavorite = res.data.isFavorite;
|
|
200
588
|
}
|
|
201
589
|
}
|
|
202
|
-
kill() {
|
|
203
|
-
this.state.running = false;
|
|
204
|
-
this.queue.clear();
|
|
205
|
-
}
|
|
206
590
|
async toggleFavoriteFunctionality() {
|
|
207
591
|
const res = await ApiaApi.post(makeApiaUrl({ action: "toggleFavorite", favFncId: this.state.fncId }));
|
|
208
592
|
if (res?.data) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/components/Pagination.tsx","../src/ListController.ts","../src/ModalListController.ts"],"sourcesContent":["import { observer } from 'mobx-react-lite';\r\nimport { ListController } from '../ListController';\r\nimport { Pagination as PG } from '@apia/components';\r\nimport { getLabel } from '@apia/util';\r\n\r\nconst labels = {\r\n deleteFilters: getLabel('btnClearFilter').text,\r\n firstPage: getLabel('btnNavFirst').text,\r\n information: getLabel('lblGridNotNum').text,\r\n lastPage: getLabel('btnNavLast').text,\r\n nextPage: getLabel('btnNavNext').text,\r\n maximize: getLabel('lblMaximizeWindow').text,\r\n minimize: getLabel('lblMinimizeWindow').text,\r\n moreData: getLabel('lblMoreData').text,\r\n page: getLabel('lblPage').text,\r\n pageInputInstructions: getLabel('btnNavFirst').text,\r\n previousPage: getLabel('btnNavPrev').text,\r\n refresh: getLabel('btnAct').text,\r\n totalRecords: getLabel('lblTotReg').text,\r\n totalRecordsReached: getLabel('msgTotRegReached').text,\r\n};\r\n\r\nexport const Pagination = observer(\r\n ({ controller }: { controller: ListController }) => {\r\n return (\r\n <PG\r\n currentPage={controller.state.navigation.currentPage}\r\n onPageChange={(page) => {\r\n controller.page(page);\r\n }}\r\n onRefresh={() => {\r\n controller.refresh();\r\n }}\r\n pageCount={controller.state.navigation.pagesCount}\r\n recordsCount={controller.state.navigation.registers}\r\n appliedFilters={\r\n controller.table.getFilters().filter((c) => c.hasValue()).length\r\n }\r\n areAllFiltersApplied={controller.state.areAllFiltersApplied}\r\n onDeleteFilters={() => controller.clearFilters()}\r\n labels={labels}\r\n isMaximized={controller.state.isMaximized}\r\n onMaximize={() => {\r\n controller.state.isMaximized = !controller.state.isMaximized;\r\n if (controller.state.isMaximized) {\r\n document\r\n .querySelector('.twoColumnsList')\r\n ?.classList.add('maximized');\r\n } else {\r\n document\r\n .querySelector('.twoColumnsList')\r\n ?.classList.remove('maximized');\r\n }\r\n }}\r\n />\r\n );\r\n },\r\n);\r\n","import { TQueryEnvironment } from './types';\r\nimport { ApiaApi, makeApiaUrl } from '@apia/api';\r\nimport { getLabel, TasksQueue, TLoadStructure, Url } from '@apia/util';\r\nimport { makeObservable, observable, runInAction } from 'mobx';\r\nimport { notify } from '@apia/notifications';\r\nimport { DateFilter, TableController } from '@apia/table2-controller';\r\n\r\nexport type ListState = {\r\n areAllFiltersApplied: boolean;\r\n navigation: {\r\n pagesCount: number;\r\n registers: number;\r\n currentPage: number;\r\n };\r\n fncId: number;\r\n isFavorite: boolean;\r\n isMaximized: boolean;\r\n running: boolean;\r\n};\r\n\r\nexport type TListRefreshResponse = {\r\n list: ListState & TLoadStructure;\r\n};\r\n\r\nexport type TListControllerConfiguration = {\r\n ajaxUrl?: string;\r\n refreshOnStartup?: boolean;\r\n};\r\n\r\nexport class ListController {\r\n queue = new TasksQueue();\r\n public readonly table: TableController;\r\n public readonly state: ListState = {\r\n areAllFiltersApplied: true,\r\n navigation: { currentPage: 0, pagesCount: 0, registers: 0 },\r\n fncId: -1,\r\n isFavorite: false,\r\n isMaximized: false,\r\n running: true,\r\n };\r\n\r\n constructor(\r\n protected env: TQueryEnvironment,\r\n protected configuration?: TListControllerConfiguration,\r\n ) {\r\n this.table = new TableController();\r\n\r\n this.initializeFavoriteAction();\r\n if (configuration?.refreshOnStartup !== false) {\r\n this.refresh();\r\n }\r\n\r\n this.table.on('filterChange', (filter) => {\r\n this.state.areAllFiltersApplied = false;\r\n\r\n if (filter.getState('runAutomatically')) {\r\n this.throttleRefresh();\r\n }\r\n });\r\n\r\n this.table.on('filterPressEnter', (filter) => {\r\n if (filter.getState('type') !== 'DATE') {\r\n this.refresh();\r\n }\r\n });\r\n\r\n this.table.on('filterBlur', (filter) => {\r\n if (filter instanceof DateFilter) {\r\n this.refresh();\r\n }\r\n });\r\n\r\n this.table.on('columnSort', () => {\r\n this.refresh();\r\n });\r\n\r\n makeObservable(this, { state: observable });\r\n }\r\n\r\n protected refreshTimeout = -1;\r\n protected throttleRefresh() {\r\n clearTimeout(this.refreshTimeout);\r\n this.refreshTimeout = setTimeout(() => {\r\n this.refresh();\r\n }, 300) as any;\r\n }\r\n\r\n protected getAjaxParameters(): Record<string, unknown> {\r\n return { ajaxUrl: this.env.window.URL_REQUEST_AJAX };\r\n }\r\n\r\n async clearFilters() {\r\n runInAction(() => {\r\n this.table.getFilters().forEach((c) => c.clear());\r\n this.throttleRefresh();\r\n });\r\n }\r\n\r\n async page(pageNumber: number) {\r\n this.queue.clear();\r\n this.queue.run(async () => {\r\n if (this.validateFilters()) {\r\n const result = await ApiaApi.post<TListRefreshResponse>(\r\n makeApiaUrl({\r\n action: 'refresh',\r\n page: pageNumber,\r\n ...this.getAjaxParameters(),\r\n }),\r\n );\r\n\r\n if (result?.data?.list) {\r\n this.processRefreshResult(result.data);\r\n }\r\n }\r\n });\r\n }\r\n\r\n protected validateFilters() {\r\n const invalidFilters = this.table.getFilters().filter((c) => !c.validate());\r\n if (invalidFilters.length) {\r\n notify({\r\n title: getLabel('titWarning').text,\r\n message: getLabel('msgQryFilterRequiredList', {\r\n text: {\r\n TOK1: invalidFilters.map((c) => c.getState('title')).join(', '),\r\n },\r\n }).text,\r\n });\r\n }\r\n return invalidFilters.length === 0;\r\n }\r\n\r\n async refresh() {\r\n if (!this.state.running) {\r\n return false;\r\n }\r\n\r\n this.queue.clear();\r\n this.queue.run(async () => {\r\n if (this.validateFilters()) {\r\n this.state.areAllFiltersApplied = true;\r\n\r\n const result = await ApiaApi.post<TListRefreshResponse>(\r\n makeApiaUrl({\r\n action: 'refresh',\r\n ...this.getAjaxParameters(),\r\n }),\r\n {\r\n postData: {\r\n ...this.table.getFilters().reduce(\r\n (acc, cur) => ({\r\n ...acc,\r\n [`filter_${cur.getState('name')}`]: cur.getValue(),\r\n }),\r\n {},\r\n ),\r\n ...this.table.getColumns().reduce(\r\n (acc, cur) => ({\r\n ...acc,\r\n [`sort_${cur.getState('colName')}`]:\r\n cur.getState('sortState'),\r\n }),\r\n {},\r\n ),\r\n },\r\n postDataTreatement: 'stringify',\r\n stringifyOptions: { arrayFormat: 'repeat' },\r\n },\r\n );\r\n\r\n if (result?.data?.list) {\r\n this.processRefreshResult(result.data);\r\n }\r\n }\r\n });\r\n }\r\n\r\n protected async initializeFavoriteAction() {\r\n this.state.fncId = Number.parseInt(\r\n String(new Url(window.location.href).getParameter('favFncId')),\r\n );\r\n\r\n const res = await ApiaApi.post<{\r\n isFavorite: boolean;\r\n }>(\r\n makeApiaUrl({ action: 'loadFavoriteState', favFncId: this.state.fncId }),\r\n );\r\n\r\n if (res?.data) {\r\n this.state.isFavorite = res.data.isFavorite;\r\n }\r\n }\r\n\r\n public kill() {\r\n this.state.running = false;\r\n this.queue.clear();\r\n }\r\n\r\n public async toggleFavoriteFunctionality() {\r\n const res = await ApiaApi.post<{\r\n isFavorite: boolean;\r\n }>(makeApiaUrl({ action: 'toggleFavorite', favFncId: this.state.fncId }));\r\n\r\n if (res?.data) {\r\n this.state.isFavorite = res.data.isFavorite;\r\n }\r\n }\r\n\r\n protected processRefreshResult(result: TListRefreshResponse) {\r\n this.table.fromGenericTable(result.list);\r\n this.state.navigation = result.list.navigation;\r\n }\r\n}\r\n","import { ListController, TListControllerConfiguration } from './ListController';\r\nimport { TQueryEnvironment } from './types';\r\n\r\nexport class ModalListController extends ListController {\r\n private tabId = Date.now();\r\n\r\n public constructor(\r\n env: TQueryEnvironment,\r\n configuration: TListControllerConfiguration,\r\n ) {\r\n super(env, { ...configuration, refreshOnStartup: false });\r\n }\r\n\r\n protected getAjaxParameters(): Record<string, unknown> {\r\n return { ajaxUrl: this.configuration!.ajaxUrl, tabId: this.tabId };\r\n }\r\n\r\n protected initializeFavoriteAction(): Promise<void> {\r\n return Promise.resolve();\r\n }\r\n\r\n public toggleFavoriteFunctionality(): Promise<void> {\r\n return Promise.resolve();\r\n }\r\n}\r\n"],"names":["PG","__publicField"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/components/Pagination.tsx","../src/ListTableController/HeaderCell.ts","../src/ListTableController/FilterCell.ts","../src/ListTableController/Filter.ts","../src/ListTableController/ListCell.ts","../src/components/filters/InputFilter.tsx","../src/components/filters/DateFilter.tsx","../src/components/filters/DateRangeFilter.tsx","../src/components/filters/FilterRender.tsx","../src/components/filters/FiltersPlugin.tsx","../src/ListTableController/DateRangeFilter.ts","../src/ListTableController/index.ts","../src/ListController.ts","../src/ModalListController.ts"],"sourcesContent":["import { observer } from 'mobx-react-lite';\r\nimport { ListController } from '../ListController';\r\nimport { Pagination as PG } from '@apia/components';\r\nimport { getLabel } from '@apia/util';\r\n\r\nconst labels = {\r\n deleteFilters: getLabel('btnClearFilter').text,\r\n firstPage: getLabel('btnNavFirst').text,\r\n information: getLabel('lblGridNotNum').text,\r\n lastPage: getLabel('btnNavLast').text,\r\n nextPage: getLabel('btnNavNext').text,\r\n maximize: getLabel('lblMaximizeWindow').text,\r\n minimize: getLabel('lblMinimizeWindow').text,\r\n moreData: getLabel('lblMoreData').text,\r\n page: getLabel('lblPage').text,\r\n pageInputInstructions: getLabel('btnNavFirst').text,\r\n previousPage: getLabel('btnNavPrev').text,\r\n refresh: getLabel('btnAct').text,\r\n totalRecords: getLabel('lblTotReg').text,\r\n totalRecordsReached: getLabel('msgTotRegReached').text,\r\n};\r\n\r\nexport const Pagination = observer(\r\n ({ controller }: { controller: ListController }) => {\r\n return (\r\n <PG\r\n currentPage={controller.state.navigation.currentPage}\r\n onPageChange={(page) => {\r\n controller.page(page);\r\n }}\r\n onRefresh={() => {\r\n controller.refresh();\r\n }}\r\n pageCount={controller.state.navigation.pagesCount}\r\n recordsCount={controller.state.navigation.registers}\r\n appliedFilters={\r\n controller.table.getFilters().filter((c) => c.hasValue()).length\r\n }\r\n areAllFiltersApplied={controller.state.areAllFiltersApplied}\r\n onDeleteFilters={() => controller.clearFilters()}\r\n labels={labels}\r\n isMaximized={controller.state.isMaximized}\r\n onMaximize={() => {\r\n controller.state.isMaximized = !controller.state.isMaximized;\r\n if (controller.state.isMaximized) {\r\n document\r\n .querySelector('.twoColumnsList')\r\n ?.classList.add('maximized');\r\n } else {\r\n document\r\n .querySelector('.twoColumnsList')\r\n ?.classList.remove('maximized');\r\n }\r\n }}\r\n />\r\n );\r\n },\r\n);\r\n","import { Cell } from '@apia/table2-controller';\r\nimport { TColumn } from '../types';\r\nimport { makeObservable, observable } from 'mobx';\r\n\r\nexport class HeaderCell extends Cell {\r\n constructor(public definition: TColumn) {\r\n super({\r\n colName: definition.name,\r\n content: definition.title,\r\n isHidden: definition.isHidden,\r\n });\r\n\r\n makeObservable(this, { definition: observable });\r\n }\r\n\r\n public updateDefinition(newDef: Partial<TColumn>) {\r\n Object.assign(this, newDef);\r\n }\r\n}\r\n","import { Cell } from '@apia/table2-controller';\r\nimport { makeObservable, observable } from 'mobx';\r\nimport { Filter } from './Filter';\r\n\r\nexport class FilterCell extends Cell {\r\n constructor(\r\n colName: string,\r\n public filter?: Filter,\r\n ) {\r\n super({\r\n colName,\r\n tag: 'td',\r\n });\r\n\r\n makeObservable(this, { filter: observable });\r\n }\r\n}\r\n","import { makeObservable, observable } from 'mobx';\r\nimport { TFilter } from '../types';\r\nimport { EventEmitter } from '@apia/util';\r\n\r\nexport type TFilterState = TFilter & { value: string };\r\n\r\nexport class Filter<\r\n State extends TFilterState = TFilterState,\r\n> extends EventEmitter<{\r\n change: null;\r\n enter: null;\r\n blur: null;\r\n}> {\r\n protected state: State;\r\n\r\n focus() {}\r\n\r\n constructor(properties: TFilter) {\r\n super();\r\n\r\n this.state = {\r\n ...properties,\r\n value: properties.initialValue || '',\r\n } as State;\r\n\r\n makeObservable<Filter, 'state'>(this, { state: observable });\r\n }\r\n\r\n public clear() {\r\n this.state.value = '';\r\n this.emit('change', null);\r\n }\r\n\r\n public fire(ev: 'enter' | 'blur') {\r\n this.emit(ev, null);\r\n }\r\n\r\n public hasValue() {\r\n return !!this.state.value;\r\n }\r\n\r\n public getValue() {\r\n return this.state.value;\r\n }\r\n\r\n public getState<K extends keyof State>(prop: K): State[K] {\r\n return this.state[prop];\r\n }\r\n\r\n public setValue(value: any) {\r\n this.state.value = value;\r\n this.emit('change', null);\r\n }\r\n\r\n public updateDefinition(def: TFilter) {\r\n Object.assign(this.state, def);\r\n }\r\n\r\n public validate(): boolean {\r\n return !this.state.isRequired || !!this.state.value;\r\n }\r\n}\r\n","import { Cell } from '@apia/table2-controller';\r\nimport { TCell } from '../types';\r\n\r\nexport class ListCell extends Cell {\r\n constructor(\r\n colName: string,\r\n public definition: TCell,\r\n ) {\r\n super({\r\n colName,\r\n className: definition.className,\r\n content: definition.text,\r\n });\r\n }\r\n\r\n public updateDefinition(definition: TCell) {\r\n this.state.className = definition.className;\r\n this.state.content = definition.text;\r\n }\r\n}\r\n","import { observer } from 'mobx-react-lite';\r\nimport type { TFilterRender } from './FilterRender';\r\nimport { Input } from '@apia/theme';\r\n\r\nexport const InputFilter: TFilterRender = observer(({ filter }) => {\r\n return (\r\n <Input\r\n value={filter.getValue()}\r\n onChange={(ev) => {\r\n filter.setValue(ev.target.value);\r\n }}\r\n onKeyDown={(ev) => {\r\n if (ev.code === 'Enter') {\r\n filter.fire('enter');\r\n }\r\n }}\r\n onBlur={() => {\r\n filter.fire('blur');\r\n }}\r\n />\r\n );\r\n});\r\n","import { observer } from 'mobx-react-lite';\r\nimport type { TFilterRender } from './FilterRender';\r\nimport { DateInput } from '@apia/components';\r\nimport { Label } from '@apia/theme';\r\n\r\nexport const DateFilter: TFilterRender = observer(({ filter, inline }) => {\r\n if (inline) {\r\n return (\r\n <DateInput\r\n value={filter.getValue()}\r\n onChange={(ev) => {\r\n filter.setValue(ev);\r\n }}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <Label>\r\n {filter.getState('title')}\r\n <DateInput\r\n value={filter.getValue()}\r\n onChange={(ev) => {\r\n filter.setValue(ev);\r\n }}\r\n />\r\n </Label>\r\n );\r\n});\r\n","import { observer } from 'mobx-react-lite';\r\nimport { DateInput } from '@apia/components';\r\nimport { DateRangeFilter as DRFController } from '../../ListTableController/DateRangeFilter';\r\nimport { Box, Label } from '@apia/theme';\r\n\r\nexport const DateRangeFilter = observer(\r\n ({ filter, inline }: { filter: DRFController; inline?: boolean }) => {\r\n if (inline) {\r\n return (\r\n <Box sx={{ display: 'flex' }}>\r\n <DateInput\r\n value={filter.getValueFrom()}\r\n onChange={(ev) => {\r\n return filter.setValueFrom(ev);\r\n }}\r\n />\r\n <DateInput\r\n value={filter.getValueTo()}\r\n onChange={(ev) => {\r\n return filter.setValueTo(ev);\r\n }}\r\n />\r\n </Box>\r\n );\r\n }\r\n\r\n return (\r\n <Box sx={{ display: 'flex' }}>\r\n <Label>\r\n Desde\r\n <DateInput\r\n value={filter.getValueFrom()}\r\n onChange={(ev) => {\r\n return filter.setValueFrom(ev);\r\n }}\r\n />\r\n </Label>\r\n <Label>\r\n Hasta\r\n <DateInput\r\n value={filter.getValueTo()}\r\n onChange={(ev) => {\r\n return filter.setValueTo(ev);\r\n }}\r\n />\r\n </Label>\r\n </Box>\r\n );\r\n },\r\n);\r\n","import { observer } from 'mobx-react-lite';\r\nimport { Filter } from '../../ListTableController/Filter';\r\nimport { DateRangeFilter as DRFController } from '../../ListTableController/DateRangeFilter';\r\nimport { FC } from 'react';\r\nimport { InputFilter } from './InputFilter';\r\nimport { Input } from '@apia/theme';\r\nimport { DateFilter } from './DateFilter';\r\nimport { DateRangeFilter } from './DateRangeFilter';\r\n\r\nexport type TFilterRender = FC<{ filter: Filter; inline?: boolean }>;\r\n\r\nexport const FilterRender: TFilterRender = observer(({ filter, inline }) => {\r\n switch (filter?.getState('type')) {\r\n case 'INPUT':\r\n return <InputFilter filter={filter} inline={inline} />;\r\n case 'DATE':\r\n return <DateFilter filter={filter} inline={inline} />;\r\n case 'DATERANGE':\r\n return (\r\n <DateRangeFilter filter={filter as DRFController} inline={inline} />\r\n );\r\n }\r\n\r\n return <Input disabled />;\r\n});\r\n","import { Cell, TablePlugin } from '@apia/table2-controller';\r\nimport { FilterCell } from '../../ListTableController/FilterCell';\r\nimport { FilterRender } from './FilterRender';\r\n\r\nconst FilterRenderer = ({ cell }: { cell: Cell }) => {\r\n return cell instanceof FilterCell ? (\r\n <FilterRender filter={cell.filter!} inline />\r\n ) : (\r\n cell.getState('content')\r\n );\r\n};\r\n\r\nexport class FiltersPlugin implements TablePlugin {\r\n getRenderers?: (() => { cell?: React.FC<{ cell: Cell }> }) | undefined =\r\n () => ({\r\n cell: FilterRenderer,\r\n });\r\n}\r\n","import { getDateFormat, TDateFormat } from '@apia/util';\r\nimport { Filter, TFilterState } from './Filter';\r\nimport dayjs from 'dayjs';\r\nimport { notify } from '@apia/notifications';\r\n\r\nexport type TDateRangeFilterState = TFilterState & { valueTo: string };\r\n\r\nconst dateFormat: TDateFormat = getDateFormat();\r\n\r\nexport class DateRangeFilter extends Filter<TDateRangeFilterState> {\r\n public setValue(): void {\r\n throw new Error('Cannot set value on range filter');\r\n }\r\n\r\n public clear() {\r\n this.state.value = '';\r\n this.state.valueTo = '';\r\n this.emit('change', null);\r\n }\r\n\r\n protected checkDatesOrder(from: any, to: any) {\r\n if (!from || !to) {\r\n return true;\r\n }\r\n\r\n const fromDate = dayjs(from, dateFormat);\r\n const toDate = dayjs(to, dateFormat);\r\n\r\n const isValid = !fromDate.isAfter(toDate);\r\n\r\n if (!isValid) {\r\n notify({ message: 'Fecha desde no puede ser mayor que fecha hasta' });\r\n }\r\n\r\n return isValid;\r\n }\r\n\r\n public hasValue(): boolean {\r\n return !!this.state.value || !!this.state.valueTo;\r\n }\r\n\r\n public getValue(): string {\r\n return `${this.state.value || ''}~${this.state.valueTo || ''}`;\r\n }\r\n\r\n public getValueFrom() {\r\n return this.state.value;\r\n }\r\n\r\n public getValueTo() {\r\n return this.state.valueTo;\r\n }\r\n\r\n public setValueFrom(value: any) {\r\n if (this.checkDatesOrder(value, this.state.valueTo)) {\r\n this.state.value = value;\r\n this.emit('change', null);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public setValueTo(value: any) {\r\n if (this.checkDatesOrder(this.state.value, value)) {\r\n this.state.valueTo = value;\r\n this.emit('change', null);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public validate(): boolean {\r\n return (\r\n !this.state.isRequired || (!!this.state.value && !!this.state.valueTo)\r\n );\r\n }\r\n}\r\n","import { Row, TableController } from '@apia/table2-controller';\r\nimport { TFilter, TLoadStructure } from '../types';\r\nimport { arrayOrArray, EventEmitter } from '@apia/util';\r\nimport { HeaderCell } from './HeaderCell';\r\nimport { FilterCell } from './FilterCell';\r\nimport { Filter } from './Filter';\r\nimport { ListController } from '../ListController';\r\nimport { ListCell } from './ListCell';\r\nimport { FiltersPlugin } from '../components/filters/FiltersPlugin';\r\nimport { DateRangeFilter } from './DateRangeFilter';\r\n\r\nexport class ListTableController extends EventEmitter<{\r\n filterChange: Filter;\r\n filterBlur: Filter;\r\n filterPressEnter: Filter;\r\n}> {\r\n controller: TableController;\r\n\r\n protected columnsMap = new Map<string, HeaderCell>();\r\n protected filtersMap = new Map<string, Filter>();\r\n\r\n constructor(public list: ListController) {\r\n super();\r\n this.controller = new TableController();\r\n this.controller.setPlugins((c) => [...c, new FiltersPlugin()]);\r\n this.init();\r\n }\r\n\r\n protected init() {\r\n this.controller.head.addRow(new Row('header'));\r\n this.controller.head.addRow(\r\n new Row('filters')\r\n .setState('isHidden', true)\r\n .setState('domProperties', { className: 'filtersRow' }),\r\n );\r\n }\r\n\r\n public clear() {\r\n this.controller.body.clear();\r\n }\r\n\r\n public fromGenericTable(table: TLoadStructure) {\r\n /**\r\n * Parse structure\r\n */\r\n this.controller.setState('allowEdition', table.behavior.allowEdition);\r\n this.controller.setState('allowSelection', table.behavior.allowSelection);\r\n this.controller.setState(\r\n 'isSelectionMultiple',\r\n table.behavior.isMultipleSelection,\r\n );\r\n\r\n /**\r\n * Dont know what to do with\r\n *\r\n * hasDynamicStructure\r\n * showAdditionalInfo\r\n */\r\n\r\n /**\r\n * Parse columns and filters\r\n */\r\n const columns = arrayOrArray(table.columns);\r\n const filters = arrayOrArray(table.filters);\r\n\r\n this.columnsMap.clear();\r\n\r\n for (const filter of filters) {\r\n if (this.filtersMap.get(filter.name)) {\r\n this.filtersMap.get(filter.name)?.updateDefinition(filter);\r\n } else {\r\n this.filtersMap.set(filter.name, this.makeFilter(filter));\r\n }\r\n }\r\n for (const key of this.filtersMap.keys()) {\r\n if (!filters.find((c) => c.name === key)) {\r\n this.removeFilter(key);\r\n }\r\n }\r\n\r\n this.controller.head.rows[0].cells.splice(columns.length);\r\n this.controller.head.rows[1].cells.splice(columns.length);\r\n\r\n let i;\r\n for (i = 0; i < columns.length; i++) {\r\n const column = columns[i];\r\n const colName = column.name;\r\n\r\n if (!this.controller.head.rows[0].cells[i]) {\r\n this.controller.head.rows[0].addCell(new HeaderCell(column));\r\n } else {\r\n (this.controller.head.rows[0].cells[i] as HeaderCell).updateDefinition(\r\n column,\r\n );\r\n }\r\n\r\n const filter = filters.find((c) => c.columnName === colName);\r\n if (this.controller.head.rows[1].cells[i]) {\r\n (this.controller.head.rows[1].cells[i] as FilterCell).setState(\r\n 'colName',\r\n colName,\r\n );\r\n (this.controller.head.rows[1].cells[i] as FilterCell).filter =\r\n this.filtersMap.get(\r\n filter?.name || 'nohayfiltrodefinidiparaestacolumna',\r\n );\r\n } else {\r\n this.controller.head.rows[1].addCell(\r\n new FilterCell(\r\n colName,\r\n this.filtersMap.get(\r\n filter?.name || 'nohayfiltrodefinidiparaestacolumna',\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n this.columnsMap.set(\r\n colName,\r\n this.controller.head.rows[0].cells[i] as HeaderCell,\r\n );\r\n }\r\n\r\n /**\r\n * Process rows\r\n */\r\n const rows = arrayOrArray(table.rows);\r\n this.controller.body.rows.splice(rows.length);\r\n for (let i = 0; i < rows.length; i++) {\r\n if (!this.controller.body.rows[i]) {\r\n this.controller.body.addRow(new Row(rows[i].id));\r\n } else {\r\n this.controller.body.rows[i].setState('id', rows[i].id);\r\n }\r\n\r\n this.controller.body.rows[i].cells.splice(columns.length);\r\n for (let j = 0; j < columns.length; j++) {\r\n if (this.controller.body.rows[i].cells[j]) {\r\n // Hay celda en i,j\r\n (this.controller.body.rows[i].cells[j] as ListCell).updateDefinition(\r\n arrayOrArray(rows[i].cells)[j],\r\n );\r\n } else {\r\n // No hay celda en i,j\r\n this.controller.body.rows[i].addCell(\r\n new ListCell(columns[j].name, arrayOrArray(rows[i].cells)[j]),\r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n public getFilter(filterName: string) {\r\n return this.filtersMap.get(filterName);\r\n }\r\n\r\n public getFilters() {\r\n return [...this.filtersMap.values()];\r\n }\r\n\r\n private listeners: Map<string, (() => unknown)[]> = new Map();\r\n\r\n private removeFilter(filterName: string) {\r\n this.filtersMap.delete(filterName);\r\n this.listeners.get(filterName)?.forEach((listener) => listener());\r\n this.listeners.delete(filterName);\r\n }\r\n\r\n private makeFilter(filter: TFilter) {\r\n let inst: Filter;\r\n\r\n if (filter.type === 'DATERANGE') inst = new DateRangeFilter(filter);\r\n else inst = new Filter(filter);\r\n const listenBlur = () => this.emit('filterBlur', inst);\r\n const listenChange = () => this.emit('filterChange', inst);\r\n const listenEnter = () => this.emit('filterPressEnter', inst);\r\n inst.on('blur', listenBlur);\r\n inst.on('change', listenChange);\r\n inst.on('enter', listenEnter);\r\n this.listeners.set(inst.getState('name'), [\r\n listenBlur,\r\n listenChange,\r\n listenEnter,\r\n ]);\r\n return inst;\r\n }\r\n}\r\n","import { TLoadStructure, TQueryEnvironment } from './types';\r\nimport { ApiaApi, makeApiaUrl } from '@apia/api';\r\nimport { ListTableController } from './ListTableController';\r\nimport { getLabel, Url } from '@apia/util';\r\nimport { makeObservable, observable, runInAction } from 'mobx';\r\nimport { notify } from '@apia/notifications';\r\n\r\nexport type ListState = {\r\n areAllFiltersApplied: boolean;\r\n navigation: {\r\n pagesCount: number;\r\n registers: number;\r\n currentPage: number;\r\n };\r\n fncId: number;\r\n isFavorite: boolean;\r\n isMaximized: boolean;\r\n};\r\n\r\nexport type TListRefreshResponse = {\r\n list: ListState & TLoadStructure;\r\n};\r\n\r\nexport type TListControllerConfiguration = {\r\n ajaxUrl?: string;\r\n refreshOnStartup?: boolean;\r\n};\r\n\r\nexport class ListController {\r\n public readonly table: ListTableController;\r\n public readonly state: ListState = {\r\n areAllFiltersApplied: true,\r\n navigation: { currentPage: 0, pagesCount: 0, registers: 0 },\r\n fncId: -1,\r\n isFavorite: false,\r\n isMaximized: false,\r\n };\r\n\r\n constructor(\r\n protected env: TQueryEnvironment,\r\n protected configuration?: TListControllerConfiguration,\r\n ) {\r\n this.table = new ListTableController(this);\r\n\r\n this.initializeFavoriteAction();\r\n if (configuration?.refreshOnStartup !== false) {\r\n this.refresh();\r\n }\r\n\r\n this.table.on('filterChange', (filter) => {\r\n this.state.areAllFiltersApplied = false;\r\n\r\n if (filter.getState('runAutomatically')) {\r\n this.throttleRefresh();\r\n }\r\n });\r\n\r\n this.table.on('filterPressEnter', () => {\r\n this.refresh();\r\n });\r\n\r\n this.table.on('filterBlur', () => {\r\n console.log('blur');\r\n });\r\n\r\n makeObservable(this, { state: observable });\r\n }\r\n\r\n protected refreshTimeout = -1;\r\n protected throttleRefresh() {\r\n clearTimeout(this.refreshTimeout);\r\n this.refreshTimeout = setTimeout(() => {\r\n this.refresh();\r\n }, 100) as any;\r\n }\r\n\r\n protected getAjaxParameters(): Record<string, unknown> {\r\n return { ajaxUrl: this.env.window.URL_REQUEST_AJAX };\r\n }\r\n\r\n async clearFilters() {\r\n runInAction(() => {\r\n this.table.getFilters().forEach((c) => c.clear());\r\n this.throttleRefresh();\r\n });\r\n }\r\n\r\n async page(pageNumber: number) {\r\n if (this.validateFilters()) {\r\n const result = await ApiaApi.post<TListRefreshResponse>(\r\n makeApiaUrl({\r\n action: 'refresh',\r\n page: pageNumber,\r\n ...this.getAjaxParameters(),\r\n }),\r\n );\r\n\r\n if (result?.data?.list) {\r\n this.processRefreshResult(result.data);\r\n }\r\n }\r\n }\r\n\r\n protected validateFilters() {\r\n const invalidFilters = this.table.getFilters().filter((c) => !c.validate());\r\n if (invalidFilters.length) {\r\n this.table.clear();\r\n notify({\r\n title: getLabel('titWarning').text,\r\n message: getLabel('msgQryFilterRequiredList', {\r\n text: {\r\n TOK1: invalidFilters.map((c) => c.getState('title')).join(', '),\r\n },\r\n }).text,\r\n });\r\n }\r\n return invalidFilters.length === 0;\r\n }\r\n\r\n async refresh() {\r\n if (this.validateFilters()) {\r\n this.state.areAllFiltersApplied = true;\r\n\r\n const result = await ApiaApi.post<TListRefreshResponse>(\r\n makeApiaUrl({\r\n action: 'refresh',\r\n ...this.getAjaxParameters(),\r\n }),\r\n {\r\n postData: {\r\n ...this.table.getFilters().reduce(\r\n (acc, cur) => ({\r\n ...acc,\r\n [`filter_${cur.getState('name')}`]: cur.getValue(),\r\n }),\r\n {},\r\n ),\r\n },\r\n postDataTreatement: 'stringify',\r\n stringifyOptions: { arrayFormat: 'repeat' },\r\n },\r\n );\r\n\r\n if (result?.data?.list) {\r\n this.processRefreshResult(result.data);\r\n }\r\n }\r\n }\r\n\r\n protected async initializeFavoriteAction() {\r\n this.state.fncId = Number.parseInt(\r\n String(new Url(window.location.href).getParameter('favFncId')),\r\n );\r\n\r\n const res = await ApiaApi.post<{\r\n isFavorite: boolean;\r\n }>(\r\n makeApiaUrl({ action: 'loadFavoriteState', favFncId: this.state.fncId }),\r\n );\r\n\r\n if (res?.data) {\r\n this.state.isFavorite = res.data.isFavorite;\r\n }\r\n }\r\n\r\n public async toggleFavoriteFunctionality() {\r\n const res = await ApiaApi.post<{\r\n isFavorite: boolean;\r\n }>(makeApiaUrl({ action: 'toggleFavorite', favFncId: this.state.fncId }));\r\n\r\n if (res?.data) {\r\n this.state.isFavorite = res.data.isFavorite;\r\n }\r\n }\r\n\r\n protected processRefreshResult(result: TListRefreshResponse) {\r\n this.table.fromGenericTable(result.list);\r\n this.state.navigation = result.list.navigation;\r\n }\r\n}\r\n","import { ListController, TListControllerConfiguration } from './ListController';\r\nimport { TQueryEnvironment } from './types';\r\n\r\nexport class ModalListController extends ListController {\r\n private tabId = Date.now();\r\n\r\n public constructor(\r\n env: TQueryEnvironment,\r\n configuration: TListControllerConfiguration,\r\n ) {\r\n super(env, { ...configuration, refreshOnStartup: false });\r\n }\r\n\r\n protected getAjaxParameters(): Record<string, unknown> {\r\n return { ajaxUrl: this.configuration!.ajaxUrl, tabId: this.tabId };\r\n }\r\n\r\n protected initializeFavoriteAction(): Promise<void> {\r\n return Promise.resolve();\r\n }\r\n\r\n public toggleFavoriteFunctionality(): Promise<void> {\r\n return Promise.resolve();\r\n }\r\n}\r\n"],"names":["PG","__publicField","DateRangeFilter","i"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apia/query",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.46",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"author": "Alexis Leite <alexisleite@live.com>",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -28,13 +28,13 @@
|
|
|
28
28
|
"registry": "https://registry.npmjs.org/"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@apia/api": "^4.0.
|
|
32
|
-
"@apia/components": "^4.0.
|
|
33
|
-
"@apia/table2-controller": "^4.0.
|
|
34
|
-
"@apia/theme": "^4.0.
|
|
35
|
-
"@apia/util": "^4.0.
|
|
31
|
+
"@apia/api": "^4.0.46",
|
|
32
|
+
"@apia/components": "^4.0.46",
|
|
33
|
+
"@apia/table2-controller": "^4.0.46",
|
|
34
|
+
"@apia/theme": "^4.0.46",
|
|
35
|
+
"@apia/util": "^4.0.46",
|
|
36
36
|
"dayjs": "^1.11.13",
|
|
37
37
|
"mobx": "^6.13.7"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "4e62bf323a961a7725868bf069566daf21b084f8"
|
|
40
40
|
}
|