@superleapai/flow-ui 2.3.9 → 2.4.1
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.
|
@@ -152,6 +152,7 @@
|
|
|
152
152
|
* @param {string} [config.size] - 'default' | 'large' | 'small'
|
|
153
153
|
* @param {number} [config.initialLimit] - Initial fetch limit (default 50)
|
|
154
154
|
* @param {Array<string>} [config.displayFields] - Fields to display as secondary info (e.g. ["email", "phone"])
|
|
155
|
+
* @param {Object} [config.initialFilter] - Optional filter object to merge with search (e.g. { field: "status", operator: "exact", value: "active" } or { and: [...] })
|
|
155
156
|
* @param {Object} [config.objectSchema] - Optional object type/schema; properties.icon_data { icon?, color? } used for static icon (not used for user; user shows Vivid Avatar)
|
|
156
157
|
* @returns {HTMLElement} Record multiselect container element
|
|
157
158
|
*/
|
|
@@ -166,6 +167,7 @@
|
|
|
166
167
|
var variant = config.variant || "default";
|
|
167
168
|
var size = config.size || "default";
|
|
168
169
|
var initialLimit = config.initialLimit != null ? config.initialLimit : 50;
|
|
170
|
+
var initialFilter = config.initialFilter || null; // Can be array, object, or function returning either
|
|
169
171
|
var displayFields = config.displayFields || [];
|
|
170
172
|
|
|
171
173
|
var disabled = config.disabled === true;
|
|
@@ -469,14 +471,22 @@
|
|
|
469
471
|
try {
|
|
470
472
|
if (model && typeof model.select === "function") {
|
|
471
473
|
var q = model.select.apply(model, fields);
|
|
474
|
+
var filters = [];
|
|
475
|
+
var resolvedFilter = typeof initialFilter === 'function' ? initialFilter() : initialFilter;
|
|
476
|
+
if (resolvedFilter) {
|
|
477
|
+
filters = filters.concat(Array.isArray(resolvedFilter) ? resolvedFilter : [resolvedFilter]);
|
|
478
|
+
}
|
|
472
479
|
if (search && search.trim()) {
|
|
473
|
-
|
|
480
|
+
filters.push({
|
|
474
481
|
or: [
|
|
475
482
|
{ field: "name", operator: "contains", value: search.trim() },
|
|
476
483
|
{ field: "id", operator: "eq", value: search.trim() },
|
|
477
484
|
],
|
|
478
485
|
});
|
|
479
486
|
}
|
|
487
|
+
if (filters.length > 0) {
|
|
488
|
+
q = q.filterBy(filters.length === 1 ? filters[0] : { and: filters });
|
|
489
|
+
}
|
|
480
490
|
var orderBy = ["name"];
|
|
481
491
|
if (objectSlug === "account") orderBy.push("-ParentId");
|
|
482
492
|
return q
|
|
@@ -145,6 +145,7 @@
|
|
|
145
145
|
* @param {string} [config.size] - 'default' | 'large' | 'small'
|
|
146
146
|
* @param {boolean} [config.canClear] - Show clear button when value is set
|
|
147
147
|
* @param {number} [config.initialLimit] - Initial fetch limit (default 50)
|
|
148
|
+
* @param {Object} [config.initialFilter] - Optional filter object to merge with search (e.g. { field: "status", operator: "exact", value: "active" } or { and: [...] })
|
|
148
149
|
* @param {Object} [config.objectSchema] - Optional object type/schema; properties.icon_data { svg?, color? } used for static icon (not used for user; user shows Vivid Avatar)
|
|
149
150
|
* @returns {HTMLElement} Record select container element
|
|
150
151
|
*/
|
|
@@ -159,6 +160,7 @@
|
|
|
159
160
|
var size = config.size || "default";
|
|
160
161
|
var canClear = !!config.canClear;
|
|
161
162
|
var initialLimit = config.initialLimit != null ? config.initialLimit : 50;
|
|
163
|
+
var initialFilter = config.initialFilter || null; // Can be array, object, or function returning either
|
|
162
164
|
|
|
163
165
|
var disabled = config.disabled === true;
|
|
164
166
|
var value =
|
|
@@ -484,14 +486,22 @@
|
|
|
484
486
|
try {
|
|
485
487
|
if (model && typeof model.select === "function") {
|
|
486
488
|
var q = model.select.apply(model, fields);
|
|
489
|
+
var filters = [];
|
|
490
|
+
var resolvedFilter = typeof initialFilter === 'function' ? initialFilter() : initialFilter;
|
|
491
|
+
if (resolvedFilter) {
|
|
492
|
+
filters = filters.concat(Array.isArray(resolvedFilter) ? resolvedFilter : [resolvedFilter]);
|
|
493
|
+
}
|
|
487
494
|
if (search && search.trim()) {
|
|
488
|
-
|
|
495
|
+
filters.push({
|
|
489
496
|
or: [
|
|
490
497
|
{ field: "name", operator: "contains", value: search.trim() },
|
|
491
498
|
{ field: "id", operator: "eq", value: search.trim() },
|
|
492
499
|
],
|
|
493
500
|
});
|
|
494
501
|
}
|
|
502
|
+
if (filters.length > 0) {
|
|
503
|
+
q = q.filterBy(filters.length === 1 ? filters[0] : { and: filters });
|
|
504
|
+
}
|
|
495
505
|
var orderBy = ["name"];
|
|
496
506
|
if (objectSlug === "account") orderBy.push("-ParentId");
|
|
497
507
|
return q
|