@simai-studio/view 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/package-receipt.json +356 -114
- package/dist/set.json +35 -2
- package/dist/smart/rule.js +94 -0
- package/dist/smart/rule.js.gz +0 -0
- package/dist/smart/view/component.json +10 -2
- package/dist/smart/view/component.json.gz +0 -0
- package/dist/smart/view/js/view.js +23 -6
- package/dist/smart/view/js/view.js.gz +0 -0
- package/dist/smart/view/js/view.min.js +1 -1
- package/dist/smart/view/js/view.min.js.gz +0 -0
- package/dist/smart/view/smart.manifest.json +10 -3
- package/dist/smart/view/smart.manifest.json.gz +0 -0
- package/dist/smart/view/static/default/open-record.html +12 -17
- package/dist/smart/view/static/default/open-record.html.gz +0 -0
- package/dist/smart/view/static/default/reference.html +12 -17
- package/dist/smart/view/static/default/reference.html.gz +0 -0
- package/dist/smart/view-flow/component.json +612 -0
- package/dist/smart/view-flow/component.json.gz +0 -0
- package/dist/smart/view-flow/css/view-flow.css +203 -0
- package/dist/smart/view-flow/css/view-flow.css.gz +0 -0
- package/dist/smart/view-flow/css/view-flow.min.css +2 -0
- package/dist/smart/view-flow/css/view-flow.min.css.gz +0 -0
- package/dist/smart/view-flow/examples.json +452 -0
- package/dist/smart/view-flow/examples.json.gz +0 -0
- package/dist/smart/view-flow/js/view-flow.js +5858 -0
- package/dist/smart/view-flow/js/view-flow.js.gz +0 -0
- package/dist/smart/view-flow/js/view-flow.min.js +638 -0
- package/dist/smart/view-flow/js/view-flow.min.js.gz +0 -0
- package/dist/smart/view-flow/lang/en.json +24 -0
- package/dist/smart/view-flow/lang/en.json.gz +0 -0
- package/dist/smart/view-flow/lang/ru.json +24 -0
- package/dist/smart/view-flow/lang/ru.json.gz +0 -0
- package/dist/smart/view-flow/probe.json +149 -0
- package/dist/smart/view-flow/probe.json.gz +0 -0
- package/dist/smart/view-flow/smart.manifest.json +478 -0
- package/dist/smart/view-flow/smart.manifest.json.gz +0 -0
- package/dist/smart/view-flow/static/default/answered.html +57 -0
- package/dist/smart/view-flow/static/default/answered.html.gz +0 -0
- package/dist/smart/view-flow/static/default/ask.html +146 -0
- package/dist/smart/view-flow/static/default/ask.html.gz +0 -0
- package/dist/smart/view-flow/static/default/expired.html +16 -0
- package/dist/smart/view-flow/static/default/expired.html.gz +0 -0
- package/dist/smart/view-flow/static/default/groups.html +44 -0
- package/dist/smart/view-flow/static/default/groups.html.gz +0 -0
- package/dist/smart/view-flow/static/default/reference.html +72 -0
- package/dist/smart/view-flow/static/default/reference.html.gz +0 -0
- package/dist/smart/view-flow/static/default/untitled.html +41 -0
- package/dist/smart/view-flow/static/default/untitled.html.gz +0 -0
- package/dist/smart/view-flow/static/sheets.json +443 -0
- package/dist/smart/view-flow/static/sheets.json.gz +0 -0
- package/dist/smart/view-flow/template/default.css +180 -0
- package/dist/smart/view-flow/template/default.css.gz +0 -0
- package/dist/smart/view-flow/template/default.js +136 -0
- package/dist/smart/view-flow/template/default.js.gz +0 -0
- package/dist/smart/view-properties/component.json +10 -2
- package/dist/smart/view-properties/component.json.gz +0 -0
- package/dist/smart/view-properties/css/view-properties.css +24 -19
- package/dist/smart/view-properties/css/view-properties.css.gz +0 -0
- package/dist/smart/view-properties/css/view-properties.min.css +1 -1
- package/dist/smart/view-properties/css/view-properties.min.css.gz +0 -0
- package/dist/smart/view-properties/js/view-properties.js +358 -185
- package/dist/smart/view-properties/js/view-properties.js.gz +0 -0
- package/dist/smart/view-properties/js/view-properties.min.js +94 -121
- package/dist/smart/view-properties/js/view-properties.min.js.gz +0 -0
- package/dist/smart/view-properties/lang/en.json +0 -7
- package/dist/smart/view-properties/lang/en.json.gz +0 -0
- package/dist/smart/view-properties/lang/ru.json +0 -7
- package/dist/smart/view-properties/lang/ru.json.gz +0 -0
- package/dist/smart/view-properties/smart.manifest.json +16 -9
- package/dist/smart/view-properties/smart.manifest.json.gz +0 -0
- package/dist/smart/view-properties/template/default.css +22 -19
- package/dist/smart/view-properties/template/default.css.gz +0 -0
- package/dist/smart/view-properties/template/default.js +1 -79
- package/dist/smart/view-properties/template/default.js.gz +0 -0
- package/dist/smart/view-table/component.json +10 -2
- package/dist/smart/view-table/component.json.gz +0 -0
- package/dist/smart/view-table/js/view-table.js +377 -88
- package/dist/smart/view-table/js/view-table.js.gz +0 -0
- package/dist/smart/view-table/js/view-table.min.js +58 -56
- package/dist/smart/view-table/js/view-table.min.js.gz +0 -0
- package/dist/smart/view-table/smart.manifest.json +11 -4
- package/dist/smart/view-table/smart.manifest.json.gz +0 -0
- package/dist/smart/view-table/template/default.js +1 -1
- package/dist/smart/view-table/template/default.js.gz +0 -0
- package/package.json +1 -1
|
@@ -69,6 +69,184 @@ function normalizeBadgeContract({
|
|
|
69
69
|
|
|
70
70
|
/***/ },
|
|
71
71
|
|
|
72
|
+
/***/ "e577837dd70a"
|
|
73
|
+
(module, __webpack_exports__, __webpack_require__) {
|
|
74
|
+
|
|
75
|
+
__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
|
|
76
|
+
__webpack_require__.r(__webpack_exports__);
|
|
77
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78
|
+
/* harmony export */ calendarDayOffset: () => (/* binding */ calendarDayOffset),
|
|
79
|
+
/* harmony export */ formatDate: () => (/* binding */ formatDate),
|
|
80
|
+
/* harmony export */ msUntilNextDay: () => (/* binding */ msUntilNextDay),
|
|
81
|
+
/* harmony export */ toDate: () => (/* reexport safe */ _format_intl_js__WEBPACK_IMPORTED_MODULE_0__.toDate)
|
|
82
|
+
/* harmony export */ });
|
|
83
|
+
/* harmony import */ var _format_intl_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("15b4e93ff6ed");
|
|
84
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_format_intl_js__WEBPACK_IMPORTED_MODULE_0__]);
|
|
85
|
+
var __webpack_async_dependencies_result__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
|
|
86
|
+
_format_intl_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_async_dependencies_result__[0];
|
|
87
|
+
// Dates in the page's language: formatDate, the calendar day offset and the
|
|
88
|
+
// next midnight, with no top-level side effects (format-intl.js). The same
|
|
89
|
+
// functions as core/js/format.js and SF.format; relative days and times are
|
|
90
|
+
// format-relative.js, so a bundle that writes a date does not carry them.
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
const DAY_MS = 86400000;
|
|
94
|
+
|
|
95
|
+
function hasDateStyle(style) {
|
|
96
|
+
return style === 'short' || style === 'medium' || style === 'long' || style === 'full';
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* A date, a time or both in the locale.
|
|
100
|
+
*
|
|
101
|
+
* formatDate(at) 3 нояб. 2026 г. / Nov 3, 2026
|
|
102
|
+
* formatDate(at, {date: 'short'}) 03.11.2026 / 11/3/26
|
|
103
|
+
* formatDate(at, {date: 'long'}) 3 ноября 2026 г. / November 3, 2026
|
|
104
|
+
* formatDate(at, {time: 'short'}) 3 нояб. 2026 г., 14:05
|
|
105
|
+
* formatDate(at, {date: null, time: 'short'}) 14:05 / 2:05 PM
|
|
106
|
+
*
|
|
107
|
+
* `date` and `time` are Intl styles (short, medium, long, full); `intl` gives
|
|
108
|
+
* Intl.DateTimeFormat options outright, for a form the styles do not name (a
|
|
109
|
+
* chart's tick, «14:05» with two-digit hours). Anything that is not a date is
|
|
110
|
+
* `gap`, '' by default.
|
|
111
|
+
*/
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
function formatDate(value, {
|
|
115
|
+
date = 'medium',
|
|
116
|
+
time = null,
|
|
117
|
+
intl = null,
|
|
118
|
+
gap = '',
|
|
119
|
+
...where
|
|
120
|
+
} = {}) {
|
|
121
|
+
const moment = (0,_format_intl_js__WEBPACK_IMPORTED_MODULE_0__.toDate)(value);
|
|
122
|
+
if (!moment) return gap;
|
|
123
|
+
let options = intl;
|
|
124
|
+
|
|
125
|
+
if (!options) {
|
|
126
|
+
options = {};
|
|
127
|
+
if (hasDateStyle(date)) options.dateStyle = date;
|
|
128
|
+
if (hasDateStyle(time)) options.timeStyle = time;
|
|
129
|
+
if (!options.dateStyle && !options.timeStyle) options.dateStyle = 'medium';
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
return (0,_format_intl_js__WEBPACK_IMPORTED_MODULE_0__.intlFormatter)('DateTimeFormat', (0,_format_intl_js__WEBPACK_IMPORTED_MODULE_0__.formatLocale)(where), options).format(moment);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Calendar days from `now` to the value in the reader's time zone: 0 today,
|
|
136
|
+
* -1 yesterday, 1 tomorrow; NaN when the value is no date. Counted on
|
|
137
|
+
* calendar dates, not 24-hour spans, so 23:59 yesterday is -1 at 00:01 and a
|
|
138
|
+
* day of a clock change is still one day.
|
|
139
|
+
*/
|
|
140
|
+
|
|
141
|
+
function calendarDayOffset(value, {
|
|
142
|
+
now = new Date()
|
|
143
|
+
} = {}) {
|
|
144
|
+
const moment = (0,_format_intl_js__WEBPACK_IMPORTED_MODULE_0__.toDate)(value);
|
|
145
|
+
const today = (0,_format_intl_js__WEBPACK_IMPORTED_MODULE_0__.toDate)(now);
|
|
146
|
+
if (!moment || !today) return Number.NaN;
|
|
147
|
+
const day = Date.UTC(moment.getFullYear(), moment.getMonth(), moment.getDate());
|
|
148
|
+
const base = Date.UTC(today.getFullYear(), today.getMonth(), today.getDate());
|
|
149
|
+
return Math.round((day - base) / DAY_MS);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Milliseconds from `now` to the reader's next midnight, when every relative
|
|
153
|
+
* day on the screen moves by one. A component that shows them sets a timer
|
|
154
|
+
* for this long (plus a second's margin, so it wakes in the new day) and
|
|
155
|
+
* draws them again; «сегодня» said yesterday is wrong by morning.
|
|
156
|
+
*/
|
|
157
|
+
|
|
158
|
+
function msUntilNextDay(now = new Date()) {
|
|
159
|
+
const today = (0,_format_intl_js__WEBPACK_IMPORTED_MODULE_0__.toDate)(now) ?? new Date();
|
|
160
|
+
const next = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1);
|
|
161
|
+
return next.getTime() - today.getTime();
|
|
162
|
+
}
|
|
163
|
+
__webpack_async_result__();
|
|
164
|
+
} catch(e) { __webpack_async_result__(e); } });
|
|
165
|
+
|
|
166
|
+
/***/ },
|
|
167
|
+
|
|
168
|
+
/***/ "15b4e93ff6ed"
|
|
169
|
+
(module, __webpack_exports__, __webpack_require__) {
|
|
170
|
+
|
|
171
|
+
__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
|
|
172
|
+
__webpack_require__.r(__webpack_exports__);
|
|
173
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
174
|
+
/* harmony export */ formatLocale: () => (/* binding */ formatLocale),
|
|
175
|
+
/* harmony export */ intlFormatter: () => (/* binding */ intlFormatter),
|
|
176
|
+
/* harmony export */ toDate: () => (/* binding */ toDate)
|
|
177
|
+
/* harmony export */ });
|
|
178
|
+
/* harmony import */ var _page_language_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("43090d1c8307");
|
|
179
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_page_language_js__WEBPACK_IMPORTED_MODULE_0__]);
|
|
180
|
+
var __webpack_async_dependencies_result__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
|
|
181
|
+
_page_language_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_async_dependencies_result__[0];
|
|
182
|
+
/* harmony import */ var _page_language_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_page_language_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
183
|
+
// The part every format module shares (core/js/format.js says what the
|
|
184
|
+
// helpers are): the locale a call formats in, a Date from what a host gives,
|
|
185
|
+
// and the Intl formatters, kept on a global every copy of these modules shares
|
|
186
|
+
// (bundles each carry their own module copy; page-language.js says why).
|
|
187
|
+
//
|
|
188
|
+
// No top-level side effects, here or in format-number.js, format-date.js,
|
|
189
|
+
// format-relative.js and format-file-size.js (ui-chart, 2026-11-05): a bundle
|
|
190
|
+
// that imports one function carries that function and what it calls, nothing
|
|
191
|
+
// else. The global is made on the first format, not on load, and SF.format is
|
|
192
|
+
// published by core's entry (index.js, publishFormat in format.js).
|
|
193
|
+
|
|
194
|
+
/** The locale a call formats in: the one it names, else its node's page language. */
|
|
195
|
+
|
|
196
|
+
function formatLocale({
|
|
197
|
+
locale,
|
|
198
|
+
node
|
|
199
|
+
} = {}) {
|
|
200
|
+
return String(locale || '').trim() || (0,_page_language_js__WEBPACK_IMPORTED_MODULE_0__.pageLocale)(node);
|
|
201
|
+
}
|
|
202
|
+
/** A Date from a Date, a time in milliseconds or a date string; null when it is none. */
|
|
203
|
+
|
|
204
|
+
function toDate(value) {
|
|
205
|
+
if (value === null || value === undefined || value === '') return null;
|
|
206
|
+
const date = value instanceof Date ? new Date(value.getTime()) : new Date(typeof value === 'string' && /^\d+$/u.test(value) ? Number(value) : value);
|
|
207
|
+
return Number.isNaN(date.getTime()) ? null : date;
|
|
208
|
+
} // The formatters every copy shares, made on the first call.
|
|
209
|
+
|
|
210
|
+
function formatterCache() {
|
|
211
|
+
const root = typeof globalThis !== 'undefined' ? globalThis : {};
|
|
212
|
+
if (!root.__sfFormat) root.__sfFormat = {
|
|
213
|
+
formatters: new Map()
|
|
214
|
+
};
|
|
215
|
+
return root.__sfFormat.formatters;
|
|
216
|
+
} // One formatter per kind, locale and options. An unknown locale falls back to
|
|
217
|
+
// the browser's, and options the platform refuses (an unknown unit or
|
|
218
|
+
// currency) to a plain number, so a typo in a page never throws at a reader.
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
function intlFormatter(kind, locale, options) {
|
|
222
|
+
const key = `${kind}|${locale}|${JSON.stringify(options)}`;
|
|
223
|
+
const cache = formatterCache();
|
|
224
|
+
if (cache.has(key)) return cache.get(key);
|
|
225
|
+
const Make = Intl[kind];
|
|
226
|
+
let made;
|
|
227
|
+
|
|
228
|
+
try {
|
|
229
|
+
made = new Make(locale || undefined, options);
|
|
230
|
+
} catch {
|
|
231
|
+
try {
|
|
232
|
+
made = new Make(undefined, options);
|
|
233
|
+
} catch {
|
|
234
|
+
made = new Make(locale || undefined, kind === 'NumberFormat' ? {
|
|
235
|
+
maximumFractionDigits: 2
|
|
236
|
+
} : {});
|
|
237
|
+
}
|
|
238
|
+
} // A page that formats in many locales does not grow the cache for ever.
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
if (cache.size >= 256) cache.delete(cache.keys().next().value);
|
|
242
|
+
cache.set(key, made);
|
|
243
|
+
return made;
|
|
244
|
+
}
|
|
245
|
+
__webpack_async_result__();
|
|
246
|
+
} catch(e) { __webpack_async_result__(e); } });
|
|
247
|
+
|
|
248
|
+
/***/ },
|
|
249
|
+
|
|
72
250
|
/***/ "51250bf01ab0"
|
|
73
251
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
74
252
|
|
|
@@ -2090,6 +2268,7 @@ function renderChoiceEdit(field, value, host) {
|
|
|
2090
2268
|
name=${fieldName(field)}
|
|
2091
2269
|
?required=${Boolean(field.required)}
|
|
2092
2270
|
value=${value ?? ''}
|
|
2271
|
+
placeholder=${field.placeholder || lit__WEBPACK_IMPORTED_MODULE_0__.nothing}
|
|
2093
2272
|
aria-label=${field.label || field.key || ''}
|
|
2094
2273
|
.options=${editOptions(field, value, false)}
|
|
2095
2274
|
@change=${event => host.setFieldValue(field, event.detail?.value ?? null)}
|
|
@@ -2143,6 +2322,7 @@ function renderChoicesEdit(field, value, host) {
|
|
|
2143
2322
|
search="false"
|
|
2144
2323
|
name=${fieldName(field)}
|
|
2145
2324
|
?required=${Boolean(field.required)}
|
|
2325
|
+
placeholder=${field.placeholder || lit__WEBPACK_IMPORTED_MODULE_0__.nothing}
|
|
2146
2326
|
aria-label=${field.label || field.key || ''}
|
|
2147
2327
|
.options=${editOptions(field, value, true)}
|
|
2148
2328
|
@change=${event => {
|
|
@@ -3498,21 +3678,25 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
3498
3678
|
/* harmony import */ var _js_templates_default__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("9d9caaf4f796");
|
|
3499
3679
|
/* harmony import */ var _helpers_option_badge_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("b30ec5bc0edb");
|
|
3500
3680
|
/* harmony import */ var _field_renderers_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("e5483002f3ea");
|
|
3501
|
-
/* harmony import */ var
|
|
3502
|
-
/* harmony import */ var
|
|
3503
|
-
/* harmony import */ var
|
|
3504
|
-
/* harmony import */ var
|
|
3505
|
-
/* harmony import */ var
|
|
3506
|
-
/* harmony import */ var
|
|
3507
|
-
/* harmony import */ var
|
|
3508
|
-
|
|
3509
|
-
|
|
3681
|
+
/* harmony import */ var _field_renderers_html_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("01ae054f01b4");
|
|
3682
|
+
/* harmony import */ var _js_format_value_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__("2f31b00ad99a");
|
|
3683
|
+
/* harmony import */ var lit__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__("2a080a730149");
|
|
3684
|
+
/* harmony import */ var lit_directives_ref_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__("8137feb490e0");
|
|
3685
|
+
/* harmony import */ var _core_js_page_language__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__("43090d1c8307");
|
|
3686
|
+
/* harmony import */ var _helpers_dom__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__("926043d18700");
|
|
3687
|
+
/* harmony import */ var _helpers_loaderDragState__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__("870b5dfddc25");
|
|
3688
|
+
/* harmony import */ var _core_js_position_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__("116963e5e31b");
|
|
3689
|
+
/* harmony import */ var _core_js_preferences_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__("51250bf01ab0");
|
|
3690
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_core_js_smart_base__WEBPACK_IMPORTED_MODULE_0__, _core_js_element_manifest__WEBPACK_IMPORTED_MODULE_1__, _js_templates_default__WEBPACK_IMPORTED_MODULE_7__, _field_renderers_index_js__WEBPACK_IMPORTED_MODULE_9__, _js_format_value_js__WEBPACK_IMPORTED_MODULE_11__, lit__WEBPACK_IMPORTED_MODULE_12__, lit_directives_ref_js__WEBPACK_IMPORTED_MODULE_13__, _core_js_page_language__WEBPACK_IMPORTED_MODULE_14__, _core_js_position_js__WEBPACK_IMPORTED_MODULE_17__]);
|
|
3691
|
+
([_core_js_smart_base__WEBPACK_IMPORTED_MODULE_0__, _core_js_element_manifest__WEBPACK_IMPORTED_MODULE_1__, _js_templates_default__WEBPACK_IMPORTED_MODULE_7__, _field_renderers_index_js__WEBPACK_IMPORTED_MODULE_9__, _js_format_value_js__WEBPACK_IMPORTED_MODULE_11__, lit__WEBPACK_IMPORTED_MODULE_12__, lit_directives_ref_js__WEBPACK_IMPORTED_MODULE_13__, _core_js_page_language__WEBPACK_IMPORTED_MODULE_14__, _core_js_position_js__WEBPACK_IMPORTED_MODULE_17__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
|
|
3510
3692
|
/* harmony import */ var _core_js_smart_base__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_core_js_smart_base__WEBPACK_IMPORTED_MODULE_0__);
|
|
3511
3693
|
/* harmony import */ var _core_js_element_manifest__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_core_js_element_manifest__WEBPACK_IMPORTED_MODULE_1__);
|
|
3512
|
-
/* harmony import */ var
|
|
3513
|
-
/* harmony import */ var
|
|
3514
|
-
/* harmony import */ var
|
|
3515
|
-
/* harmony import */ var
|
|
3694
|
+
/* harmony import */ var lit__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(lit__WEBPACK_IMPORTED_MODULE_12__);
|
|
3695
|
+
/* harmony import */ var lit_directives_ref_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(lit_directives_ref_js__WEBPACK_IMPORTED_MODULE_13__);
|
|
3696
|
+
/* harmony import */ var _core_js_page_language__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_core_js_page_language__WEBPACK_IMPORTED_MODULE_14__);
|
|
3697
|
+
/* harmony import */ var _core_js_position_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_core_js_position_js__WEBPACK_IMPORTED_MODULE_17__);
|
|
3698
|
+
|
|
3699
|
+
|
|
3516
3700
|
|
|
3517
3701
|
|
|
3518
3702
|
|
|
@@ -3541,7 +3725,7 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_cor
|
|
|
3541
3725
|
// SF.Preferences, the Framework's one store of view preferences (core
|
|
3542
3726
|
// publishes it; this bundle's copy is the fallback).
|
|
3543
3727
|
|
|
3544
|
-
const preferences = () => globalThis.SF?.Preferences ||
|
|
3728
|
+
const preferences = () => globalThis.SF?.Preferences || _core_js_preferences_js__WEBPACK_IMPORTED_MODULE_18__["default"];
|
|
3545
3729
|
|
|
3546
3730
|
const tablePreferenceKey = key => `sf-table/${String(key).replace(/[^\w.:-]+/gu, "-")}`; // What a cell may draw as markup rather than as an element of its own.
|
|
3547
3731
|
|
|
@@ -3578,7 +3762,7 @@ const TABLE_TEXT = {
|
|
|
3578
3762
|
};
|
|
3579
3763
|
const SYSTEM_COLUMN_KEYS = new Set(["select", "settings", "actions"]);
|
|
3580
3764
|
|
|
3581
|
-
const positioning = () => globalThis.SF?.Position || (
|
|
3765
|
+
const positioning = () => globalThis.SF?.Position || (_core_js_position_js__WEBPACK_IMPORTED_MODULE_17___default()); // Published Composition ports (simai.composition.port-manifest.v1, sf-view-table@1.0.0).
|
|
3582
3766
|
|
|
3583
3767
|
|
|
3584
3768
|
const SF_TABLE_PORTS = Object.freeze({
|
|
@@ -4521,10 +4705,10 @@ class SfTable extends TableElement {
|
|
|
4521
4705
|
}
|
|
4522
4706
|
|
|
4523
4707
|
renderBulkActions() {
|
|
4524
|
-
if (!this.state.bulkActions?.length) return
|
|
4708
|
+
if (!this.state.bulkActions?.length) return lit__WEBPACK_IMPORTED_MODULE_12__.nothing;
|
|
4525
4709
|
const selected = this.getSelectedRecordIds();
|
|
4526
|
-
return (0,
|
|
4527
|
-
${this.state.bulkActions.map(action => (0,
|
|
4710
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`<div class="flex flex-wrap gap-1/3">
|
|
4711
|
+
${this.state.bulkActions.map(action => (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`<sf-button
|
|
4528
4712
|
text=${action.name} ?disabled=${selected.length === 0}
|
|
4529
4713
|
@click=${() => {
|
|
4530
4714
|
const ids = this.getSelectedRecordIds();
|
|
@@ -4661,7 +4845,7 @@ class SfTable extends TableElement {
|
|
|
4661
4845
|
if (action) this.requestToolbarAction(action.id);
|
|
4662
4846
|
};
|
|
4663
4847
|
|
|
4664
|
-
return (0,
|
|
4848
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
4665
4849
|
<sf-menu-context
|
|
4666
4850
|
size=${this.size === "1/2" ? "1/2" : "1"}
|
|
4667
4851
|
:key=${x + y}
|
|
@@ -4720,7 +4904,7 @@ class SfTable extends TableElement {
|
|
|
4720
4904
|
|
|
4721
4905
|
const sortable = this.getColumns().filter(column => column?.sortable && !column.system && !["select", "settings", "actions"].includes(column.key));
|
|
4722
4906
|
const items = [option(this.text('sortNone'), null, null), ...sortable.flatMap(column => [option(`${column.label ?? column.key}, ${this.text('sortAscending')}`, column.key, 'asc'), option(`${column.label ?? column.key}, ${this.text('sortDescending')}`, column.key, 'desc')])];
|
|
4723
|
-
return (0,
|
|
4907
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
4724
4908
|
<sf-menu-context
|
|
4725
4909
|
size=${this.size === "1/2" ? "1/2" : "1"}
|
|
4726
4910
|
:key=${x + y}
|
|
@@ -4757,7 +4941,7 @@ class SfTable extends TableElement {
|
|
|
4757
4941
|
if (item) this.requestCreateIntent(item.id);
|
|
4758
4942
|
};
|
|
4759
4943
|
|
|
4760
|
-
return (0,
|
|
4944
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
4761
4945
|
<sf-menu-context
|
|
4762
4946
|
size=${this.size === "1/2" ? "1/2" : "1"}
|
|
4763
4947
|
:key=${x + y}
|
|
@@ -5340,7 +5524,7 @@ class SfTable extends TableElement {
|
|
|
5340
5524
|
if (typeof value !== "string" && typeof value !== "number" && typeof value !== "boolean") return null;
|
|
5341
5525
|
|
|
5342
5526
|
if (LONG_TEXT_CELL_TYPES.has(column.propertyType ?? column.property_type ?? column.type) && typeof value !== "boolean") {
|
|
5343
|
-
const text =
|
|
5527
|
+
const text = this.cellText(column, value);
|
|
5344
5528
|
return {
|
|
5345
5529
|
kind: "text",
|
|
5346
5530
|
className: "sf-table-cell-clip",
|
|
@@ -6747,6 +6931,19 @@ class SfTable extends TableElement {
|
|
|
6747
6931
|
columnTakesFloor(column) {
|
|
6748
6932
|
if (!column?.key || SYSTEM_COLUMN_KEYS.has(column.key)) return false;
|
|
6749
6933
|
return !(column.colWidth ?? column.width ?? column.size ?? column.min_width ?? column.minWidth);
|
|
6934
|
+
} // The settings column carries two things: the gear in its head, which
|
|
6935
|
+
// opens the column settings (settings-menu), and the ≡ in each row, which
|
|
6936
|
+
// opens the row's menu of actions. With neither -- no column settings, no
|
|
6937
|
+
// row actions to list, no rows to put in order -- it is an empty column
|
|
6938
|
+
// of buttons that open nothing, and it is not drawn (Larena, the sites
|
|
6939
|
+
// list, 2026-11-05: a «≡» column beside every row of a list without
|
|
6940
|
+
// actions).
|
|
6941
|
+
|
|
6942
|
+
|
|
6943
|
+
settingsColumnHasUse(props = this.getPropsContext()) {
|
|
6944
|
+
if (props.settingsMenu !== false) return true;
|
|
6945
|
+
if (props.rowReorder === true) return true;
|
|
6946
|
+
return (this.ACTIONS_SETTINGS_ROW ?? []).length > 0;
|
|
6750
6947
|
}
|
|
6751
6948
|
|
|
6752
6949
|
getSystemColumns() {
|
|
@@ -6757,7 +6954,7 @@ class SfTable extends TableElement {
|
|
|
6757
6954
|
columns.push(this.getSelectColumn());
|
|
6758
6955
|
}
|
|
6759
6956
|
|
|
6760
|
-
if (props.settings) {
|
|
6957
|
+
if (props.settings && this.settingsColumnHasUse(props)) {
|
|
6761
6958
|
columns.push(this.TABLE_SETTINGS_COLUMN);
|
|
6762
6959
|
}
|
|
6763
6960
|
|
|
@@ -6877,7 +7074,7 @@ class SfTable extends TableElement {
|
|
|
6877
7074
|
position
|
|
6878
7075
|
} = data;
|
|
6879
7076
|
const template = this.getSelectedFilterTemplate();
|
|
6880
|
-
return (0,
|
|
7077
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
6881
7078
|
<sf-menu-context
|
|
6882
7079
|
size=${this.size === "1/2" ? "1/2" : "1"}
|
|
6883
7080
|
:key=${x + y + this._renderToken}
|
|
@@ -6897,7 +7094,7 @@ class SfTable extends TableElement {
|
|
|
6897
7094
|
<div class="flex flex-col flex-1 gap-2" slot="content">
|
|
6898
7095
|
<div class="sf-table-context-top"><span class="sf-text-2 bold">Сохранение шаблона</span></div>
|
|
6899
7096
|
<div class="sf-table-context-main">
|
|
6900
|
-
<form ${(0,
|
|
7097
|
+
<form ${(0,lit_directives_ref_js__WEBPACK_IMPORTED_MODULE_13__.ref)(this.refs.templateForm)} id="save_template" class="flex flex-col gap-1/2">
|
|
6901
7098
|
<sf-input
|
|
6902
7099
|
size=${this.size}
|
|
6903
7100
|
appearance="filled"
|
|
@@ -7010,7 +7207,7 @@ class SfTable extends TableElement {
|
|
|
7010
7207
|
}
|
|
7011
7208
|
}
|
|
7012
7209
|
|
|
7013
|
-
return (0,
|
|
7210
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
7014
7211
|
<sf-menu-context
|
|
7015
7212
|
size=${this.size === "1/2" ? "1/2" : "1"}
|
|
7016
7213
|
:key=${x + y}
|
|
@@ -7442,14 +7639,14 @@ class SfTable extends TableElement {
|
|
|
7442
7639
|
return this.getColumnItems().filter(col => inGroup(col) && (!pin || col.system || this.matchesColumnQuery(col.label, query))).map(col => {
|
|
7443
7640
|
const itemRef = this.getItemRef(`${refPrefix}:${col.key}`) || false;
|
|
7444
7641
|
const isChecked = typeof checked === "function" ? Boolean(checked(col)) : Boolean(checked);
|
|
7445
|
-
const box = (0,
|
|
7642
|
+
const box = (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
7446
7643
|
<sf-checkbox
|
|
7447
7644
|
size=${this.size}
|
|
7448
7645
|
label=${col.label}
|
|
7449
7646
|
position="end"
|
|
7450
7647
|
root-class="content-main-between"
|
|
7451
7648
|
?checked=${isChecked}
|
|
7452
|
-
${(0,
|
|
7649
|
+
${(0,lit_directives_ref_js__WEBPACK_IMPORTED_MODULE_13__.ref)(itemRef)}
|
|
7453
7650
|
@change=${event => onChange?.(col, event)}
|
|
7454
7651
|
></sf-checkbox>
|
|
7455
7652
|
`;
|
|
@@ -7462,12 +7659,12 @@ class SfTable extends TableElement {
|
|
|
7462
7659
|
|
|
7463
7660
|
|
|
7464
7661
|
const pinned = this.isColumnPinned(col);
|
|
7465
|
-
return (0,
|
|
7662
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
7466
7663
|
<div class="sf-table-column-option flex items-cross-center gap-1/3"
|
|
7467
7664
|
data-column-key=${col.key}
|
|
7468
7665
|
data-sf-sortable-item=${col.key}
|
|
7469
7666
|
data-pinned=${pinned ? "1" : "0"}>
|
|
7470
|
-
${handle ? (0,
|
|
7667
|
+
${handle ? (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`<sf-button-icon
|
|
7471
7668
|
size="1/2"
|
|
7472
7669
|
appearance="link"
|
|
7473
7670
|
scheme="on-surface"
|
|
@@ -7476,7 +7673,7 @@ class SfTable extends TableElement {
|
|
|
7476
7673
|
data-sf-sortable-handle
|
|
7477
7674
|
root-class="sf-table-column-move cursor-grab"
|
|
7478
7675
|
aria-label=${`${this.text("columnMoveLabel", "column-move-label")}: ${col.label || col.key}`}
|
|
7479
|
-
></sf-button-icon>` :
|
|
7676
|
+
></sf-button-icon>` : lit__WEBPACK_IMPORTED_MODULE_12__.nothing}
|
|
7480
7677
|
<span class="flex-1 min-w-0">${box}</span>
|
|
7481
7678
|
<!-- A pinned column's pin is filled and a loose one's is
|
|
7482
7679
|
outlined, the way a pinned filter template already
|
|
@@ -7572,14 +7769,14 @@ class SfTable extends TableElement {
|
|
|
7572
7769
|
label,
|
|
7573
7770
|
onIntent
|
|
7574
7771
|
}) {
|
|
7575
|
-
const list = (group, rows) => rows.length ? (0,
|
|
7772
|
+
const list = (group, rows) => rows.length ? (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`<sf-sortable
|
|
7576
7773
|
group=${`${name}-${group}`}
|
|
7577
7774
|
data-group=${group}
|
|
7578
7775
|
label=${label}
|
|
7579
7776
|
class="flex flex-col gap-1/3"
|
|
7580
|
-
@sf-sortable-intent=${onIntent}>${rows}</sf-sortable>` :
|
|
7777
|
+
@sf-sortable-intent=${onIntent}>${rows}</sf-sortable>` : lit__WEBPACK_IMPORTED_MODULE_12__.nothing;
|
|
7581
7778
|
|
|
7582
|
-
return (0,
|
|
7779
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`${list('pinned', pinnedRows)}${list('loose', looseRows)}`;
|
|
7583
7780
|
}
|
|
7584
7781
|
|
|
7585
7782
|
getTableColsData(group = '') {
|
|
@@ -7908,7 +8105,31 @@ class SfTable extends TableElement {
|
|
|
7908
8105
|
// «2026-09-25T07:12:00+03:00» in a row, and a consumer had no way to
|
|
7909
8106
|
// change the second. The set still refuses to guess a format; this only
|
|
7910
8107
|
// lets the host say one (admin polygon, 2026-10-10).
|
|
7911
|
-
|
|
8108
|
+
const host = this.cellHost ?? null;
|
|
8109
|
+
const type = column.propertyType ?? column.property_type ?? column.type; // Several files are one value each, as several choices are tags: the
|
|
8110
|
+
// renderer set reads a file and not a list of them, so a column of
|
|
8111
|
+
// documents drew nothing at all (the Fields page, 2026-11-05). Each is
|
|
8112
|
+
// its name with its kind's icon, and what does not fit folds into «+N».
|
|
8113
|
+
|
|
8114
|
+
if (type === "file" && Array.isArray(value)) {
|
|
8115
|
+
const files = value.map(file => (0,_field_renderers_index_js__WEBPACK_IMPORTED_MODULE_9__.renderCellField)(column, file, host)).filter(item => item !== null && item !== undefined);
|
|
8116
|
+
return files.length ? files : null;
|
|
8117
|
+
}
|
|
8118
|
+
|
|
8119
|
+
const rendered = (0,_field_renderers_index_js__WEBPACK_IMPORTED_MODULE_9__.renderCellField)(column, value, host);
|
|
8120
|
+
if (rendered !== null && rendered !== undefined) return rendered; // A date the host did not format reads in the page's language rather
|
|
8121
|
+
// than as stored (format-date); the host's formatFieldValue still wins.
|
|
8122
|
+
|
|
8123
|
+
if (_js_format_value_js__WEBPACK_IMPORTED_MODULE_11__.DATE_TYPES.has(type)) return (0,_js_format_value_js__WEBPACK_IMPORTED_MODULE_11__.formatDateValue)(type, value, this) || null;
|
|
8124
|
+
return null;
|
|
8125
|
+
} // The text a long-text cell shows on its one line: formatted text is its
|
|
8126
|
+
// text, not its markup -- «<p>Этапы: <strong>дизайн</strong>…» stood in
|
|
8127
|
+
// the row as written (the Fields page, 2026-11-05).
|
|
8128
|
+
|
|
8129
|
+
|
|
8130
|
+
cellText(column = {}, value) {
|
|
8131
|
+
const type = column.propertyType ?? column.property_type ?? column.type;
|
|
8132
|
+
return type === "html" ? (0,_field_renderers_html_js__WEBPACK_IMPORTED_MODULE_10__.htmlText)(value) : String(value);
|
|
7912
8133
|
} // The filter controls were the Framework's only type-aware rendering, and
|
|
7913
8134
|
// Larena's request asks for one renderer set shared by the record view and
|
|
7914
8135
|
// the table's cells. Keeping these here as well would have made two maps
|
|
@@ -7939,20 +8160,20 @@ class SfTable extends TableElement {
|
|
|
7939
8160
|
const value = option.value ?? option.id ?? option.key ?? option.label ?? option.title;
|
|
7940
8161
|
const label = option.label || option.title || String(value || '');
|
|
7941
8162
|
const badge = field.filter?.optionRenderer === 'badge' ? (0,_helpers_option_badge_js__WEBPACK_IMPORTED_MODULE_8__.optionBadgeProps)(option) : null;
|
|
7942
|
-
return (0,
|
|
8163
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
7943
8164
|
<div
|
|
7944
|
-
${(0,
|
|
8165
|
+
${(0,lit_directives_ref_js__WEBPACK_IMPORTED_MODULE_13__.ref)(this.getItemRef(option.label))}
|
|
7945
8166
|
class="flex items-cross-center gap-1/2 content-main-between">
|
|
7946
8167
|
<div class="flex items-cross-center gap-1/2 min-w-0">
|
|
7947
|
-
${badge ? (0,
|
|
8168
|
+
${badge ? (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
7948
8169
|
<sf-badge
|
|
7949
8170
|
appearance="tonal"
|
|
7950
8171
|
scheme=${badge.scheme}
|
|
7951
|
-
root-style=${badge.rootStyle ||
|
|
7952
|
-
icon=${option.icon ||
|
|
8172
|
+
root-style=${badge.rootStyle || lit__WEBPACK_IMPORTED_MODULE_12__.nothing}
|
|
8173
|
+
icon=${option.icon || lit__WEBPACK_IMPORTED_MODULE_12__.nothing}
|
|
7953
8174
|
text=${label}
|
|
7954
8175
|
></sf-badge>
|
|
7955
|
-
` : (0,
|
|
8176
|
+
` : (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
7956
8177
|
${this.renderFilterOptionVisual(field, option)}
|
|
7957
8178
|
<span class="sf-text-1 truncate">${label}</span>
|
|
7958
8179
|
`}
|
|
@@ -7984,7 +8205,7 @@ class SfTable extends TableElement {
|
|
|
7984
8205
|
renderFilterOptionVisual(field = {}, option = {}) {
|
|
7985
8206
|
// A colour from the field's palette is shown as its swatch.
|
|
7986
8207
|
if (field.filter?.optionRenderer === 'swatch' && option.color) {
|
|
7987
|
-
return (0,
|
|
8208
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`<span class="sf-table-filter-swatch" aria-hidden="true" style=${`background-color: ${option.color}`}></span>`;
|
|
7988
8209
|
}
|
|
7989
8210
|
|
|
7990
8211
|
if (field.filter?.optionRenderer !== 'avatar-checkbox') {
|
|
@@ -7992,7 +8213,7 @@ class SfTable extends TableElement {
|
|
|
7992
8213
|
}
|
|
7993
8214
|
|
|
7994
8215
|
if (option.imageUrl) {
|
|
7995
|
-
return (0,
|
|
8216
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
7996
8217
|
<sf-avatar
|
|
7997
8218
|
size=${this.size}
|
|
7998
8219
|
image-url="${option.imageUrl}"
|
|
@@ -8001,7 +8222,7 @@ class SfTable extends TableElement {
|
|
|
8001
8222
|
`;
|
|
8002
8223
|
}
|
|
8003
8224
|
|
|
8004
|
-
return (0,
|
|
8225
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
8005
8226
|
<sf-avatar
|
|
8006
8227
|
size=${this.size}
|
|
8007
8228
|
heading="${option.avatarText || option.title || option.label || ''}"
|
|
@@ -8072,9 +8293,9 @@ class SfTable extends TableElement {
|
|
|
8072
8293
|
};
|
|
8073
8294
|
component = this.renderSmartElement(data.type, data.props);
|
|
8074
8295
|
} else {
|
|
8075
|
-
component = (0,
|
|
8296
|
+
component = (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
8076
8297
|
<div class="flex items-cross-center gap-1/4 flex-1">
|
|
8077
|
-
<sf-input size=${this.size} ${(0,
|
|
8298
|
+
<sf-input size=${this.size} ${(0,lit_directives_ref_js__WEBPACK_IMPORTED_MODULE_13__.ref)(this.refs.renameInput)} root-class="flex-1"
|
|
8078
8299
|
default-value="${col.label}"></sf-input>
|
|
8079
8300
|
<div class="flex items-cross-center flex-none">
|
|
8080
8301
|
<sf-button-icon size=${this.size} segment="start" appearance="outline" scheme="on-surface" @click="${() => {
|
|
@@ -8100,16 +8321,16 @@ class SfTable extends TableElement {
|
|
|
8100
8321
|
</div>`;
|
|
8101
8322
|
}
|
|
8102
8323
|
|
|
8103
|
-
return (0,
|
|
8324
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
8104
8325
|
<div
|
|
8105
8326
|
:key=${col.key}
|
|
8106
|
-
${(0,
|
|
8327
|
+
${(0,lit_directives_ref_js__WEBPACK_IMPORTED_MODULE_13__.ref)(this.getItemRef(col.label))}
|
|
8107
8328
|
class="sf-settings-context-menu-item flex items-cross-center flex-1 gap-1/3 ${col.deleted ? 'opacity-3' : ''}"
|
|
8108
8329
|
data-filter-template-key="${col.key}"
|
|
8109
8330
|
data-sf-sortable-item=${col.key}
|
|
8110
8331
|
data-pinned="${col.pinned ? "1" : "0"}"
|
|
8111
8332
|
>
|
|
8112
|
-
${!isActiveEdit ? (0,
|
|
8333
|
+
${!isActiveEdit ? (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
8113
8334
|
<sf-button-icon size=${this.size}
|
|
8114
8335
|
id="${this.getInstanceId()}--template-move--${col.key}"
|
|
8115
8336
|
appearance="link"
|
|
@@ -8119,9 +8340,9 @@ class SfTable extends TableElement {
|
|
|
8119
8340
|
aria-label=${`${this.text("templateMoveLabel")}: ${col.label}`}
|
|
8120
8341
|
icon="drag_indicator"
|
|
8121
8342
|
root-class="cursor-move"
|
|
8122
|
-
></sf-button-icon>` :
|
|
8343
|
+
></sf-button-icon>` : lit__WEBPACK_IMPORTED_MODULE_12__.nothing}
|
|
8123
8344
|
${component}
|
|
8124
|
-
${!isActiveEdit ? (0,
|
|
8345
|
+
${!isActiveEdit ? (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
8125
8346
|
<div class="flex items-cross-center m-inline-start-auto gap-1/3">
|
|
8126
8347
|
<sf-button-icon
|
|
8127
8348
|
appearance="link"
|
|
@@ -8152,14 +8373,14 @@ class SfTable extends TableElement {
|
|
|
8152
8373
|
});
|
|
8153
8374
|
}}
|
|
8154
8375
|
></sf-button-icon>
|
|
8155
|
-
</div>` :
|
|
8376
|
+
</div>` : lit__WEBPACK_IMPORTED_MODULE_12__.nothing}
|
|
8156
8377
|
</div>`;
|
|
8157
8378
|
});
|
|
8158
8379
|
const menuColumnCount = columnCount ?? columnsCount ?? this.contextMenuColumns ?? 1;
|
|
8159
8380
|
const colsData = this.getFilterTagColsData();
|
|
8160
8381
|
const columnGroups = this.splitItemsByColumns(colsData, menuColumnCount);
|
|
8161
8382
|
let contextItems = `${this.text('templatesTabText')}|${this.text('fieldsTabText')}`;
|
|
8162
|
-
return (0,
|
|
8383
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
8163
8384
|
<sf-menu-context
|
|
8164
8385
|
size=${this.size === "1/2" ? "1/2" : "1"}
|
|
8165
8386
|
:key=${x + y + this._renderToken}
|
|
@@ -8195,7 +8416,7 @@ class SfTable extends TableElement {
|
|
|
8195
8416
|
bottom, and the window keeps its width -- it grew under
|
|
8196
8417
|
the pointer when «Применить (2)» got longer. -->
|
|
8197
8418
|
<div class="sf-table-context-body flex flex-col flex-1" slot="content">
|
|
8198
|
-
${this._filterTab !== 'fields' ? (0,
|
|
8419
|
+
${this._filterTab !== 'fields' ? (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
8199
8420
|
<div
|
|
8200
8421
|
class="sf-context-menu-columns flex flex-col gap-1/4 overflow-auto flex-1"
|
|
8201
8422
|
data-filter-template-list
|
|
@@ -8205,9 +8426,9 @@ class SfTable extends TableElement {
|
|
|
8205
8426
|
label: this.text('templatesTabText'),
|
|
8206
8427
|
onIntent: event => this.onFilterTemplateIntent(event)
|
|
8207
8428
|
})}
|
|
8208
|
-
</div>` : (0,
|
|
8429
|
+
</div>` : (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
8209
8430
|
<div class="sf-context-menu-columns flex flex-1 gap-1 overflow-auto">
|
|
8210
|
-
${columnGroups.map(group => (0,
|
|
8431
|
+
${columnGroups.map(group => (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
8211
8432
|
<div class="flex flex-col gap-1 flex-1">
|
|
8212
8433
|
${group}
|
|
8213
8434
|
</div>
|
|
@@ -8288,7 +8509,7 @@ class SfTable extends TableElement {
|
|
|
8288
8509
|
control: this.getCurrentFilterTags()?.[fieldKey]?.control || 'text'
|
|
8289
8510
|
}
|
|
8290
8511
|
};
|
|
8291
|
-
return (0,
|
|
8512
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
8292
8513
|
<sf-menu-context
|
|
8293
8514
|
size=${this.size === "1/2" ? "1/2" : "1"}
|
|
8294
8515
|
:key=${x + y + this._renderToken}
|
|
@@ -8407,7 +8628,7 @@ class SfTable extends TableElement {
|
|
|
8407
8628
|
// bulk actions in the band under the table, so a third place to find
|
|
8408
8629
|
// them taught nobody anything.
|
|
8409
8630
|
|
|
8410
|
-
return (0,
|
|
8631
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
8411
8632
|
<sf-menu-context
|
|
8412
8633
|
size=${this.size === "1/2" ? "1/2" : "1"}
|
|
8413
8634
|
:key=${x + y + this._renderToken}
|
|
@@ -8443,7 +8664,7 @@ class SfTable extends TableElement {
|
|
|
8443
8664
|
stays while the rows scroll, and its width is its own.
|
|
8444
8665
|
Esc, a click outside and the gear again close it too. -->
|
|
8445
8666
|
<div class="sf-table-context-body flex flex-col flex-1" slot="content">
|
|
8446
|
-
${this._settingsTab === 'view' ? this.renderTableViewSettings() : (0,
|
|
8667
|
+
${this._settingsTab === 'view' ? this.renderTableViewSettings() : (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
8447
8668
|
<!-- The search: a site can have hundreds of fields, and
|
|
8448
8669
|
scrolling for one is not an answer. -->
|
|
8449
8670
|
<label class="sf-table-column-search flex flex-col">
|
|
@@ -8464,7 +8685,7 @@ class SfTable extends TableElement {
|
|
|
8464
8685
|
name: 'table-columns',
|
|
8465
8686
|
label: this.text('settingsColumnLabel'),
|
|
8466
8687
|
onIntent: event => this.onColumnSettingsIntent(event)
|
|
8467
|
-
}) : (0,
|
|
8688
|
+
}) : (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`<div class="sf-table-column-empty p-1 color-on-surface-variant">
|
|
8468
8689
|
${this.text("columnSearchEmptyText", "column-search-empty-text")}
|
|
8469
8690
|
</div>`}
|
|
8470
8691
|
</div>
|
|
@@ -8491,7 +8712,7 @@ class SfTable extends TableElement {
|
|
|
8491
8712
|
const size = this.size === "1/2" ? "1/2" : "1";
|
|
8492
8713
|
const everywhere = this._viewEverywhere === true;
|
|
8493
8714
|
|
|
8494
|
-
const row = (label, control) => (0,
|
|
8715
|
+
const row = (label, control) => (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`<div class="sf-table-settings-row">${control}<span>${label}</span></div>`;
|
|
8495
8716
|
|
|
8496
8717
|
const density = ["compact", "normal", "spacious"];
|
|
8497
8718
|
const label = {
|
|
@@ -8500,7 +8721,7 @@ class SfTable extends TableElement {
|
|
|
8500
8721
|
spacious: "viewDensitySpacious"
|
|
8501
8722
|
};
|
|
8502
8723
|
|
|
8503
|
-
const check = (field, text) => (0,
|
|
8724
|
+
const check = (field, text) => (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`<label class="sf-table-settings-row" data-view-option=${field}>
|
|
8504
8725
|
<sf-checkbox size=${size} ?checked=${view[field] === true}
|
|
8505
8726
|
@change=${event => this.setTableView({
|
|
8506
8727
|
[field]: Boolean(event.target?.checked ?? event.detail?.checked)
|
|
@@ -8509,11 +8730,11 @@ class SfTable extends TableElement {
|
|
|
8509
8730
|
})}></sf-checkbox>
|
|
8510
8731
|
<span>${this.text(text)}</span></label>`;
|
|
8511
8732
|
|
|
8512
|
-
return (0,
|
|
8733
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
8513
8734
|
<div class="sf-table-view-settings flex flex-col flex-1 gap-1/3" data-table-view-settings>
|
|
8514
8735
|
<div class="sf-table-settings-heading">${this.text('viewDensity')}</div>
|
|
8515
8736
|
<div role="radiogroup" aria-label=${this.text('viewDensity')} class="flex flex-col">
|
|
8516
|
-
${density.map(value => (0,
|
|
8737
|
+
${density.map(value => (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`<label class="sf-table-settings-row" data-view-density=${value}>
|
|
8517
8738
|
<sf-radio size=${size} name=${`${this.getInstanceId()}-density`} value=${value} ?checked=${view.density === value}
|
|
8518
8739
|
@change=${() => this.setTableView({
|
|
8519
8740
|
density: value
|
|
@@ -8525,13 +8746,13 @@ class SfTable extends TableElement {
|
|
|
8525
8746
|
${check("stripes", "viewStripes")}
|
|
8526
8747
|
${check("lines", "viewLines")}
|
|
8527
8748
|
${check("singleLine", "viewSingleLine")}
|
|
8528
|
-
${this.getAttribute("vertical-scroll") === "page" ? check("stickyHead", "viewStickyHead") :
|
|
8529
|
-
${this.viewPreferenceKey ? (0,
|
|
8530
|
-
${row(this.text('viewEverywhere'), (0,
|
|
8749
|
+
${this.getAttribute("vertical-scroll") === "page" ? check("stickyHead", "viewStickyHead") : lit__WEBPACK_IMPORTED_MODULE_12__.nothing}
|
|
8750
|
+
${this.viewPreferenceKey ? (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`<div class="sf-table-settings-separator" role="separator"></div>
|
|
8751
|
+
${row(this.text('viewEverywhere'), (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`<sf-checkbox size=${size} data-view-everywhere ?checked=${everywhere}
|
|
8531
8752
|
@change=${event => {
|
|
8532
8753
|
this._viewEverywhere = Boolean(event.target?.checked ?? event.detail?.checked);
|
|
8533
8754
|
this.requestComponentUpdate('view-everywhere');
|
|
8534
|
-
}}></sf-checkbox>`)}` :
|
|
8755
|
+
}}></sf-checkbox>`)}` : lit__WEBPACK_IMPORTED_MODULE_12__.nothing}
|
|
8535
8756
|
</div>`;
|
|
8536
8757
|
}
|
|
8537
8758
|
|
|
@@ -8580,7 +8801,7 @@ class SfTable extends TableElement {
|
|
|
8580
8801
|
const temp = this.getFilterTemplateByKey(template.key, this.tempSettings?.filter || null);
|
|
8581
8802
|
let isDeleted = (temp || template).deleted;
|
|
8582
8803
|
const isDefaultTemplate = (temp || template).default === true;
|
|
8583
|
-
return (0,
|
|
8804
|
+
return (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
8584
8805
|
<sf-menu-context
|
|
8585
8806
|
size=${this.size === "1/2" ? "1/2" : "1"}
|
|
8586
8807
|
:key=${`${template.key || ''}-${x}-${y}`}
|
|
@@ -8648,7 +8869,7 @@ class SfTable extends TableElement {
|
|
|
8648
8869
|
return this.renderTemplateActionsContextSubmenu(data);
|
|
8649
8870
|
|
|
8650
8871
|
default:
|
|
8651
|
-
return
|
|
8872
|
+
return lit__WEBPACK_IMPORTED_MODULE_12__.nothing;
|
|
8652
8873
|
}
|
|
8653
8874
|
}
|
|
8654
8875
|
|
|
@@ -8661,26 +8882,26 @@ class SfTable extends TableElement {
|
|
|
8661
8882
|
}
|
|
8662
8883
|
|
|
8663
8884
|
if (!data?.open) {
|
|
8664
|
-
(0,
|
|
8885
|
+
(0,lit__WEBPACK_IMPORTED_MODULE_12__.render)(null, this.getPortalContainer());
|
|
8665
8886
|
this.hidePortal();
|
|
8666
|
-
return
|
|
8887
|
+
return lit__WEBPACK_IMPORTED_MODULE_12__.nothing;
|
|
8667
8888
|
}
|
|
8668
8889
|
|
|
8669
|
-
(0,
|
|
8890
|
+
(0,lit__WEBPACK_IMPORTED_MODULE_12__.render)((0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
8670
8891
|
<div
|
|
8671
8892
|
class="sf-table-context-layer"
|
|
8672
|
-
data-sf-sheet=${this.isList && ["filter-settings", "tag-settings"].includes(data.menu) ? "" :
|
|
8673
|
-
${(0,
|
|
8893
|
+
data-sf-sheet=${this.isList && ["filter-settings", "tag-settings"].includes(data.menu) ? "" : lit__WEBPACK_IMPORTED_MODULE_12__.nothing}
|
|
8894
|
+
${(0,lit_directives_ref_js__WEBPACK_IMPORTED_MODULE_13__.ref)(this.refs.contextMenu)}
|
|
8674
8895
|
@click=${event => this.handleContextLayerClick(event)}
|
|
8675
8896
|
>
|
|
8676
8897
|
${this.renderMainContextMenu(data)}
|
|
8677
|
-
${data.submenu?.open ? this.renderContextSubmenu(data.submenu) :
|
|
8678
|
-
${this.isList && ["filter-settings", "tag-settings"].includes(data.menu) ? (0,
|
|
8898
|
+
${data.submenu?.open ? this.renderContextSubmenu(data.submenu) : lit__WEBPACK_IMPORTED_MODULE_12__.nothing}
|
|
8899
|
+
${this.isList && ["filter-settings", "tag-settings"].includes(data.menu) ? (0,lit__WEBPACK_IMPORTED_MODULE_12__.html)`
|
|
8679
8900
|
<div class="sf-table-sheet-close">
|
|
8680
8901
|
<sf-button-icon size=${this.size} appearance="link" scheme="on-surface"
|
|
8681
8902
|
icon="close" aria-label=${this.text('closeText')}
|
|
8682
8903
|
@click=${() => this.closeContextMenu()}></sf-button-icon>
|
|
8683
|
-
</div>` :
|
|
8904
|
+
</div>` : lit__WEBPACK_IMPORTED_MODULE_12__.nothing}
|
|
8684
8905
|
</div>
|
|
8685
8906
|
`, this.getPortalContainer());
|
|
8686
8907
|
this.showPortal();
|
|
@@ -8691,7 +8912,7 @@ class SfTable extends TableElement {
|
|
|
8691
8912
|
|
|
8692
8913
|
this.redrawWhenComponentsUpgrade(this.getPortalContainer());
|
|
8693
8914
|
});
|
|
8694
|
-
return
|
|
8915
|
+
return lit__WEBPACK_IMPORTED_MODULE_12__.nothing;
|
|
8695
8916
|
}
|
|
8696
8917
|
|
|
8697
8918
|
getActionItems() {
|
|
@@ -8935,7 +9156,7 @@ class SfTable extends TableElement {
|
|
|
8935
9156
|
start: () => {
|
|
8936
9157
|
state.dragging = true;
|
|
8937
9158
|
this._columnResizeState = state;
|
|
8938
|
-
(0,
|
|
9159
|
+
(0,_helpers_loaderDragState__WEBPACK_IMPORTED_MODULE_16__.setLoaderDragState)(true);
|
|
8939
9160
|
document.documentElement.classList.add('sf-table-column-resizing');
|
|
8940
9161
|
},
|
|
8941
9162
|
apply: width => {
|
|
@@ -8955,7 +9176,7 @@ class SfTable extends TableElement {
|
|
|
8955
9176
|
},
|
|
8956
9177
|
end: () => {
|
|
8957
9178
|
document.documentElement.classList.remove('sf-table-column-resizing');
|
|
8958
|
-
(0,
|
|
9179
|
+
(0,_helpers_loaderDragState__WEBPACK_IMPORTED_MODULE_16__.setLoaderDragState)(false);
|
|
8959
9180
|
this.suppressNextHeaderClick(); // The drag is over before the line goes: hidden while the
|
|
8960
9181
|
// state still said «resizing», it stayed on the edge.
|
|
8961
9182
|
|
|
@@ -9970,7 +10191,7 @@ class SfTable extends TableElement {
|
|
|
9970
10191
|
let parent = null;
|
|
9971
10192
|
|
|
9972
10193
|
if (opts.parent) {
|
|
9973
|
-
parent = (0,
|
|
10194
|
+
parent = (0,_helpers_dom__WEBPACK_IMPORTED_MODULE_15__.getParent)(event.target);
|
|
9974
10195
|
pos = parent.getBoundingClientRect();
|
|
9975
10196
|
anchor = parent;
|
|
9976
10197
|
}
|
|
@@ -10836,7 +11057,7 @@ class SfTable extends TableElement {
|
|
|
10836
11057
|
}
|
|
10837
11058
|
});
|
|
10838
11059
|
this.stopContextMenuPositions();
|
|
10839
|
-
(0,
|
|
11060
|
+
(0,lit__WEBPACK_IMPORTED_MODULE_12__.render)(null, this.getPortalContainer());
|
|
10840
11061
|
this.hidePortal();
|
|
10841
11062
|
|
|
10842
11063
|
if (this.refs.contextMenu) {
|
|
@@ -11063,7 +11284,7 @@ class SfTable extends TableElement {
|
|
|
11063
11284
|
this.contextTarget = null;
|
|
11064
11285
|
|
|
11065
11286
|
if (this._portalContainer) {
|
|
11066
|
-
(0,
|
|
11287
|
+
(0,lit__WEBPACK_IMPORTED_MODULE_12__.render)(null, this._portalContainer);
|
|
11067
11288
|
|
|
11068
11289
|
this._portalContainer.remove();
|
|
11069
11290
|
|
|
@@ -11086,7 +11307,7 @@ class SfTable extends TableElement {
|
|
|
11086
11307
|
|
|
11087
11308
|
|
|
11088
11309
|
text(key, attribute) {
|
|
11089
|
-
return attribute && this.getAttribute(attribute) || (0,
|
|
11310
|
+
return attribute && this.getAttribute(attribute) || (0,_core_js_page_language__WEBPACK_IMPORTED_MODULE_14__.pageText)(TABLE_TEXT, key, this);
|
|
11090
11311
|
}
|
|
11091
11312
|
|
|
11092
11313
|
templateContext() {
|
|
@@ -11122,7 +11343,7 @@ class SfTable extends TableElement {
|
|
|
11122
11343
|
return;
|
|
11123
11344
|
}
|
|
11124
11345
|
|
|
11125
|
-
const parentSpace = (0,
|
|
11346
|
+
const parentSpace = (0,_helpers_dom__WEBPACK_IMPORTED_MODULE_15__.setParentSpace)(this.refs.items);
|
|
11126
11347
|
|
|
11127
11348
|
if (!parentSpace) {
|
|
11128
11349
|
return;
|
|
@@ -11275,6 +11496,74 @@ __webpack_async_result__();
|
|
|
11275
11496
|
|
|
11276
11497
|
/***/ },
|
|
11277
11498
|
|
|
11499
|
+
/***/ "2f31b00ad99a"
|
|
11500
|
+
(module, __webpack_exports__, __webpack_require__) {
|
|
11501
|
+
|
|
11502
|
+
__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
|
|
11503
|
+
__webpack_require__.r(__webpack_exports__);
|
|
11504
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
11505
|
+
/* harmony export */ DATE_TYPES: () => (/* binding */ DATE_TYPES),
|
|
11506
|
+
/* harmony export */ formatDateValue: () => (/* binding */ formatDateValue)
|
|
11507
|
+
/* harmony export */ });
|
|
11508
|
+
/* harmony import */ var _core_js_format_date_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("e577837dd70a");
|
|
11509
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_core_js_format_date_js__WEBPACK_IMPORTED_MODULE_0__]);
|
|
11510
|
+
var __webpack_async_dependencies_result__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
|
|
11511
|
+
_core_js_format_date_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_async_dependencies_result__[0];
|
|
11512
|
+
// A date, a date and time or a time of day in the page's language, through
|
|
11513
|
+
// the SIMAI Framework's format-date module, for a value the host did not
|
|
11514
|
+
// format (formatFieldValue). The host's own text still wins; without one, a
|
|
11515
|
+
// date read «2026-11-02» where a person expects «2 нояб. 2026 г.».
|
|
11516
|
+
//
|
|
11517
|
+
// The forms are read as a host stores them: a day «YYYY-MM-DD» is that day on
|
|
11518
|
+
// the reader's calendar (not UTC midnight, which is the day before west of
|
|
11519
|
+
// Greenwich); a date and time with a zone is that moment in the reader's zone
|
|
11520
|
+
// and one without a zone is the wall clock as written; a time «hh:mm[:ss]» is
|
|
11521
|
+
// a time of day. Anything else is left for the caller to print as it came.
|
|
11522
|
+
|
|
11523
|
+
const DAY = /^(\d{4})-(\d{2})-(\d{2})$/u;
|
|
11524
|
+
const TIME = /^(\d{2}):(\d{2})(?::(\d{2})(?:\.\d+)?)?$/u;
|
|
11525
|
+
const DATE_TIME = /^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.\d+)?)?(Z|[+-]\d{2}:?\d{2})?$/u;
|
|
11526
|
+
const DATE_TYPES = new Set(['date', 'datetime', 'time']);
|
|
11527
|
+
|
|
11528
|
+
function readMoment(type, text) {
|
|
11529
|
+
const day = DAY.exec(text);
|
|
11530
|
+
if (day) return new Date(Number(day[1]), Number(day[2]) - 1, Number(day[3]));
|
|
11531
|
+
const time = TIME.exec(text);
|
|
11532
|
+
if (time) return type === 'time' ? new Date(2000, 0, 1, Number(time[1]), Number(time[2]), Number(time[3] ?? 0)) : null;
|
|
11533
|
+
const stamp = DATE_TIME.exec(text);
|
|
11534
|
+
if (!stamp) return null;
|
|
11535
|
+
|
|
11536
|
+
if (stamp[7]) {
|
|
11537
|
+
const moment = new Date(text.replace(' ', 'T'));
|
|
11538
|
+
return Number.isNaN(moment.getTime()) ? null : moment;
|
|
11539
|
+
}
|
|
11540
|
+
|
|
11541
|
+
return new Date(Number(stamp[1]), Number(stamp[2]) - 1, Number(stamp[3]), Number(stamp[4]), Number(stamp[5]), Number(stamp[6] ?? 0));
|
|
11542
|
+
} // The text for a value of a date type, or '' when it is not one this reads.
|
|
11543
|
+
|
|
11544
|
+
|
|
11545
|
+
function formatDateValue(type, value, node) {
|
|
11546
|
+
if (!DATE_TYPES.has(type) || typeof value !== 'string' || !value.trim()) return '';
|
|
11547
|
+
const text = value.trim();
|
|
11548
|
+
const moment = readMoment(type, text);
|
|
11549
|
+
if (!moment) return '';
|
|
11550
|
+
const hasTime = type !== 'date' && !DAY.test(text);
|
|
11551
|
+
if (type === 'time') return (0,_core_js_format_date_js__WEBPACK_IMPORTED_MODULE_0__.formatDate)(moment, {
|
|
11552
|
+
date: null,
|
|
11553
|
+
time: 'short',
|
|
11554
|
+
node
|
|
11555
|
+
});
|
|
11556
|
+
return (0,_core_js_format_date_js__WEBPACK_IMPORTED_MODULE_0__.formatDate)(moment, {
|
|
11557
|
+
date: 'medium',
|
|
11558
|
+
time: hasTime ? 'short' : null,
|
|
11559
|
+
node
|
|
11560
|
+
});
|
|
11561
|
+
}
|
|
11562
|
+
__webpack_async_result__();
|
|
11563
|
+
} catch(e) { __webpack_async_result__(e); } });
|
|
11564
|
+
|
|
11565
|
+
/***/ },
|
|
11566
|
+
|
|
11278
11567
|
/***/ "17828be41e75"
|
|
11279
11568
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
11280
11569
|
|
|
@@ -12472,7 +12761,7 @@ function renderTableTemplate(context) {
|
|
|
12472
12761
|
|
|
12473
12762
|
|
|
12474
12763
|
if (LONG_TEXT_TYPES.has(column.propertyType ?? column.property_type ?? column.type) && (typeof value === "string" || typeof value === "number")) {
|
|
12475
|
-
const text = String(value);
|
|
12764
|
+
const text = context.component?.cellText?.(column, value) ?? String(value);
|
|
12476
12765
|
return (0,lit__WEBPACK_IMPORTED_MODULE_0__.html)`<span class="sf-table-cell-clip" title=${text}>${text}</span>`;
|
|
12477
12766
|
} // The renderer set is asked before the shapes below, because a typed
|
|
12478
12767
|
// cell's value is often an object -- a user or a related record arrives
|
|
@@ -13686,7 +13975,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"$comment":"Dated aliases of sf-view-
|
|
|
13686
13975
|
/***/ "c1f17ed5a348"
|
|
13687
13976
|
(module) {
|
|
13688
13977
|
|
|
13689
|
-
module.exports = /*#__PURE__*/JSON.parse('{"id":"smart.view-table","tag":"sf-view-table","version":"1.
|
|
13978
|
+
module.exports = /*#__PURE__*/JSON.parse('{"id":"smart.view-table","tag":"sf-view-table","version":"1.15.0","kind":"leaf","settings":{"selectable":{"type":"boolean","default":true},"settings":{"type":"boolean","default":true},"actions":{"type":"boolean","default":true},"row-actions":{"type":"boolean","default":true},"creatable":{"type":"boolean","default":true},"filter-templates":{"type":"boolean","default":true},"settings-menu":{"type":"boolean","default":true},"pagin":{"type":"boolean","default":false},"filter-text":{"type":"string","default-from":"runtime.filter-text"},"clear-text":{"type":"string","default-from":"runtime.clear-text"},"search-placeholder":{"type":"string","default-from":"runtime.search-placeholder"},"create-text":{"type":"string","default-from":"runtime.create-text"},"pagination-total":{"type":"number","default":10,"integer":true,"min":0},"pagination-page-size":{"type":"number","default":10,"integer":true,"min":1,"max":100},"page-sizes":{"type":"string","default":"10,20,30,40"},"context-menu-columns":{"type":"number","default":1,"integer":true,"min":1,"max":4},"remember-widths":{"type":"boolean","default":false},"table-settings-key":{"type":"string","default":""},"data-state":{"type":"enum","values":["auto","loading","ready","populated","empty","error"],"default":"auto","x-alias":{"populated":"ready"}},"loading-text":{"type":"string","default-from":"runtime.loading-text"},"empty-text":{"type":"string","default-from":"runtime.empty-text"},"empty-description":{"type":"string"},"error-text":{"type":"string","default-from":"runtime.error-text"},"retry-text":{"type":"string","default-from":"runtime.retry-text"},"toolbar":{"type":"boolean","default":true},"pin-column-label":{"type":"string","default-from":"runtime.pin-column-label"},"unpin-column-label":{"type":"string","default-from":"runtime.unpin-column-label"},"column-move-label":{"type":"string","default-from":"runtime.column-move-label"},"column-search-placeholder":{"type":"string","default-from":"runtime.column-search-placeholder"},"column-search-empty-text":{"type":"string","default-from":"runtime.column-search-empty-text"},"vertical-scroll":{"type":"enum","values":["self","page"],"default":"self"},"filter-apply-text":{"type":"string","default-from":"runtime.filter-apply-text"},"layout":{"type":"enum","values":["auto","table","list"],"default":"table"},"list-below":{"type":"number","default":600},"list-fields":{"type":"number","default":3},"size":{"type":"enum","values":["1/2","1"],"default":"1"},"preferences-key":{"type":"string","default":""},"row-actions-visible":{"type":"enum","values":["hover","always"],"default":"hover"},"drag-rows":{"type":"boolean","default":false},"row-reorder":{"type":"boolean","default":false},"inline-edit":{"type":"boolean","default":false},"active-filter-fields":{"type":"list","entries":{"key":"id"}},"bulk-actions":{"type":"list"},"columns":{"type":"list","of":{"key":"string","label":"string"}},"create-items":{"type":"list"},"filter-fields":{"type":"list"},"rows":{"type":"list","entries":{"key":"id","changes":"revision"},"of":{"id":"id","revision":{"type":"string","optional":true}}},"table-data":{"type":"object"},"table-settings":{"type":"object"},"templates":{"type":"list"},"toolbar-actions":{"type":"list"},"sort":{"type":"list","of":{"key":"string","direction":{"type":"enum","values":["asc","desc"]}},"controlled":true},"current":{"type":"string","default":""}},"values":{"selected":{"type":"id","optional":true},"selection":{"type":"list","default":[]}},"events":{"select":{"carries":{"ids":"list"}},"apply":{"carries":{"action":"string","scope":{"type":"enum","values":["entry","selection","filter"]},"ids":"list","revisions":{"type":"object","optional":true}}},"save":{"carries":{"kind":{"type":"enum","values":["columns"]},"reason":"string","column-settings":{"type":"object"},"table-settings-key":{"type":"string"}}},"column-settings-reset":{"carries":{"target":{"type":"enum","values":["personal"]},"table-settings-key":{"type":"string","nullable":true}},"own-verb":true},"create":{"carries":{"item":{"type":"string","nullable":true,"optional":true}}},"filter-change":{"carries":{"template-key":{"type":"string"},"template-label":{"type":"string"},"values":{"type":"object"},"tags":{"type":"object"}},"own-verb":true},"query":{"carries":{"reason":"string","context":"object","sequence":{"type":"number","integer":true}}},"refresh":{"carries":{}},"search-change":{"carries":{"search":"string"},"own-verb":true},"sort-change":{"carries":{"key":{"type":"string","schema":{"minLength":1}},"direction":{"type":"enum","values":["asc","desc",null],"nullable":true}},"own-verb":true},"template-delete":{"carries":{"key":{"type":"string","schema":{"minLength":1}}},"own-verb":true},"template-save":{"carries":{},"own-verb":true},"template-select":{"carries":{"key":{"type":"string","schema":{"minLength":1}}},"own-verb":true},"toolbar-action":{"carries":{"action":"string","href":{"type":"string","nullable":true,"optional":true}},"cancelable":true,"own-verb":true},"reference-open":{"carries":{"field":"string","value":"object","href":"string"},"cancelable":true,"own-verb":true},"expand":{"carries":{"id":"id","expanded":{"type":"boolean","optional":true}}},"load-more":{"carries":{"direction":{"type":"enum","values":["after"]},"parent":{"type":"id","nullable":true},"cursor":{"type":"string","nullable":true}}},"rows-drag":{"carries":{"ids":{"type":"list","schema":{"items":{"type":"string"},"minItems":1}},"source":{"type":"string","nullable":true}},"own-verb":true},"move":{"carries":{"ids":"list","before":{"type":"id","nullable":true},"order":"list"}},"cell-set":{"carries":{"id":"object","key":"string","value":"object","revision":"object"},"own-verb":true},"view-change":{"carries":{"view":"object","everywhere":"boolean"},"own-verb":true},"window":{"carries":{"first":{"type":"number","integer":true},"last":{"type":"number","integer":true}},"own-verb":true}},"actions":{"add-rows":{"with":{"rows":"list"}},"apply-query-result":{"with":{"sequence":{"type":"number","integer":true,"schema":{"minimum":1}},"rows":"list"}},"clear-selection":{},"request-action-intent":{"with":{"action-id":{"type":"string","schema":{"minLength":1}},"record-ids":{"type":"list","schema":{"items":{"type":["string","integer"],"minLength":1},"minItems":1}}},"emits":"apply"},"request-create-intent":{"with":{"item-id":{"type":"string","optional":true,"nullable":true}},"emits":"create"},"request-retry":{"emits":"refresh"},"set-sort":{"with":{"key":{"type":"string","nullable":true},"direction":{"type":"enum","values":["asc","desc"],"nullable":true}}},"toggle-tree-row":{"with":{"row":"object"},"emits":"expand"},"request-tree-more":{"with":{"row":"object"},"emits":"load-more"},"focus-row":{"with":{"id":"id"}}},"port":{"id":"simai.dataview-port","version":"1.0.0","contract":"src/core/contracts/ports/simai.dataview-port/1.0.0/port.json"},"presentation":{"skeleton":{"late":["rows"]}},"host-states":{"data-sf-view-stripes":"boolean","data-sf-page-scroll":"boolean"},"css-variables":{"--sf-table-row-block-size-1/2":{"type":"length","state":"default"},"--sf-table-row-block-size-1":{"type":"length","state":"default"},"--sf-table-row-2-lines-block-size-1/2":{"type":"length","state":"default"},"--sf-table-row-2-lines-block-size-1":{"type":"length","state":"default"},"--sf-table-head-block-size-1/2":{"type":"length","state":"default"},"--sf-table-head-block-size-1":{"type":"length","state":"default"},"--sf-table-toolbar-block-size-1/2":{"type":"length","state":"default"},"--sf-table-toolbar-block-size-1":{"type":"length","state":"default"},"--sf-table-toolbar-gap":{"type":"length","state":"default"},"--sf-table-head--background-color":{"type":"color","state":"default"},"--sf-table-row--background-color":{"type":"color","state":"default"},"--sf-table--cell-spacing":{"type":"length","state":"default"},"--sf-table-cell--line-clamp":{"type":"number","state":"default"},"--sf-table-context-menu--z-index":{"type":"number","state":"open"},"--sf-table-context-menu--max-width":{"type":"length","state":"open"}}}');
|
|
13690
13979
|
|
|
13691
13980
|
/***/ },
|
|
13692
13981
|
|