@apia/api 4.0.31 → 4.0.33
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 +32 -20
- package/dist/index.js +694 -379
- package/dist/index.js.map +1 -1
- package/package.json +9 -9
package/dist/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from '@apia/theme/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import React__default, { createContext, useState, useCallback, useEffect, useId, useRef, useMemo } from 'react';
|
|
4
|
-
import { Box, Label, spacing, getVariant, Input as Input$1, Select as Select$1 } from '@apia/theme';
|
|
4
|
+
import { Box, Label, spacing, getVariant, Input as Input$1, Select as Select$1, Spinner } from '@apia/theme';
|
|
5
5
|
import { debugDispatcher, parseXmlAsync, arrayOrArray, EventEmitter, useMount, encrypt, noNaN, getIndex, getLabel, StatefulEmitter, focus, focusSelector, useLatest, useIntermediateValue, formatMessage, getDateFormat, Mutex, uniqueId as uniqueId$1 } from '@apia/util';
|
|
6
6
|
import { notify, getNotificationMessageObj, dispatchNotifications } from '@apia/notifications';
|
|
7
7
|
import { classToValidate, Checkbox, FileInput, classToValidationFunction, Input, Radio, Select, Textarea, useFormContext, validationsStore, hasSucceedFormValidation, Form } from '@apia/validations';
|
|
8
|
-
import { Accordion, AccordionItem, useModal, LabelBox, SimpleButton, ApiaUtil, Modal, ProgressBar, DateInput } from '@apia/components';
|
|
8
|
+
import { Accordion, AccordionItem, useModal, LabelBox, SimpleButton, ApiaUtil, Modal, ProgressBar, DateInput, AutocompleteController, Autocomplete, IconButton } from '@apia/components';
|
|
9
9
|
import axios, { AxiosError } from 'axios';
|
|
10
10
|
import merge from 'lodash-es/merge';
|
|
11
11
|
import QueryString from 'qs';
|
|
12
12
|
import { session } from '@apia/session';
|
|
13
13
|
import uniqueId from 'lodash-es/uniqueId';
|
|
14
|
-
import { ResponsiveTableContext, ResponsiveTable, Pagination, Sort, Responsive, Additional, responsiveTableStore, useResponsiveTableContext, getResponsiveTableContext, TableLoadingContext, defaultLabels, makeController2, responsiveTableActions, TableContextReproducer, Grouped } from '@apia/table';
|
|
14
|
+
import { ResponsiveTableContext, ResponsiveTable, Pagination, Sort, Responsive, Additional, responsiveTableStore, useResponsiveTableContext, getResponsiveTableContext, TableLoadingContext, defaultLabels, makeController2, responsiveTableActions, TableContextReproducer, Grouped, makeAsyncRenderer } from '@apia/table';
|
|
15
15
|
import { makeObservable, observable, reaction, toJS, action, computed } from 'mobx';
|
|
16
16
|
import { observer } from 'mobx-react-lite';
|
|
17
17
|
import dayjs from 'dayjs';
|
|
@@ -479,7 +479,7 @@ function makeApiaUrl(props) {
|
|
|
479
479
|
if (props?.queryString && props.queryString.includes("timestamp=") || queryString?.includes("timestamp=")) {
|
|
480
480
|
timestamp = "";
|
|
481
481
|
}
|
|
482
|
-
const contextWord = CONTEXT.
|
|
482
|
+
const contextWord = CONTEXT.replace(/^\/?(.+?)\/?$/, "$1");
|
|
483
483
|
actualAjaxUrl = actualAjaxUrl.match(
|
|
484
484
|
new RegExp(`^(?:(?:/?${contextWord})?/)?(.+)$`)
|
|
485
485
|
)?.[1];
|
|
@@ -3237,149 +3237,143 @@ const ApiaApiHandlerNonMemoized = () => {
|
|
|
3237
3237
|
const ApiaApiHandler = React.memo(ApiaApiHandlerNonMemoized);
|
|
3238
3238
|
|
|
3239
3239
|
const units = ["B", "KB", "MB", "GB"];
|
|
3240
|
-
const RangeFilterRenderer = observer(
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
lastEmittedHigh.current = state.valueTo || "";
|
|
3249
|
-
}
|
|
3250
|
-
const emitLow = (currentValue) => {
|
|
3251
|
-
const numberValue = currentValue ?? "";
|
|
3252
|
-
if (lastEmittedLow.current === numberValue && lastEmittedMultiplier.current === multiplier.current) {
|
|
3253
|
-
return;
|
|
3254
|
-
}
|
|
3255
|
-
lastEmittedLow.current = numberValue;
|
|
3256
|
-
lastEmittedMultiplier.current = multiplier.current;
|
|
3257
|
-
const emitValue = numberValue;
|
|
3258
|
-
state.value = emitValue;
|
|
3259
|
-
state.multiplier = multiplier.current;
|
|
3260
|
-
};
|
|
3261
|
-
const emitHigh = (currentValue) => {
|
|
3262
|
-
const numberValue = currentValue ?? "";
|
|
3263
|
-
if (lastEmittedHigh.current === numberValue && lastEmittedMultiplier.current === multiplier.current) {
|
|
3264
|
-
return;
|
|
3265
|
-
}
|
|
3266
|
-
lastEmittedHigh.current = numberValue;
|
|
3267
|
-
lastEmittedMultiplier.current = multiplier.current;
|
|
3268
|
-
const emitValue = numberValue;
|
|
3269
|
-
state.valueTo = emitValue;
|
|
3270
|
-
state.multiplier = multiplier.current;
|
|
3271
|
-
};
|
|
3272
|
-
const [lowValue, setLowValue] = useIntermediateValue(state.value);
|
|
3273
|
-
const [highValue, setHighValue] = useIntermediateValue(state.valueTo);
|
|
3274
|
-
const [unit, setUnit] = useIntermediateValue(state.multiplier);
|
|
3275
|
-
return /* @__PURE__ */ jsxs(
|
|
3276
|
-
Box,
|
|
3277
|
-
{
|
|
3278
|
-
className: `ApiaFilter__Range`,
|
|
3279
|
-
...getVariant("layout.common.components.filters.rangeFilter"),
|
|
3280
|
-
children: [
|
|
3281
|
-
/* @__PURE__ */ jsx(Box, { className: "ApiaFilter__Range__Low", children: /* @__PURE__ */ jsx(
|
|
3282
|
-
Input$1,
|
|
3283
|
-
{
|
|
3284
|
-
disabled: state.readonly,
|
|
3285
|
-
onChange: ({ target: { value: currentValue } }) => {
|
|
3286
|
-
setLowValue(currentValue);
|
|
3287
|
-
emitLow(currentValue);
|
|
3288
|
-
},
|
|
3289
|
-
onBlur: ({ target: { value: currentValue } }) => {
|
|
3290
|
-
emitLow(currentValue);
|
|
3291
|
-
},
|
|
3292
|
-
onKeyDown: ({ code, target }) => {
|
|
3293
|
-
if (code === "Enter") {
|
|
3294
|
-
emitLow(target.value);
|
|
3295
|
-
}
|
|
3296
|
-
},
|
|
3297
|
-
value: lowValue
|
|
3298
|
-
}
|
|
3299
|
-
) }),
|
|
3300
|
-
" - ",
|
|
3301
|
-
/* @__PURE__ */ jsx(Box, { className: "ApiaFilter__Range__High", children: /* @__PURE__ */ jsx(
|
|
3302
|
-
Input$1,
|
|
3303
|
-
{
|
|
3304
|
-
disabled: state.readonly,
|
|
3305
|
-
onChange: ({ target: { value: currentValue } }) => {
|
|
3306
|
-
setHighValue(currentValue);
|
|
3307
|
-
emitHigh(currentValue);
|
|
3308
|
-
},
|
|
3309
|
-
onBlur: ({ target: { value: currentValue } }) => {
|
|
3310
|
-
emitHigh(currentValue);
|
|
3311
|
-
},
|
|
3312
|
-
onKeyDown: ({ code, target }) => {
|
|
3313
|
-
if (code === "Enter") {
|
|
3314
|
-
emitHigh(target.value);
|
|
3315
|
-
}
|
|
3316
|
-
},
|
|
3317
|
-
value: highValue
|
|
3318
|
-
}
|
|
3319
|
-
) }),
|
|
3320
|
-
filter.isSize && /* @__PURE__ */ jsx(
|
|
3321
|
-
Select$1,
|
|
3322
|
-
{
|
|
3323
|
-
disabled: state.readonly,
|
|
3324
|
-
className: "ApiaFilter__Range__UnitSelector",
|
|
3325
|
-
onChange: (ev) => {
|
|
3326
|
-
const unit2 = ev.target.value;
|
|
3327
|
-
const index = units.indexOf(unit2);
|
|
3328
|
-
if (index !== -1) {
|
|
3329
|
-
multiplier.current = 2 ** (index * 10);
|
|
3330
|
-
setUnit(multiplier.current);
|
|
3331
|
-
emitLow(lastEmittedLow.current ?? "");
|
|
3332
|
-
}
|
|
3333
|
-
},
|
|
3334
|
-
value: units[Math.log2(unit || 1) / 10],
|
|
3335
|
-
children: units.map((c) => /* @__PURE__ */ jsx("option", { value: c, children: c }, c))
|
|
3336
|
-
}
|
|
3337
|
-
)
|
|
3338
|
-
]
|
|
3339
|
-
}
|
|
3340
|
-
);
|
|
3240
|
+
const RangeFilterRenderer = observer(({ state }) => {
|
|
3241
|
+
const multiplier = useRef(1);
|
|
3242
|
+
const lastEmittedHigh = useRef(null);
|
|
3243
|
+
const lastEmittedLow = useRef(null);
|
|
3244
|
+
const lastEmittedMultiplier = useRef(1);
|
|
3245
|
+
if (lastEmittedLow.current !== state.value) {
|
|
3246
|
+
lastEmittedLow.current = state.value;
|
|
3247
|
+
lastEmittedHigh.current = state.valueTo || "";
|
|
3341
3248
|
}
|
|
3342
|
-
)
|
|
3249
|
+
const emitLow = (currentValue) => {
|
|
3250
|
+
const numberValue = currentValue ?? "";
|
|
3251
|
+
if (lastEmittedLow.current === numberValue && lastEmittedMultiplier.current === multiplier.current) {
|
|
3252
|
+
return;
|
|
3253
|
+
}
|
|
3254
|
+
lastEmittedLow.current = numberValue;
|
|
3255
|
+
lastEmittedMultiplier.current = multiplier.current;
|
|
3256
|
+
const emitValue = numberValue;
|
|
3257
|
+
state.value = emitValue;
|
|
3258
|
+
state.multiplier = multiplier.current;
|
|
3259
|
+
};
|
|
3260
|
+
const emitHigh = (currentValue) => {
|
|
3261
|
+
const numberValue = currentValue ?? "";
|
|
3262
|
+
if (lastEmittedHigh.current === numberValue && lastEmittedMultiplier.current === multiplier.current) {
|
|
3263
|
+
return;
|
|
3264
|
+
}
|
|
3265
|
+
lastEmittedHigh.current = numberValue;
|
|
3266
|
+
lastEmittedMultiplier.current = multiplier.current;
|
|
3267
|
+
const emitValue = numberValue;
|
|
3268
|
+
state.valueTo = emitValue;
|
|
3269
|
+
state.multiplier = multiplier.current;
|
|
3270
|
+
};
|
|
3271
|
+
const [lowValue, setLowValue] = useIntermediateValue(state.value);
|
|
3272
|
+
const [highValue, setHighValue] = useIntermediateValue(state.valueTo);
|
|
3273
|
+
const [unit, setUnit] = useIntermediateValue(state.multiplier);
|
|
3274
|
+
return /* @__PURE__ */ jsxs(
|
|
3275
|
+
Box,
|
|
3276
|
+
{
|
|
3277
|
+
className: `ApiaFilter__Range`,
|
|
3278
|
+
...getVariant("layout.common.components.filters.rangeFilter"),
|
|
3279
|
+
children: [
|
|
3280
|
+
/* @__PURE__ */ jsx(Box, { className: "ApiaFilter__Range__Low", children: /* @__PURE__ */ jsx(
|
|
3281
|
+
Input$1,
|
|
3282
|
+
{
|
|
3283
|
+
disabled: state.readonly,
|
|
3284
|
+
onChange: ({ target: { value: currentValue } }) => {
|
|
3285
|
+
setLowValue(currentValue);
|
|
3286
|
+
emitLow(currentValue);
|
|
3287
|
+
},
|
|
3288
|
+
onBlur: ({ target: { value: currentValue } }) => {
|
|
3289
|
+
emitLow(currentValue);
|
|
3290
|
+
},
|
|
3291
|
+
onKeyDown: ({ code, target }) => {
|
|
3292
|
+
if (code === "Enter") {
|
|
3293
|
+
emitLow(target.value);
|
|
3294
|
+
}
|
|
3295
|
+
},
|
|
3296
|
+
value: lowValue
|
|
3297
|
+
}
|
|
3298
|
+
) }),
|
|
3299
|
+
" - ",
|
|
3300
|
+
/* @__PURE__ */ jsx(Box, { className: "ApiaFilter__Range__High", children: /* @__PURE__ */ jsx(
|
|
3301
|
+
Input$1,
|
|
3302
|
+
{
|
|
3303
|
+
disabled: state.readonly,
|
|
3304
|
+
onChange: ({ target: { value: currentValue } }) => {
|
|
3305
|
+
setHighValue(currentValue);
|
|
3306
|
+
emitHigh(currentValue);
|
|
3307
|
+
},
|
|
3308
|
+
onBlur: ({ target: { value: currentValue } }) => {
|
|
3309
|
+
emitHigh(currentValue);
|
|
3310
|
+
},
|
|
3311
|
+
onKeyDown: ({ code, target }) => {
|
|
3312
|
+
if (code === "Enter") {
|
|
3313
|
+
emitHigh(target.value);
|
|
3314
|
+
}
|
|
3315
|
+
},
|
|
3316
|
+
value: highValue
|
|
3317
|
+
}
|
|
3318
|
+
) }),
|
|
3319
|
+
state.isSize && /* @__PURE__ */ jsx(
|
|
3320
|
+
Select$1,
|
|
3321
|
+
{
|
|
3322
|
+
disabled: state.readonly,
|
|
3323
|
+
className: "ApiaFilter__Range__UnitSelector",
|
|
3324
|
+
onChange: (ev) => {
|
|
3325
|
+
const unit2 = ev.target.value;
|
|
3326
|
+
const index = units.indexOf(unit2);
|
|
3327
|
+
if (index !== -1) {
|
|
3328
|
+
multiplier.current = 2 ** (index * 10);
|
|
3329
|
+
setUnit(multiplier.current);
|
|
3330
|
+
emitLow(lastEmittedLow.current ?? "");
|
|
3331
|
+
}
|
|
3332
|
+
},
|
|
3333
|
+
value: units[Math.log2(unit || 1) / 10],
|
|
3334
|
+
children: units.map((c) => /* @__PURE__ */ jsx("option", { value: c, children: c }, c))
|
|
3335
|
+
}
|
|
3336
|
+
)
|
|
3337
|
+
]
|
|
3338
|
+
}
|
|
3339
|
+
);
|
|
3340
|
+
});
|
|
3343
3341
|
|
|
3344
|
-
const SelectFilterRenderer = observer(
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
}
|
|
3358
|
-
);
|
|
3342
|
+
const SelectFilterRenderer = observer(({ state }) => {
|
|
3343
|
+
return /* @__PURE__ */ jsx(
|
|
3344
|
+
Select$1,
|
|
3345
|
+
{
|
|
3346
|
+
disabled: state.readonly,
|
|
3347
|
+
value: state.value,
|
|
3348
|
+
onChange: (ev) => {
|
|
3349
|
+
state.value = ev.target.value;
|
|
3350
|
+
},
|
|
3351
|
+
children: arrayOrArray(state.options).map((c) => /* @__PURE__ */ jsx("option", { value: c.value, children: c.label }, c.value))
|
|
3352
|
+
}
|
|
3353
|
+
);
|
|
3354
|
+
});
|
|
3359
3355
|
|
|
3360
|
-
const InputFilterRenderer = observer(
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
|
|
3367
|
-
|
|
3368
|
-
|
|
3369
|
-
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
onFilterPressEnter?.(filter);
|
|
3374
|
-
}
|
|
3375
|
-
},
|
|
3376
|
-
onBlur: () => {
|
|
3377
|
-
onFilterBlur?.(filter);
|
|
3356
|
+
const InputFilterRenderer = observer(({ state }) => {
|
|
3357
|
+
const { onFilterBlur, onFilterPressEnter } = useResponsiveTableContext();
|
|
3358
|
+
return /* @__PURE__ */ jsx(
|
|
3359
|
+
Input$1,
|
|
3360
|
+
{
|
|
3361
|
+
disabled: state.readonly,
|
|
3362
|
+
value: state.value,
|
|
3363
|
+
onChange: (ev) => {
|
|
3364
|
+
state.value = ev.target.value;
|
|
3365
|
+
},
|
|
3366
|
+
onKeyDown: (ev) => {
|
|
3367
|
+
if (ev.code === "Enter") {
|
|
3368
|
+
onFilterPressEnter?.(state);
|
|
3378
3369
|
}
|
|
3370
|
+
},
|
|
3371
|
+
onBlur: () => {
|
|
3372
|
+
onFilterBlur?.(state);
|
|
3379
3373
|
}
|
|
3380
|
-
|
|
3381
|
-
|
|
3382
|
-
);
|
|
3374
|
+
}
|
|
3375
|
+
);
|
|
3376
|
+
});
|
|
3383
3377
|
|
|
3384
3378
|
const dateFormat = getDateFormat();
|
|
3385
3379
|
function controlDatesOrder(first, last) {
|
|
@@ -3390,56 +3384,155 @@ function controlDatesOrder(first, last) {
|
|
|
3390
3384
|
}
|
|
3391
3385
|
return true;
|
|
3392
3386
|
}
|
|
3393
|
-
const DateFilterRenderer = observer(
|
|
3394
|
-
|
|
3395
|
-
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
|
|
3399
|
-
|
|
3387
|
+
const DateFilterRenderer = observer(({ state }) => {
|
|
3388
|
+
const { onFilterBlur, onFilterChange } = useResponsiveTableContext();
|
|
3389
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3390
|
+
/* @__PURE__ */ jsx(Box, { as: "span", children: state?.filterToId ? formatMessage(window.LBL_DATE_FILTER_FROM_TXT, {
|
|
3391
|
+
TOK1: state.title ?? ""
|
|
3392
|
+
}) : state.title }),
|
|
3393
|
+
/* @__PURE__ */ jsx(
|
|
3394
|
+
DateInput,
|
|
3395
|
+
{
|
|
3396
|
+
disabled: state.readonly,
|
|
3397
|
+
value: state.value,
|
|
3398
|
+
onChange: (date) => {
|
|
3399
|
+
state.value = date;
|
|
3400
|
+
onFilterChange?.(state);
|
|
3401
|
+
},
|
|
3402
|
+
onBlur: () => {
|
|
3403
|
+
onFilterBlur?.(state);
|
|
3404
|
+
}
|
|
3405
|
+
}
|
|
3406
|
+
),
|
|
3407
|
+
(state?.isAdditional || state.group) && state?.filterToId && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3408
|
+
/* @__PURE__ */ jsx(Box, { as: "span", children: formatMessage(window.LBL_DATE_FILTER_TO_TXT, {
|
|
3409
|
+
TOK1: state.title ?? ""
|
|
3410
|
+
}) }),
|
|
3400
3411
|
/* @__PURE__ */ jsx(
|
|
3401
3412
|
DateInput,
|
|
3402
3413
|
{
|
|
3403
3414
|
disabled: state.readonly,
|
|
3404
|
-
value: state.
|
|
3415
|
+
value: state.filterToValue,
|
|
3405
3416
|
onChange: (date) => {
|
|
3406
|
-
state.value
|
|
3407
|
-
|
|
3417
|
+
const result = controlDatesOrder(state.value, date);
|
|
3418
|
+
if (result) {
|
|
3419
|
+
state.filterToValue = date;
|
|
3420
|
+
onFilterChange?.(state);
|
|
3421
|
+
} else {
|
|
3422
|
+
state.filterToValue = void 0;
|
|
3423
|
+
ApiaUtil.instance.notifications.notify({
|
|
3424
|
+
message: window.MSG_FEC_FIN_MAY_FEC_INI,
|
|
3425
|
+
type: "warning"
|
|
3426
|
+
});
|
|
3427
|
+
}
|
|
3408
3428
|
},
|
|
3409
3429
|
onBlur: () => {
|
|
3410
|
-
onFilterBlur?.(
|
|
3430
|
+
onFilterBlur?.(state);
|
|
3411
3431
|
}
|
|
3412
3432
|
}
|
|
3413
|
-
)
|
|
3414
|
-
|
|
3415
|
-
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3419
|
-
|
|
3420
|
-
|
|
3421
|
-
|
|
3422
|
-
|
|
3423
|
-
|
|
3424
|
-
|
|
3425
|
-
|
|
3426
|
-
|
|
3427
|
-
|
|
3428
|
-
|
|
3429
|
-
|
|
3430
|
-
|
|
3431
|
-
|
|
3432
|
-
|
|
3433
|
-
|
|
3434
|
-
|
|
3435
|
-
|
|
3436
|
-
|
|
3437
|
-
|
|
3433
|
+
)
|
|
3434
|
+
] })
|
|
3435
|
+
] });
|
|
3436
|
+
});
|
|
3437
|
+
|
|
3438
|
+
async function getOptions(search) {
|
|
3439
|
+
if (!search)
|
|
3440
|
+
return [];
|
|
3441
|
+
const res = await ApiaApi.get(
|
|
3442
|
+
makeApiaUrl({
|
|
3443
|
+
ajaxUrl: "apia/AutoCompleteAction.run",
|
|
3444
|
+
action: "search",
|
|
3445
|
+
object: "doc_free_metadata",
|
|
3446
|
+
filter: "doc_free_metadata_title",
|
|
3447
|
+
id: "doc_free_metadata_title",
|
|
3448
|
+
show: "doc_free_metadata_title",
|
|
3449
|
+
likeSearch: true,
|
|
3450
|
+
allowLive: false,
|
|
3451
|
+
includeEnvId: true,
|
|
3452
|
+
distinctId: true,
|
|
3453
|
+
value: search
|
|
3454
|
+
})
|
|
3455
|
+
);
|
|
3456
|
+
const rows = arrayOrArray(res?.data?.row);
|
|
3457
|
+
return rows.map(({ content, searchId }) => ({
|
|
3458
|
+
label: content,
|
|
3459
|
+
value: searchId
|
|
3460
|
+
}));
|
|
3461
|
+
}
|
|
3462
|
+
const FreeLabelFilterRenderer = observer(
|
|
3463
|
+
({ state }) => {
|
|
3464
|
+
const { onFilterChange } = useResponsiveTableContext();
|
|
3465
|
+
const controller = useMemo(
|
|
3466
|
+
() => new AutocompleteController({
|
|
3467
|
+
value: "",
|
|
3468
|
+
icon: "LetterAutocomplete",
|
|
3469
|
+
options: [],
|
|
3470
|
+
onSearch: async (search, _acController) => {
|
|
3471
|
+
state.value = "";
|
|
3472
|
+
return getOptions(search);
|
|
3473
|
+
},
|
|
3474
|
+
onChange(str) {
|
|
3475
|
+
state.value = str;
|
|
3476
|
+
}
|
|
3477
|
+
}),
|
|
3478
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3479
|
+
[]
|
|
3480
|
+
);
|
|
3481
|
+
useMount(() => {
|
|
3482
|
+
controller.state.options = [];
|
|
3483
|
+
});
|
|
3484
|
+
return /* @__PURE__ */ jsxs(
|
|
3485
|
+
Box,
|
|
3486
|
+
{
|
|
3487
|
+
sx: {
|
|
3488
|
+
display: "flex",
|
|
3489
|
+
flexDirection: "row",
|
|
3490
|
+
gap: 2,
|
|
3491
|
+
width: "100%",
|
|
3492
|
+
alignItems: "end",
|
|
3493
|
+
".autocomplete__downArrow": {
|
|
3494
|
+
height: "46px!important",
|
|
3495
|
+
width: "23px!important",
|
|
3496
|
+
svg: {
|
|
3497
|
+
height: "100%",
|
|
3498
|
+
width: "100%"
|
|
3438
3499
|
}
|
|
3439
3500
|
}
|
|
3440
|
-
|
|
3441
|
-
|
|
3442
|
-
|
|
3501
|
+
},
|
|
3502
|
+
children: [
|
|
3503
|
+
/* @__PURE__ */ jsxs(Box, { sx: { width: "50%" }, children: [
|
|
3504
|
+
getLabel("lblTit").text,
|
|
3505
|
+
/* @__PURE__ */ jsx(Autocomplete, { handler: controller })
|
|
3506
|
+
] }),
|
|
3507
|
+
/* @__PURE__ */ jsxs(Box, { sx: { width: "50%" }, children: [
|
|
3508
|
+
getLabel("lblValue").text,
|
|
3509
|
+
/* @__PURE__ */ jsx(
|
|
3510
|
+
Input$1,
|
|
3511
|
+
{
|
|
3512
|
+
id: state.filterToId,
|
|
3513
|
+
disabled: state.readonly,
|
|
3514
|
+
value: state.filterToValue,
|
|
3515
|
+
onChange: (ev) => {
|
|
3516
|
+
state.filterToValue = ev.target.value;
|
|
3517
|
+
onFilterChange?.(state);
|
|
3518
|
+
}
|
|
3519
|
+
}
|
|
3520
|
+
)
|
|
3521
|
+
] }),
|
|
3522
|
+
/* @__PURE__ */ jsx(Box, { sx: { height: "50px", width: "50px" }, children: state?.removeFilter && /* @__PURE__ */ jsx(
|
|
3523
|
+
IconButton,
|
|
3524
|
+
{
|
|
3525
|
+
sx: { height: "50px", width: "50px" },
|
|
3526
|
+
icon: "Trash",
|
|
3527
|
+
onClick: () => {
|
|
3528
|
+
if (state?.removeFilter)
|
|
3529
|
+
state.removeFilter();
|
|
3530
|
+
}
|
|
3531
|
+
}
|
|
3532
|
+
) })
|
|
3533
|
+
]
|
|
3534
|
+
}
|
|
3535
|
+
);
|
|
3443
3536
|
}
|
|
3444
3537
|
);
|
|
3445
3538
|
|
|
@@ -3456,19 +3549,22 @@ class Filter {
|
|
|
3456
3549
|
runAutomatically: false,
|
|
3457
3550
|
value: ""
|
|
3458
3551
|
});
|
|
3459
|
-
__publicField$5(this, "Component", observer((
|
|
3552
|
+
__publicField$5(this, "Component", observer(() => {
|
|
3460
3553
|
const { name } = useResponsiveTableContext();
|
|
3461
3554
|
this.tableName = name;
|
|
3462
3555
|
if (this.filterState.isRange) {
|
|
3463
|
-
return this.getRangeRenderer(
|
|
3556
|
+
return this.getRangeRenderer();
|
|
3464
3557
|
}
|
|
3465
3558
|
if (arrayOrArray(this.filterState.options).length > 0) {
|
|
3466
|
-
return this.getSelectRenderer(
|
|
3559
|
+
return this.getSelectRenderer();
|
|
3467
3560
|
}
|
|
3468
3561
|
if (this.filterState.type === "D" || this.filterState.type === "date") {
|
|
3469
|
-
return this.getDateRenderer(
|
|
3562
|
+
return this.getDateRenderer();
|
|
3470
3563
|
}
|
|
3471
|
-
|
|
3564
|
+
if (this.filterState.type === "double") {
|
|
3565
|
+
return this.getDoubleRenderer();
|
|
3566
|
+
}
|
|
3567
|
+
return this.getInputRenderer();
|
|
3472
3568
|
}));
|
|
3473
3569
|
Object.assign(this.filterState, properties);
|
|
3474
3570
|
makeObservable(this, { filterState: observable });
|
|
@@ -3484,7 +3580,7 @@ class Filter {
|
|
|
3484
3580
|
}
|
|
3485
3581
|
);
|
|
3486
3582
|
reaction(
|
|
3487
|
-
() => this.filterState.
|
|
3583
|
+
() => this.filterState.filterToValue,
|
|
3488
3584
|
() => {
|
|
3489
3585
|
if (this.tableName) {
|
|
3490
3586
|
getResponsiveTableContext(this.tableName).onFilterChange?.({
|
|
@@ -3508,17 +3604,20 @@ class Filter {
|
|
|
3508
3604
|
}
|
|
3509
3605
|
focus() {
|
|
3510
3606
|
}
|
|
3511
|
-
getInputRenderer(
|
|
3512
|
-
return /* @__PURE__ */ jsx(InputFilterRenderer, {
|
|
3607
|
+
getInputRenderer() {
|
|
3608
|
+
return /* @__PURE__ */ jsx(InputFilterRenderer, { state: this.filterState });
|
|
3609
|
+
}
|
|
3610
|
+
getSelectRenderer() {
|
|
3611
|
+
return /* @__PURE__ */ jsx(SelectFilterRenderer, { state: this.filterState });
|
|
3513
3612
|
}
|
|
3514
|
-
|
|
3515
|
-
return /* @__PURE__ */ jsx(
|
|
3613
|
+
getRangeRenderer() {
|
|
3614
|
+
return /* @__PURE__ */ jsx(RangeFilterRenderer, { state: this.filterState });
|
|
3516
3615
|
}
|
|
3517
|
-
|
|
3518
|
-
return /* @__PURE__ */ jsx(
|
|
3616
|
+
getDateRenderer() {
|
|
3617
|
+
return /* @__PURE__ */ jsx(DateFilterRenderer, { state: this.filterState });
|
|
3519
3618
|
}
|
|
3520
|
-
|
|
3521
|
-
return /* @__PURE__ */ jsx(
|
|
3619
|
+
getDoubleRenderer() {
|
|
3620
|
+
return /* @__PURE__ */ jsx(FreeLabelFilterRenderer, { state: this.filterState });
|
|
3522
3621
|
}
|
|
3523
3622
|
}
|
|
3524
3623
|
|
|
@@ -3543,6 +3642,8 @@ class TableController {
|
|
|
3543
3642
|
props: {},
|
|
3544
3643
|
rows: []
|
|
3545
3644
|
});
|
|
3645
|
+
// ids de filtros que se consideran "base" (creados en el init)
|
|
3646
|
+
__publicField$4(this, "baseFilterIds", /* @__PURE__ */ new Set());
|
|
3546
3647
|
__publicField$4(this, "Context", observer(({ children }) => {
|
|
3547
3648
|
return /* @__PURE__ */ jsx(
|
|
3548
3649
|
TableLoadingContext.Provider,
|
|
@@ -3560,12 +3661,13 @@ class TableController {
|
|
|
3560
3661
|
() => [...toJS(state.columns).values()],
|
|
3561
3662
|
[state.columns]
|
|
3562
3663
|
);
|
|
3664
|
+
const rows = useMemo(() => [...toJS(state.rows).values()], [state.rows]);
|
|
3563
3665
|
return /* @__PURE__ */ jsx(
|
|
3564
3666
|
ResponsiveTableContext,
|
|
3565
3667
|
{
|
|
3566
3668
|
...props,
|
|
3567
3669
|
columns,
|
|
3568
|
-
rows:
|
|
3670
|
+
rows: rows ?? [],
|
|
3569
3671
|
filters: useMemo(() => this.parseFilters(), [this.state.filters]),
|
|
3570
3672
|
FiltersRenderer: useCallback(
|
|
3571
3673
|
(filterId) => this.state.filters.get(filterId).Component,
|
|
@@ -3680,6 +3782,12 @@ class TableController {
|
|
|
3680
3782
|
on(ev, cb) {
|
|
3681
3783
|
return this.emitter.on(ev, cb);
|
|
3682
3784
|
}
|
|
3785
|
+
updateFilters(newFilters) {
|
|
3786
|
+
newFilters.forEach((c) => {
|
|
3787
|
+
this.state.filters.set(c.filterState.id, c);
|
|
3788
|
+
});
|
|
3789
|
+
this.state.filters = new Map(this.state.filters);
|
|
3790
|
+
}
|
|
3683
3791
|
updateState(newState) {
|
|
3684
3792
|
if (newState instanceof Function) {
|
|
3685
3793
|
newState(this.state);
|
|
@@ -3687,6 +3795,23 @@ class TableController {
|
|
|
3687
3795
|
Object.assign(this.state, newState);
|
|
3688
3796
|
}
|
|
3689
3797
|
}
|
|
3798
|
+
//Marca los filters actuales como los iniciales (llamar tras parseStructure/init).
|
|
3799
|
+
markInitialFilters() {
|
|
3800
|
+
this.baseFilterIds = new Set([...this.state.filters.keys()].map(String));
|
|
3801
|
+
}
|
|
3802
|
+
// Elimina todos los filtros que NO son base (aquellos añadidos después del init).
|
|
3803
|
+
removeAddedFilters() {
|
|
3804
|
+
for (const id of [...this.state.filters.keys()]) {
|
|
3805
|
+
if (!this.baseFilterIds.has(String(id))) {
|
|
3806
|
+
this.state.filters.delete(id);
|
|
3807
|
+
}
|
|
3808
|
+
}
|
|
3809
|
+
this.state.filters = new Map(this.state.filters);
|
|
3810
|
+
}
|
|
3811
|
+
removeFilter(id) {
|
|
3812
|
+
this.state.filters.delete(id);
|
|
3813
|
+
this.state.filters = new Map(this.state.filters);
|
|
3814
|
+
}
|
|
3690
3815
|
}
|
|
3691
3816
|
|
|
3692
3817
|
var __defProp$3 = Object.defineProperty;
|
|
@@ -3881,6 +4006,7 @@ class QueryController {
|
|
|
3881
4006
|
this.hasInited = true;
|
|
3882
4007
|
this.initializing = false;
|
|
3883
4008
|
this.loadFilterTypes();
|
|
4009
|
+
this.tableController.markInitialFilters();
|
|
3884
4010
|
if (!this.structure.queryData?.noExecFirstTime)
|
|
3885
4011
|
this.refresh();
|
|
3886
4012
|
}
|
|
@@ -4099,86 +4225,118 @@ const FilterTypesComponent = observer(
|
|
|
4099
4225
|
}
|
|
4100
4226
|
);
|
|
4101
4227
|
|
|
4102
|
-
const AdditionalFiltersComponent = (
|
|
4103
|
-
queryController
|
|
4104
|
-
|
|
4105
|
-
|
|
4106
|
-
|
|
4107
|
-
|
|
4108
|
-
|
|
4109
|
-
|
|
4110
|
-
|
|
4111
|
-
|
|
4112
|
-
|
|
4113
|
-
|
|
4114
|
-
|
|
4115
|
-
|
|
4116
|
-
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
tableName: queryController.tableController.getTableName(),
|
|
4124
|
-
children: /* @__PURE__ */ jsxs(Accordion, { className: "additionalFiltersContent", singleExpand: true, children: [
|
|
4125
|
-
hasFilters && /* @__PURE__ */ jsx(
|
|
4126
|
-
AccordionItem,
|
|
4127
|
-
{
|
|
4128
|
-
id: "Responsive",
|
|
4129
|
-
defaultExpanded: true,
|
|
4130
|
-
buttonProps: { ariaLabel: filterTitle, label: filterTitle },
|
|
4131
|
-
children: /* @__PURE__ */ jsx(Responsive, {})
|
|
4132
|
-
}
|
|
4133
|
-
),
|
|
4134
|
-
hasAdditional && /* @__PURE__ */ jsx(
|
|
4135
|
-
AccordionItem,
|
|
4136
|
-
{
|
|
4137
|
-
id: "Additional",
|
|
4138
|
-
buttonProps: {
|
|
4139
|
-
ariaLabel: window.ADDITIONAL_FILTERS_LABEL,
|
|
4140
|
-
label: window.ADDITIONAL_FILTERS_LABEL
|
|
4141
|
-
},
|
|
4142
|
-
children: /* @__PURE__ */ jsx(Additional, {})
|
|
4143
|
-
}
|
|
4144
|
-
),
|
|
4145
|
-
hasGroupFilter && /* @__PURE__ */ jsx(
|
|
4146
|
-
AccordionItem,
|
|
4147
|
-
{
|
|
4148
|
-
id: "Group",
|
|
4149
|
-
buttonProps: {
|
|
4150
|
-
ariaLabel: getLabel("titMetadata").text,
|
|
4151
|
-
label: getLabel("titMetadata").text
|
|
4152
|
-
},
|
|
4153
|
-
children: /* @__PURE__ */ jsx(
|
|
4154
|
-
Grouped,
|
|
4155
|
-
{
|
|
4156
|
-
tableName: queryController.tableController.getTableName(),
|
|
4157
|
-
group: hasGroupFilter?.group ?? ""
|
|
4158
|
-
}
|
|
4159
|
-
)
|
|
4160
|
-
}
|
|
4161
|
-
),
|
|
4162
|
-
hasSortable && /* @__PURE__ */ jsx(
|
|
4163
|
-
AccordionItem,
|
|
4164
|
-
{
|
|
4165
|
-
id: "Sort",
|
|
4166
|
-
buttonProps: { ariaLabel: sortTitle, label: sortTitle },
|
|
4167
|
-
children: /* @__PURE__ */ jsx(Sort, {})
|
|
4168
|
-
}
|
|
4169
|
-
),
|
|
4170
|
-
hasFilters && !queryController.structure?.hideFilterTypes && /* @__PURE__ */ jsx(
|
|
4171
|
-
AccordionItem,
|
|
4172
|
-
{
|
|
4173
|
-
id: "FilterTypes",
|
|
4174
|
-
buttonProps: { ariaLabel: filterTypes, label: filterTypes },
|
|
4175
|
-
children: /* @__PURE__ */ jsx(FilterTypesComponent, { queryController })
|
|
4228
|
+
const AdditionalFiltersComponent = observer(
|
|
4229
|
+
({ queryController }) => {
|
|
4230
|
+
const filterTitle = getLabel("sbtFilters").text;
|
|
4231
|
+
const sortTitle = getLabel("titOrderBy").text;
|
|
4232
|
+
const filterTypes = getLabel("btnFilterType").text;
|
|
4233
|
+
const hasAdditional = !![
|
|
4234
|
+
...queryController.tableController.state.filters.values()
|
|
4235
|
+
].find((f) => f.filterState.isAdditional || !f.filterState.column);
|
|
4236
|
+
const hasFilters = !![
|
|
4237
|
+
...queryController.tableController.state.filters.values()
|
|
4238
|
+
].find((f) => !f.filterState.isAdditional && f.filterState.column);
|
|
4239
|
+
const hasSortable = !![
|
|
4240
|
+
...queryController.tableController.state.columns.values()
|
|
4241
|
+
].find((c) => c.allowSorting !== false);
|
|
4242
|
+
const groupFilters = (() => {
|
|
4243
|
+
const byGroup = /* @__PURE__ */ new Map();
|
|
4244
|
+
[...queryController.tableController.state.filters.values()].forEach(
|
|
4245
|
+
(f) => {
|
|
4246
|
+
const g = f.filterState?.group;
|
|
4247
|
+
if (g && g !== "" && !byGroup.has(g)) {
|
|
4248
|
+
byGroup.set(g, f);
|
|
4176
4249
|
}
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
|
|
4180
|
-
|
|
4181
|
-
|
|
4250
|
+
}
|
|
4251
|
+
);
|
|
4252
|
+
return [...byGroup.values()];
|
|
4253
|
+
})();
|
|
4254
|
+
return /* @__PURE__ */ jsx(
|
|
4255
|
+
TableContextReproducer,
|
|
4256
|
+
{
|
|
4257
|
+
tableName: queryController.tableController.getTableName(),
|
|
4258
|
+
children: /* @__PURE__ */ jsxs(Accordion, { className: "additionalFiltersContent", singleExpand: true, children: [
|
|
4259
|
+
hasFilters && /* @__PURE__ */ jsx(
|
|
4260
|
+
AccordionItem,
|
|
4261
|
+
{
|
|
4262
|
+
id: "Responsive",
|
|
4263
|
+
defaultExpanded: true,
|
|
4264
|
+
buttonProps: { ariaLabel: filterTitle, label: filterTitle },
|
|
4265
|
+
children: /* @__PURE__ */ jsx(Responsive, {})
|
|
4266
|
+
}
|
|
4267
|
+
),
|
|
4268
|
+
hasAdditional && /* @__PURE__ */ jsx(
|
|
4269
|
+
AccordionItem,
|
|
4270
|
+
{
|
|
4271
|
+
id: "Additional",
|
|
4272
|
+
buttonProps: {
|
|
4273
|
+
ariaLabel: window.ADDITIONAL_FILTERS_LABEL,
|
|
4274
|
+
label: window.ADDITIONAL_FILTERS_LABEL
|
|
4275
|
+
},
|
|
4276
|
+
children: /* @__PURE__ */ jsx(Additional, {})
|
|
4277
|
+
}
|
|
4278
|
+
),
|
|
4279
|
+
groupFilters.length > 0 && /* @__PURE__ */ jsx(Fragment, { children: groupFilters.map((g) => /* @__PURE__ */ jsx(
|
|
4280
|
+
AccordionItem,
|
|
4281
|
+
{
|
|
4282
|
+
id: `Group_${g.filterState.group}`,
|
|
4283
|
+
buttonProps: {
|
|
4284
|
+
ariaLabel: getLabel(`${g.filterState.group}`).text,
|
|
4285
|
+
label: getLabel(`${g.filterState.group}`).text
|
|
4286
|
+
},
|
|
4287
|
+
children: /* @__PURE__ */ jsxs(
|
|
4288
|
+
Box,
|
|
4289
|
+
{
|
|
4290
|
+
sx: {
|
|
4291
|
+
display: "flex",
|
|
4292
|
+
flexDirection: "column",
|
|
4293
|
+
alignItems: "end",
|
|
4294
|
+
gap: 3,
|
|
4295
|
+
width: "100%"
|
|
4296
|
+
},
|
|
4297
|
+
children: [
|
|
4298
|
+
/* @__PURE__ */ jsx(
|
|
4299
|
+
Grouped,
|
|
4300
|
+
{
|
|
4301
|
+
tableName: queryController.tableController.getTableName(),
|
|
4302
|
+
group: g.filterState?.group ?? ""
|
|
4303
|
+
},
|
|
4304
|
+
g.filterState.group
|
|
4305
|
+
),
|
|
4306
|
+
g.filterState.addFilter && /* @__PURE__ */ jsx(
|
|
4307
|
+
SimpleButton,
|
|
4308
|
+
{
|
|
4309
|
+
variant: "outline-sm",
|
|
4310
|
+
onClick: g.filterState.addFilter,
|
|
4311
|
+
children: getLabel("lblAddFil").text
|
|
4312
|
+
}
|
|
4313
|
+
)
|
|
4314
|
+
]
|
|
4315
|
+
}
|
|
4316
|
+
)
|
|
4317
|
+
}
|
|
4318
|
+
)) }),
|
|
4319
|
+
hasSortable && /* @__PURE__ */ jsx(
|
|
4320
|
+
AccordionItem,
|
|
4321
|
+
{
|
|
4322
|
+
id: "Sort",
|
|
4323
|
+
buttonProps: { ariaLabel: sortTitle, label: sortTitle },
|
|
4324
|
+
children: /* @__PURE__ */ jsx(Sort, {})
|
|
4325
|
+
}
|
|
4326
|
+
),
|
|
4327
|
+
hasFilters && !queryController.structure?.hideFilterTypes && /* @__PURE__ */ jsx(
|
|
4328
|
+
AccordionItem,
|
|
4329
|
+
{
|
|
4330
|
+
id: "FilterTypes",
|
|
4331
|
+
buttonProps: { ariaLabel: filterTypes, label: filterTypes },
|
|
4332
|
+
children: /* @__PURE__ */ jsx(FilterTypesComponent, { queryController })
|
|
4333
|
+
}
|
|
4334
|
+
)
|
|
4335
|
+
] })
|
|
4336
|
+
}
|
|
4337
|
+
);
|
|
4338
|
+
}
|
|
4339
|
+
);
|
|
4182
4340
|
|
|
4183
4341
|
var __defProp$2 = Object.defineProperty;
|
|
4184
4342
|
var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
@@ -4251,6 +4409,43 @@ var __publicField$1 = (obj, key, value) => {
|
|
|
4251
4409
|
__defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4252
4410
|
return value;
|
|
4253
4411
|
};
|
|
4412
|
+
const NavBarRenderer = observer(
|
|
4413
|
+
({
|
|
4414
|
+
queryController,
|
|
4415
|
+
additionalFiltersController
|
|
4416
|
+
}) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4417
|
+
/* @__PURE__ */ jsx(
|
|
4418
|
+
SimpleButton,
|
|
4419
|
+
{
|
|
4420
|
+
variant: "primary-sm",
|
|
4421
|
+
onClick: () => {
|
|
4422
|
+
queryController.refresh();
|
|
4423
|
+
},
|
|
4424
|
+
children: queryController.tableController.state.isLoading ? /* @__PURE__ */ jsx(Spinner, { sx: { color: "white", height: "17px" } }) : getLabel("btnSearch").text
|
|
4425
|
+
}
|
|
4426
|
+
),
|
|
4427
|
+
/* @__PURE__ */ jsx(
|
|
4428
|
+
SimpleButton,
|
|
4429
|
+
{
|
|
4430
|
+
size: "sm",
|
|
4431
|
+
variant: "outline",
|
|
4432
|
+
onClick: async () => {
|
|
4433
|
+
additionalFiltersController.openModal();
|
|
4434
|
+
},
|
|
4435
|
+
children: getLabel("titAdmAdtFilter").text
|
|
4436
|
+
}
|
|
4437
|
+
),
|
|
4438
|
+
/* @__PURE__ */ jsx(
|
|
4439
|
+
SimpleButton,
|
|
4440
|
+
{
|
|
4441
|
+
size: "sm",
|
|
4442
|
+
variant: "outline",
|
|
4443
|
+
onClick: () => queryController.clearFilters(),
|
|
4444
|
+
children: getLabel("btnClearFilter").text
|
|
4445
|
+
}
|
|
4446
|
+
)
|
|
4447
|
+
] })
|
|
4448
|
+
);
|
|
4254
4449
|
class QueryModalController {
|
|
4255
4450
|
constructor(queryController) {
|
|
4256
4451
|
__publicField$1(this, "emitter", new EventEmitter());
|
|
@@ -4258,6 +4453,7 @@ class QueryModalController {
|
|
|
4258
4453
|
__publicField$1(this, "modalHandler", null);
|
|
4259
4454
|
__publicField$1(this, "currentSelection", null);
|
|
4260
4455
|
__publicField$1(this, "additionalFiltersController");
|
|
4456
|
+
__publicField$1(this, "sx", {});
|
|
4261
4457
|
if (!queryController) {
|
|
4262
4458
|
throw new Error("QueryController instance is required");
|
|
4263
4459
|
}
|
|
@@ -4280,10 +4476,10 @@ class QueryModalController {
|
|
|
4280
4476
|
const tableController = this.queryController.tableController;
|
|
4281
4477
|
const structure = this.queryController.structure;
|
|
4282
4478
|
return {
|
|
4283
|
-
children: /* @__PURE__ */ jsxs(tableController.Context, { children: [
|
|
4479
|
+
children: /* @__PURE__ */ jsx(Box, { sx: { height: "100%", ...this.sx }, children: /* @__PURE__ */ jsxs(tableController.Context, { children: [
|
|
4284
4480
|
/* @__PURE__ */ jsx(tableController.Table, {}),
|
|
4285
4481
|
/* @__PURE__ */ jsx(tableController.Pagination, {})
|
|
4286
|
-
] }),
|
|
4482
|
+
] }) }),
|
|
4287
4483
|
title: structure?.title,
|
|
4288
4484
|
onConfirm: () => {
|
|
4289
4485
|
this.onConfirm();
|
|
@@ -4297,38 +4493,13 @@ class QueryModalController {
|
|
|
4297
4493
|
confirmButtonText: getLabel("btnCon").text,
|
|
4298
4494
|
cancelButtonText: getLabel("btnCan").text
|
|
4299
4495
|
},
|
|
4300
|
-
NavBar: /* @__PURE__ */
|
|
4301
|
-
|
|
4302
|
-
|
|
4303
|
-
|
|
4304
|
-
|
|
4305
|
-
|
|
4306
|
-
|
|
4307
|
-
},
|
|
4308
|
-
children: getLabel("btnSearch").text
|
|
4309
|
-
}
|
|
4310
|
-
),
|
|
4311
|
-
/* @__PURE__ */ jsx(
|
|
4312
|
-
SimpleButton,
|
|
4313
|
-
{
|
|
4314
|
-
size: "sm",
|
|
4315
|
-
variant: "outline",
|
|
4316
|
-
onClick: async () => {
|
|
4317
|
-
this.additionalFiltersController.openModal();
|
|
4318
|
-
},
|
|
4319
|
-
children: getLabel("titAdmAdtFilter").text
|
|
4320
|
-
}
|
|
4321
|
-
),
|
|
4322
|
-
/* @__PURE__ */ jsx(
|
|
4323
|
-
SimpleButton,
|
|
4324
|
-
{
|
|
4325
|
-
size: "sm",
|
|
4326
|
-
variant: "outline",
|
|
4327
|
-
onClick: () => this.queryController.clearFilters(),
|
|
4328
|
-
children: getLabel("btnClearFilter").text
|
|
4329
|
-
}
|
|
4330
|
-
)
|
|
4331
|
-
] }),
|
|
4496
|
+
NavBar: /* @__PURE__ */ jsx(
|
|
4497
|
+
NavBarRenderer,
|
|
4498
|
+
{
|
|
4499
|
+
queryController: this.queryController,
|
|
4500
|
+
additionalFiltersController: this.additionalFiltersController
|
|
4501
|
+
}
|
|
4502
|
+
),
|
|
4332
4503
|
size: "finder"
|
|
4333
4504
|
};
|
|
4334
4505
|
}
|
|
@@ -4389,7 +4560,10 @@ class GenericListQuery extends QueryController {
|
|
|
4389
4560
|
};
|
|
4390
4561
|
}
|
|
4391
4562
|
getLoadStructureParameters() {
|
|
4392
|
-
return {
|
|
4563
|
+
return {
|
|
4564
|
+
...super.getLoadStructureParameters(),
|
|
4565
|
+
...this.getRefreshParameters()
|
|
4566
|
+
};
|
|
4393
4567
|
}
|
|
4394
4568
|
getRefreshParameters() {
|
|
4395
4569
|
return {
|
|
@@ -4398,14 +4572,32 @@ class GenericListQuery extends QueryController {
|
|
|
4398
4572
|
isAjax: true
|
|
4399
4573
|
};
|
|
4400
4574
|
}
|
|
4401
|
-
|
|
4402
|
-
|
|
4403
|
-
|
|
4404
|
-
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4575
|
+
async getStructure() {
|
|
4576
|
+
const result = await ApiaApi.post(
|
|
4577
|
+
makeApiaUrl(this.getLoadStructureParameters())
|
|
4578
|
+
);
|
|
4579
|
+
if (!result?.data) {
|
|
4580
|
+
throw new Error("Cannot load Input query structure");
|
|
4581
|
+
}
|
|
4582
|
+
super.parseRefreshResponse(result?.data);
|
|
4583
|
+
return this.parseLoadStructureResponse(result.data);
|
|
4584
|
+
}
|
|
4585
|
+
async initialLoad() {
|
|
4586
|
+
this.tableController.state.finishedFirstLoad = false;
|
|
4587
|
+
if (this.initializing && !this.hasInited) {
|
|
4588
|
+
throw new Error("Cannot initialize the query twice");
|
|
4589
|
+
}
|
|
4590
|
+
this.initializing = true;
|
|
4591
|
+
if (!this.hasInited) {
|
|
4592
|
+
const structure = await this.getStructure();
|
|
4593
|
+
this.structure = structure;
|
|
4594
|
+
this.parseStructure(structure);
|
|
4595
|
+
this.tableController.updateState({
|
|
4596
|
+
props: this.getTableControllerDefaultProps()
|
|
4597
|
+
});
|
|
4598
|
+
this.hasInited = true;
|
|
4599
|
+
this.initializing = false;
|
|
4600
|
+
}
|
|
4409
4601
|
}
|
|
4410
4602
|
parseLoadStructureResponse(response) {
|
|
4411
4603
|
const typedResponse = response;
|
|
@@ -4423,9 +4615,9 @@ class UsersQuery extends GenericListQuery {
|
|
|
4423
4615
|
constructor() {
|
|
4424
4616
|
super("apia.modals.UsersAction.run");
|
|
4425
4617
|
}
|
|
4426
|
-
|
|
4618
|
+
getRefreshParameters() {
|
|
4427
4619
|
return {
|
|
4428
|
-
...super.
|
|
4620
|
+
...super.getRefreshParameters(),
|
|
4429
4621
|
externalUser: false,
|
|
4430
4622
|
selectOnlyOne: false,
|
|
4431
4623
|
globalAndEnv: true,
|
|
@@ -4434,6 +4626,20 @@ class UsersQuery extends GenericListQuery {
|
|
|
4434
4626
|
forCurrentEnv: false
|
|
4435
4627
|
};
|
|
4436
4628
|
}
|
|
4629
|
+
parseRefreshResponse(response) {
|
|
4630
|
+
if (!response)
|
|
4631
|
+
return;
|
|
4632
|
+
const structure = this.parseLoadStructureResponse(response);
|
|
4633
|
+
this.parseStructure(structure);
|
|
4634
|
+
setTimeout(() => {
|
|
4635
|
+
super.parseRefreshResponse(response);
|
|
4636
|
+
}, 0);
|
|
4637
|
+
}
|
|
4638
|
+
getFiltersValuesMap() {
|
|
4639
|
+
return {
|
|
4640
|
+
...super.getFiltersValuesMap()
|
|
4641
|
+
};
|
|
4642
|
+
}
|
|
4437
4643
|
parseLoadStructureResponse(response) {
|
|
4438
4644
|
const structure = { ...super.parseLoadStructureResponse(response) };
|
|
4439
4645
|
structure.hideFilterTypes = true;
|
|
@@ -4443,16 +4649,17 @@ class UsersQuery extends GenericListQuery {
|
|
|
4443
4649
|
const makeApiaUsersModal2 = () => new QueryModalController(new UsersQuery());
|
|
4444
4650
|
|
|
4445
4651
|
class PoolsQuery extends GenericListQuery {
|
|
4446
|
-
constructor() {
|
|
4652
|
+
constructor(config) {
|
|
4447
4653
|
super("apia.modals.PoolsAction.run");
|
|
4654
|
+
this.config = config;
|
|
4448
4655
|
}
|
|
4449
|
-
|
|
4656
|
+
getRefreshParameters() {
|
|
4450
4657
|
return {
|
|
4451
|
-
...super.
|
|
4658
|
+
...super.getRefreshParameters(),
|
|
4452
4659
|
showAutogenerated: false,
|
|
4453
4660
|
showNotAutogenerated: false,
|
|
4454
|
-
showCurrentEnv: true,
|
|
4455
|
-
showGlobal: true,
|
|
4661
|
+
showCurrentEnv: this.config?.showCurrentEnv ?? true,
|
|
4662
|
+
showGlobal: this.config?.showGlobal ?? true,
|
|
4456
4663
|
selectOnlyOne: false,
|
|
4457
4664
|
forHierarchy: false,
|
|
4458
4665
|
showOnlyPoolsInHierarchy: false,
|
|
@@ -4461,24 +4668,58 @@ class PoolsQuery extends GenericListQuery {
|
|
|
4461
4668
|
fetchAllInHierarchy: false
|
|
4462
4669
|
};
|
|
4463
4670
|
}
|
|
4671
|
+
getFiltersValuesMap() {
|
|
4672
|
+
return {
|
|
4673
|
+
...super.getFiltersValuesMap()
|
|
4674
|
+
};
|
|
4675
|
+
}
|
|
4676
|
+
parseRefreshResponse(response) {
|
|
4677
|
+
if (!response)
|
|
4678
|
+
return;
|
|
4679
|
+
const structure = this.parseLoadStructureResponse(response);
|
|
4680
|
+
this.parseStructure(structure);
|
|
4681
|
+
setTimeout(() => {
|
|
4682
|
+
super.parseRefreshResponse(response);
|
|
4683
|
+
}, 0);
|
|
4684
|
+
}
|
|
4464
4685
|
parseLoadStructureResponse(response) {
|
|
4465
4686
|
const structure = { ...super.parseLoadStructureResponse(response) };
|
|
4466
4687
|
structure.hideFilterTypes = true;
|
|
4688
|
+
structure.title = getLabel("btnAddPool").text;
|
|
4467
4689
|
return structure;
|
|
4468
4690
|
}
|
|
4469
4691
|
}
|
|
4470
|
-
const makeApiaPoolsModals2 = () => new QueryModalController(new PoolsQuery());
|
|
4692
|
+
const makeApiaPoolsModals2 = (config) => new QueryModalController(new PoolsQuery(config));
|
|
4471
4693
|
|
|
4472
4694
|
var __defProp = Object.defineProperty;
|
|
4473
4695
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4474
4696
|
var __publicField = (obj, key, value) => {
|
|
4475
|
-
__defNormalProp(obj, key + "" , value);
|
|
4697
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4476
4698
|
return value;
|
|
4477
4699
|
};
|
|
4478
4700
|
class MonDocQuery extends QueryController {
|
|
4479
4701
|
constructor(ajaxUrl) {
|
|
4480
4702
|
super(ajaxUrl);
|
|
4481
4703
|
this.ajaxUrl = ajaxUrl;
|
|
4704
|
+
__publicField(this, "getAdditionalInfo", async (row) => {
|
|
4705
|
+
const result = await ApiaApi.post(
|
|
4706
|
+
makeApiaUrl({
|
|
4707
|
+
ajaxUrl: this.ajaxUrl,
|
|
4708
|
+
action: "adtInfo",
|
|
4709
|
+
isAjax: true,
|
|
4710
|
+
preventAsXmlParameter: true
|
|
4711
|
+
}),
|
|
4712
|
+
{
|
|
4713
|
+
postData: new URLSearchParams({
|
|
4714
|
+
id: row.id.slice(
|
|
4715
|
+
0,
|
|
4716
|
+
row.id.indexOf("$-$") > 0 ? row.id.indexOf("$-$") : row.id.length
|
|
4717
|
+
)
|
|
4718
|
+
}).toString()
|
|
4719
|
+
}
|
|
4720
|
+
);
|
|
4721
|
+
return arrayOrArray(result?.data?.function.messages.row.cell);
|
|
4722
|
+
});
|
|
4482
4723
|
__publicField(this, "dynamicParams", {});
|
|
4483
4724
|
}
|
|
4484
4725
|
getTableControllerDefaultProps() {
|
|
@@ -4499,42 +4740,74 @@ class MonDocQuery extends QueryController {
|
|
|
4499
4740
|
]
|
|
4500
4741
|
};
|
|
4501
4742
|
}
|
|
4743
|
+
addFreeMetadataFilter(filter) {
|
|
4744
|
+
const id = uniqueId$1();
|
|
4745
|
+
const actualFilter = filter || {
|
|
4746
|
+
id,
|
|
4747
|
+
group: "lblFreeMetadata",
|
|
4748
|
+
value: "",
|
|
4749
|
+
filterToValue: "",
|
|
4750
|
+
avoidLabel: true,
|
|
4751
|
+
type: "double",
|
|
4752
|
+
addFilter: () => {
|
|
4753
|
+
this.addFreeMetadataFilter();
|
|
4754
|
+
},
|
|
4755
|
+
removeFilter: () => {
|
|
4756
|
+
this.tableController.removeFilter(id);
|
|
4757
|
+
}
|
|
4758
|
+
};
|
|
4759
|
+
const freeMetadataFilters = arrayOrArray(actualFilter).map((f) => {
|
|
4760
|
+
return new Filter(f);
|
|
4761
|
+
});
|
|
4762
|
+
this.tableController.updateFilters(freeMetadataFilters);
|
|
4763
|
+
}
|
|
4502
4764
|
async initialLoad() {
|
|
4503
4765
|
await super.initialLoad();
|
|
4504
4766
|
await this.loadMetadataFilters();
|
|
4505
4767
|
await this.setFilters();
|
|
4506
4768
|
}
|
|
4507
4769
|
async loadMetadataFilters() {
|
|
4770
|
+
this.tableController.removeAddedFilters();
|
|
4508
4771
|
const res = await ApiaApi.post(
|
|
4509
4772
|
makeApiaUrl({
|
|
4510
4773
|
ajaxUrl: this.ajaxUrl,
|
|
4511
4774
|
action: "loadMetadata",
|
|
4512
|
-
docTypeId:
|
|
4775
|
+
docTypeId: this.tableController.state.filters.get("txtDocTypeId")?.filterState.value || 1
|
|
4513
4776
|
})
|
|
4514
4777
|
);
|
|
4515
4778
|
if (res?.data?.docMetadata?.metadata) {
|
|
4516
|
-
const parsedFilters = res.data.docMetadata.metadata.map(
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
|
|
4525
|
-
|
|
4526
|
-
|
|
4527
|
-
|
|
4528
|
-
arrayOrArray(parsedFilters).map((f) => {
|
|
4529
|
-
return [f.id, new Filter(f)];
|
|
4530
|
-
})
|
|
4779
|
+
const parsedFilters = arrayOrArray(res.data.docMetadata.metadata).map(
|
|
4780
|
+
(c) => {
|
|
4781
|
+
const filter = {
|
|
4782
|
+
...c,
|
|
4783
|
+
group: "titMetadata",
|
|
4784
|
+
hideToFilter: true,
|
|
4785
|
+
filterToId: `${String(c.id)}i`,
|
|
4786
|
+
filterToValue: c.value2,
|
|
4787
|
+
avoidLabel: c.type === "D"
|
|
4788
|
+
};
|
|
4789
|
+
return filter;
|
|
4790
|
+
}
|
|
4531
4791
|
);
|
|
4532
|
-
|
|
4533
|
-
|
|
4534
|
-
...this.tableController.state.filters.entries(),
|
|
4535
|
-
...metadataFilters.entries()
|
|
4536
|
-
])
|
|
4792
|
+
const metadataFilters = arrayOrArray(parsedFilters).map((f) => {
|
|
4793
|
+
return new Filter(f);
|
|
4537
4794
|
});
|
|
4795
|
+
this.tableController.updateFilters(metadataFilters);
|
|
4796
|
+
if (metadataFilters.length > 0) {
|
|
4797
|
+
const id = uniqueId$1();
|
|
4798
|
+
const metadataFilter = {
|
|
4799
|
+
id,
|
|
4800
|
+
group: "lblFreeMetadata",
|
|
4801
|
+
value: "",
|
|
4802
|
+
filterToValue: "",
|
|
4803
|
+
avoidLabel: true,
|
|
4804
|
+
type: "double",
|
|
4805
|
+
addFilter: () => {
|
|
4806
|
+
this.addFreeMetadataFilter();
|
|
4807
|
+
}
|
|
4808
|
+
};
|
|
4809
|
+
this.addFreeMetadataFilter(metadataFilter);
|
|
4810
|
+
}
|
|
4538
4811
|
}
|
|
4539
4812
|
}
|
|
4540
4813
|
async loadFilterTypes() {
|
|
@@ -4568,28 +4841,32 @@ class MonDocQuery extends QueryController {
|
|
|
4568
4841
|
}
|
|
4569
4842
|
getFiltersValuesMap() {
|
|
4570
4843
|
const metadataValues = [];
|
|
4844
|
+
const freeMetadataValues = [];
|
|
4571
4845
|
const filtersValues = [
|
|
4572
4846
|
...this.tableController.state.filters.values()
|
|
4573
4847
|
].reduce((result, filterWrapper) => {
|
|
4574
4848
|
const { id, value, type, group, multiplier, filterToId, filterToValue } = filterWrapper.filterState;
|
|
4575
|
-
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
const t = type === "apiaNumber" ? "N" : type;
|
|
4849
|
+
switch (group) {
|
|
4850
|
+
case "titMetadata":
|
|
4851
|
+
if (value !== "") {
|
|
4852
|
+
const t = (type === "apiaNumber" ? "N" : type) || "S";
|
|
4580
4853
|
metadataValues.push(
|
|
4581
|
-
`${
|
|
4854
|
+
`${id}${window.PRIMARY_SEPARATOR}${t}${window.PRIMARY_SEPARATOR}${value}`
|
|
4582
4855
|
);
|
|
4583
4856
|
if (filterToValue) {
|
|
4584
4857
|
metadataValues.push(
|
|
4585
|
-
`${
|
|
4858
|
+
`${id}${window.PRIMARY_SEPARATOR}${t}${window.PRIMARY_SEPARATOR}${filterToValue}`
|
|
4586
4859
|
);
|
|
4587
4860
|
}
|
|
4588
|
-
} else {
|
|
4589
|
-
metadataValues.push(`${prefix}${value}`);
|
|
4590
4861
|
}
|
|
4591
|
-
|
|
4592
|
-
|
|
4862
|
+
return result;
|
|
4863
|
+
case "lblFreeMetadata":
|
|
4864
|
+
if (filterToValue !== "") {
|
|
4865
|
+
freeMetadataValues.push(
|
|
4866
|
+
`${value}${window.PRIMARY_SEPARATOR}${filterToValue}`
|
|
4867
|
+
);
|
|
4868
|
+
}
|
|
4869
|
+
return result;
|
|
4593
4870
|
}
|
|
4594
4871
|
result[id] = multiplier ? value * multiplier : value;
|
|
4595
4872
|
if (filterToId !== void 0 && filterToValue != void 0) {
|
|
@@ -4599,7 +4876,8 @@ class MonDocQuery extends QueryController {
|
|
|
4599
4876
|
}, {});
|
|
4600
4877
|
return {
|
|
4601
4878
|
...filtersValues,
|
|
4602
|
-
strDocMetadata: metadataValues.join(";")
|
|
4879
|
+
strDocMetadata: metadataValues.join(";"),
|
|
4880
|
+
strDocFreeMetadata: freeMetadataValues.join(";")
|
|
4603
4881
|
};
|
|
4604
4882
|
}
|
|
4605
4883
|
getEventsHandlers() {
|
|
@@ -4631,7 +4909,9 @@ class MonDocQuery extends QueryController {
|
|
|
4631
4909
|
{
|
|
4632
4910
|
title: getLabel("lblLockedDocument").text,
|
|
4633
4911
|
icon: "Locked",
|
|
4634
|
-
sx: {
|
|
4912
|
+
sx: {
|
|
4913
|
+
display: r.docLock ? "block!important" : "none!important"
|
|
4914
|
+
}
|
|
4635
4915
|
}
|
|
4636
4916
|
),
|
|
4637
4917
|
tooltip: ""
|
|
@@ -4643,7 +4923,9 @@ class MonDocQuery extends QueryController {
|
|
|
4643
4923
|
title: getLabel("lblReadOnly").text,
|
|
4644
4924
|
icon: "Readonly",
|
|
4645
4925
|
size: 22,
|
|
4646
|
-
sx: {
|
|
4926
|
+
sx: {
|
|
4927
|
+
display: r.uneditableTR ? "block!important" : "none!important"
|
|
4928
|
+
}
|
|
4647
4929
|
}
|
|
4648
4930
|
),
|
|
4649
4931
|
tooltip: ""
|
|
@@ -4662,7 +4944,23 @@ class MonDocQuery extends QueryController {
|
|
|
4662
4944
|
return { children: c.content, className: c.classToAdd };
|
|
4663
4945
|
}
|
|
4664
4946
|
if ("elemType" in c) {
|
|
4665
|
-
return {
|
|
4947
|
+
return {
|
|
4948
|
+
children: /* @__PURE__ */ jsx(
|
|
4949
|
+
IconButton,
|
|
4950
|
+
{
|
|
4951
|
+
icon: "Download",
|
|
4952
|
+
onClick: () => {
|
|
4953
|
+
window.open(
|
|
4954
|
+
makeApiaUrl({
|
|
4955
|
+
ajaxUrl: this.ajaxUrl,
|
|
4956
|
+
action: "download",
|
|
4957
|
+
id: r.id
|
|
4958
|
+
})
|
|
4959
|
+
);
|
|
4960
|
+
}
|
|
4961
|
+
}
|
|
4962
|
+
)
|
|
4963
|
+
};
|
|
4666
4964
|
}
|
|
4667
4965
|
}
|
|
4668
4966
|
return { children: c };
|
|
@@ -4678,20 +4976,29 @@ class MonDocQuery extends QueryController {
|
|
|
4678
4976
|
const typedResponse = response;
|
|
4679
4977
|
const retrievedColumns = arrayOrArray(typedResponse.columns);
|
|
4680
4978
|
const retrievedFilters = arrayOrArray(typedResponse.filters);
|
|
4979
|
+
const columns = retrievedColumns.map((c) => {
|
|
4980
|
+
const column = {
|
|
4981
|
+
label: c.label,
|
|
4982
|
+
name: c.name,
|
|
4983
|
+
allowSorting: c.allowSorting,
|
|
4984
|
+
dataSortBy: c.dataSortBy,
|
|
4985
|
+
sort: c.sort,
|
|
4986
|
+
toolTip: c.toolTip,
|
|
4987
|
+
minWidth: c.name === "docFile" ? "50px" : "25%",
|
|
4988
|
+
width: c.name === "docFile" ? "50px" : "25%"
|
|
4989
|
+
};
|
|
4990
|
+
return column;
|
|
4991
|
+
});
|
|
4992
|
+
if (response.additionalInfoInTable) {
|
|
4993
|
+
columns?.push({
|
|
4994
|
+
showAsAdditional: true,
|
|
4995
|
+
label: "moreInfo",
|
|
4996
|
+
name: "moreInfo",
|
|
4997
|
+
Renderer: makeAsyncRenderer((row) => this.getAdditionalInfo(row))
|
|
4998
|
+
});
|
|
4999
|
+
}
|
|
4681
5000
|
const returnObject = {
|
|
4682
|
-
columns:
|
|
4683
|
-
const column = {
|
|
4684
|
-
label: c.label,
|
|
4685
|
-
name: c.name,
|
|
4686
|
-
allowSorting: c.allowSorting,
|
|
4687
|
-
dataSortBy: c.dataSortBy,
|
|
4688
|
-
sort: c.sort,
|
|
4689
|
-
toolTip: c.toolTip,
|
|
4690
|
-
minWidth: c.name === "docFile" ? "50px" : "25%",
|
|
4691
|
-
width: c.name === "docFile" ? "50px" : "25%"
|
|
4692
|
-
};
|
|
4693
|
-
return column;
|
|
4694
|
-
}).filter((c) => c !== null),
|
|
5001
|
+
columns: columns.filter((c) => c !== null),
|
|
4695
5002
|
filters: arrayOrArray(retrievedFilters).map((f) => {
|
|
4696
5003
|
const filter = {
|
|
4697
5004
|
id: f.id,
|
|
@@ -4718,12 +5025,12 @@ class MonDocQuery extends QueryController {
|
|
|
4718
5025
|
return filter;
|
|
4719
5026
|
}),
|
|
4720
5027
|
description: "",
|
|
4721
|
-
hasAdditionalInformation:
|
|
4722
|
-
hideFilterTypes:
|
|
5028
|
+
hasAdditionalInformation: true,
|
|
5029
|
+
hideFilterTypes: true,
|
|
4723
5030
|
isDynamic: false,
|
|
4724
5031
|
openFiltersAutomatically: false,
|
|
4725
5032
|
runFiltersAutomatically: true,
|
|
4726
|
-
title:
|
|
5033
|
+
title: response.title,
|
|
4727
5034
|
queryData: { noExecFirstTime: true }
|
|
4728
5035
|
};
|
|
4729
5036
|
return returnObject;
|
|
@@ -4741,6 +5048,14 @@ class MonDocQuery extends QueryController {
|
|
|
4741
5048
|
class ApiaMonDocModal2 extends QueryModalController {
|
|
4742
5049
|
constructor() {
|
|
4743
5050
|
super(new MonDocQuery("/apia.execution.CustMonDocumentAction.run"));
|
|
5051
|
+
__publicField(this, "sx", {
|
|
5052
|
+
"tr.expired[class]": {
|
|
5053
|
+
color: "priorityUrgent",
|
|
5054
|
+
"&:hover": {
|
|
5055
|
+
color: "priorityUrgent"
|
|
5056
|
+
}
|
|
5057
|
+
}
|
|
5058
|
+
});
|
|
4744
5059
|
}
|
|
4745
5060
|
openModal(properties) {
|
|
4746
5061
|
this.queryController.setDynamicParams(
|