@limetech/lime-crm-building-blocks 1.105.0 → 1.105.2
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/CHANGELOG.md +14 -0
- package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
- package/dist/cjs/{lime-query-validation-82aa2855.js → lime-query-validation-6d419d03.js} +78 -16
- package/dist/cjs/limebb-document-item.cjs.entry.js +29 -8
- package/dist/cjs/limebb-document-picker.cjs.entry.js +3 -3
- package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +2 -2
- package/dist/cjs/limebb-lime-query-filter-group_3.cjs.entry.js +1 -1
- package/dist/cjs/limebb-lime-query-response-format-builder.cjs.entry.js +2 -2
- package/dist/cjs/limebb-property-selector.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{property-resolution-fb42a46b.js → property-resolution-5f798b03.js} +47 -0
- package/dist/collection/components/chat-list/chat-item/chat-item.js +2 -2
- package/dist/collection/components/chat-list/chat-list.js +2 -2
- package/dist/collection/components/component-command-picker/component-config/component-config.js +2 -2
- package/dist/collection/components/component-command-picker/component-picker/component-picker.js +2 -2
- package/dist/collection/components/date-picker/date-picker.js +2 -2
- package/dist/collection/components/date-range/date-range.js +2 -2
- package/dist/collection/components/document-picker/document-item/document-item.js +55 -10
- package/dist/collection/components/document-picker/document-picker.js +5 -5
- package/dist/collection/components/feed/feed-item/feed-timeline-item.js +2 -2
- package/dist/collection/components/feed/feed.js +2 -2
- package/dist/collection/components/info-tile/info-tile.js +2 -2
- package/dist/collection/components/kanban/kanban-group/kanban-group.js +2 -2
- package/dist/collection/components/kanban/kanban-item/kanban-item.js +2 -2
- package/dist/collection/components/kanban/kanban.js +2 -2
- package/dist/collection/components/lime-query-builder/lime-query-validation.js +78 -17
- package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +2 -2
- package/dist/collection/components/lime-query-builder/property-resolution.js +46 -0
- package/dist/collection/components/limeobject/file-viewer/file-viewer.js +2 -2
- package/dist/collection/components/loader/loader.js +2 -2
- package/dist/collection/components/locale-picker/locale-picker.js +2 -2
- package/dist/collection/components/notification-list/notification-item/notification-item.js +2 -2
- package/dist/collection/components/notification-list/notification-list.js +2 -2
- package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
- package/dist/collection/components/trend-indicator/trend-indicator.js +2 -2
- package/dist/components/document-item.js +31 -9
- package/dist/components/lime-query-validation.js +78 -16
- package/dist/components/limebb-document-picker.js +3 -3
- package/dist/components/property-selector.js +47 -1
- package/dist/esm/lime-crm-building-blocks.js +1 -1
- package/dist/esm/{lime-query-validation-9e386da8.js → lime-query-validation-237ee440.js} +78 -16
- package/dist/esm/limebb-document-item.entry.js +29 -8
- package/dist/esm/limebb-document-picker.entry.js +3 -3
- package/dist/esm/limebb-lime-query-builder.entry.js +2 -2
- package/dist/esm/limebb-lime-query-filter-group_3.entry.js +1 -1
- package/dist/esm/limebb-lime-query-response-format-builder.entry.js +2 -2
- package/dist/esm/limebb-property-selector.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{property-resolution-c21a1369.js → property-resolution-e4e8dcf7.js} +47 -1
- package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
- package/dist/lime-crm-building-blocks/{p-ac9e81c9.entry.js → p-09ce8be4.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-11aa4103.js +1 -0
- package/dist/lime-crm-building-blocks/p-2673c79e.entry.js +1 -0
- package/dist/lime-crm-building-blocks/p-80b9d946.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-d8696b23.entry.js → p-9c2062bc.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-b02c99d5.js +1 -0
- package/dist/lime-crm-building-blocks/{p-908dd7d5.entry.js → p-ee0e42dd.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-1421e1f8.entry.js → p-f7ea292d.entry.js} +1 -1
- package/dist/types/components/document-picker/document-item/document-item.d.ts +8 -1
- package/dist/types/components/document-picker/document-item/document-item.types.d.ts +3 -15
- package/dist/types/components/lime-query-builder/lime-query-validation.d.ts +14 -0
- package/dist/types/components/lime-query-builder/property-resolution.d.ts +12 -0
- package/dist/types/components.d.ts +96 -88
- package/package.json +4 -4
- package/dist/lime-crm-building-blocks/p-876701c6.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-9d25ed5a.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-b748c770.js +0 -1
- package/dist/lime-crm-building-blocks/p-efa5bcd4.js +0 -1
|
@@ -80,7 +80,7 @@ export class LocalePicker {
|
|
|
80
80
|
"name": "inheritdoc",
|
|
81
81
|
"text": undefined
|
|
82
82
|
}],
|
|
83
|
-
"text": "Reference to the platform"
|
|
83
|
+
"text": "Reference to the platform service container.\n\nUse this to access all platform services like repositories, HTTP client,\ncommand bus, navigator, and more. The platform instance is shared across\nall components in the same application context."
|
|
84
84
|
},
|
|
85
85
|
"getter": false,
|
|
86
86
|
"setter": false
|
|
@@ -106,7 +106,7 @@ export class LocalePicker {
|
|
|
106
106
|
"name": "inheritdoc",
|
|
107
107
|
"text": undefined
|
|
108
108
|
}],
|
|
109
|
-
"text": "The context this component
|
|
109
|
+
"text": "The context describing where this component is running.\n\nThe context provides information about the current limetype and record ID\n(if viewing/editing a specific record). Components can use this to load\nrelevant data and understand their operating environment."
|
|
110
110
|
},
|
|
111
111
|
"getter": false,
|
|
112
112
|
"setter": false,
|
|
@@ -178,7 +178,7 @@ export class NotificationListItem {
|
|
|
178
178
|
"name": "inheritdoc",
|
|
179
179
|
"text": undefined
|
|
180
180
|
}],
|
|
181
|
-
"text": "Reference to the platform"
|
|
181
|
+
"text": "Reference to the platform service container.\n\nUse this to access all platform services like repositories, HTTP client,\ncommand bus, navigator, and more. The platform instance is shared across\nall components in the same application context."
|
|
182
182
|
},
|
|
183
183
|
"getter": false,
|
|
184
184
|
"setter": false
|
|
@@ -204,7 +204,7 @@ export class NotificationListItem {
|
|
|
204
204
|
"name": "inheritdoc",
|
|
205
205
|
"text": undefined
|
|
206
206
|
}],
|
|
207
|
-
"text": "The context this component
|
|
207
|
+
"text": "The context describing where this component is running.\n\nThe context provides information about the current limetype and record ID\n(if viewing/editing a specific record). Components can use this to load\nrelevant data and understand their operating environment."
|
|
208
208
|
},
|
|
209
209
|
"getter": false,
|
|
210
210
|
"setter": false
|
|
@@ -114,7 +114,7 @@ export class NotificationList {
|
|
|
114
114
|
"name": "inheritdoc",
|
|
115
115
|
"text": undefined
|
|
116
116
|
}],
|
|
117
|
-
"text": "Reference to the platform"
|
|
117
|
+
"text": "Reference to the platform service container.\n\nUse this to access all platform services like repositories, HTTP client,\ncommand bus, navigator, and more. The platform instance is shared across\nall components in the same application context."
|
|
118
118
|
},
|
|
119
119
|
"getter": false,
|
|
120
120
|
"setter": false
|
|
@@ -140,7 +140,7 @@ export class NotificationList {
|
|
|
140
140
|
"name": "inheritdoc",
|
|
141
141
|
"text": undefined
|
|
142
142
|
}],
|
|
143
|
-
"text": "The context this component
|
|
143
|
+
"text": "The context describing where this component is running.\n\nThe context provides information about the current limetype and record ID\n(if viewing/editing a specific record). Components can use this to load\nrelevant data and understand their operating environment."
|
|
144
144
|
},
|
|
145
145
|
"getter": false,
|
|
146
146
|
"setter": false
|
|
@@ -232,7 +232,7 @@ export class PercentageVisualizer {
|
|
|
232
232
|
"name": "inherit",
|
|
233
233
|
"text": undefined
|
|
234
234
|
}],
|
|
235
|
-
"text": "Reference to the platform"
|
|
235
|
+
"text": "Reference to the platform service container.\n\nUse this to access all platform services like repositories, HTTP client,\ncommand bus, navigator, and more. The platform instance is shared across\nall components in the same application context."
|
|
236
236
|
},
|
|
237
237
|
"getter": false,
|
|
238
238
|
"setter": false
|
|
@@ -258,7 +258,7 @@ export class PercentageVisualizer {
|
|
|
258
258
|
"name": "inherit",
|
|
259
259
|
"text": undefined
|
|
260
260
|
}],
|
|
261
|
-
"text": "The context this component
|
|
261
|
+
"text": "The context describing where this component is running.\n\nThe context provides information about the current limetype and record ID\n(if viewing/editing a specific record). Components can use this to load\nrelevant data and understand their operating environment."
|
|
262
262
|
},
|
|
263
263
|
"getter": false,
|
|
264
264
|
"setter": false
|
|
@@ -187,7 +187,7 @@ export class TrendIndicator {
|
|
|
187
187
|
"name": "inherit",
|
|
188
188
|
"text": undefined
|
|
189
189
|
}],
|
|
190
|
-
"text": "Reference to the platform"
|
|
190
|
+
"text": "Reference to the platform service container.\n\nUse this to access all platform services like repositories, HTTP client,\ncommand bus, navigator, and more. The platform instance is shared across\nall components in the same application context."
|
|
191
191
|
},
|
|
192
192
|
"getter": false,
|
|
193
193
|
"setter": false
|
|
@@ -213,7 +213,7 @@ export class TrendIndicator {
|
|
|
213
213
|
"name": "inherit",
|
|
214
214
|
"text": undefined
|
|
215
215
|
}],
|
|
216
|
-
"text": "The context this component
|
|
216
|
+
"text": "The context describing where this component is running.\n\nThe context provides information about the current limetype and record ID\n(if viewing/editing a specific record). Components can use this to load\nrelevant data and understand their operating environment."
|
|
217
217
|
},
|
|
218
218
|
"getter": false,
|
|
219
219
|
"setter": false
|
|
@@ -52,6 +52,11 @@ const DocumentItemComponent = /*@__PURE__*/ proxyCustomElement(class DocumentIte
|
|
|
52
52
|
* - 'checkbox': renders a checkbox for multiple selection.
|
|
53
53
|
*/
|
|
54
54
|
this.type = 'checkbox';
|
|
55
|
+
/**
|
|
56
|
+
* The preferred file URL types to use when displaying
|
|
57
|
+
* the document's image preview.
|
|
58
|
+
*/
|
|
59
|
+
this.fileTypes = ['view', 'contents', 'download'];
|
|
55
60
|
this.handleDocumentItemClick = (event) => {
|
|
56
61
|
if (this.isUnavailable()) {
|
|
57
62
|
return;
|
|
@@ -111,21 +116,22 @@ const DocumentItemComponent = /*@__PURE__*/ proxyCustomElement(class DocumentIte
|
|
|
111
116
|
}
|
|
112
117
|
render() {
|
|
113
118
|
const isUnavailable = this.isUnavailable();
|
|
114
|
-
|
|
115
|
-
|
|
119
|
+
const image = this.getImage();
|
|
120
|
+
return (h(Host, { key: '7fc37bbc0185cdb38c837f2487c88f4d275d1c2f', id: String(this.item.file.id), class: {
|
|
121
|
+
'has-image': !!image,
|
|
116
122
|
'has-error': !!this.item.hasError,
|
|
117
|
-
}, role: this.type === 'radio' ? 'radio' : 'checkbox', "aria-checked": this.item.selected ? 'true' : 'false', "aria-disabled": isUnavailable ? 'true' : 'false', tabIndex: isUnavailable ? -1 : 0 }, h("limel-card", { key: '
|
|
123
|
+
}, role: this.type === 'radio' ? 'radio' : 'checkbox', "aria-checked": this.item.selected ? 'true' : 'false', "aria-disabled": isUnavailable ? 'true' : 'false', tabIndex: isUnavailable ? -1 : 0 }, h("limel-card", { key: 'da1329af4f1eac4617da054b5b02715b512631ff', image: image, clickable: isUnavailable ? false : true, onClick: this.handleDocumentItemClick, onKeyDown: this.handleKeyDown }, h("div", { key: 'a30361cfb76512065fe3cf1b513f31257cf115ee', slot: "component" }, this.renderFileSize(), this.renderBooleanInput())), this.renderHelp()));
|
|
118
124
|
}
|
|
119
125
|
renderBooleanInput() {
|
|
120
126
|
const id = this.getControlId();
|
|
121
127
|
if (this.type === 'radio') {
|
|
122
|
-
return (h("limel-radio-button", { id: id, label: this.item.
|
|
128
|
+
return (h("limel-radio-button", { id: id, label: this.item.file.filename, disabled: this.isUnavailable(), checked: this.item.selected, onClick: this.handleSelectionControlClick, onChange: this.handleSelectionControlChange }));
|
|
123
129
|
}
|
|
124
|
-
return (h("limel-checkbox", { id: id, label: this.item.
|
|
130
|
+
return (h("limel-checkbox", { id: id, label: this.item.file.filename, disabled: this.isUnavailable(), checked: this.item.selected, onClick: this.handleSelectionControlClick, onChange: this.handleSelectionControlChange }));
|
|
125
131
|
}
|
|
126
132
|
renderFileSize() {
|
|
127
|
-
var _a;
|
|
128
|
-
const formattedFileSize = formatBytes((_a = this.item) === null || _a === void 0 ? void 0 : _a.
|
|
133
|
+
var _a, _b;
|
|
134
|
+
const formattedFileSize = formatBytes((_b = (_a = this.item) === null || _a === void 0 ? void 0 : _a.file) === null || _b === void 0 ? void 0 : _b.size);
|
|
129
135
|
if (!formattedFileSize) {
|
|
130
136
|
return;
|
|
131
137
|
}
|
|
@@ -151,7 +157,7 @@ const DocumentItemComponent = /*@__PURE__*/ proxyCustomElement(class DocumentIte
|
|
|
151
157
|
this.interact.emit(Object.assign(Object.assign({}, this.item), { selected }));
|
|
152
158
|
}
|
|
153
159
|
getControlId() {
|
|
154
|
-
return `boolean-input-${String(this.item.id)}`;
|
|
160
|
+
return `boolean-input-${String(this.item.file.id)}`;
|
|
155
161
|
}
|
|
156
162
|
isUnavailable() {
|
|
157
163
|
var _a, _b;
|
|
@@ -165,13 +171,29 @@ const DocumentItemComponent = /*@__PURE__*/ proxyCustomElement(class DocumentIte
|
|
|
165
171
|
input.checked = false;
|
|
166
172
|
}
|
|
167
173
|
}
|
|
174
|
+
getImage() {
|
|
175
|
+
const href = this.hrefForFile();
|
|
176
|
+
if (!href) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
return {
|
|
180
|
+
src: href,
|
|
181
|
+
alt: this.item.file.filename,
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
hrefForFile() {
|
|
185
|
+
return ['preview', ...this.fileTypes]
|
|
186
|
+
.map((type) => this.item.file.getUrl(type))
|
|
187
|
+
.find(Boolean);
|
|
188
|
+
}
|
|
168
189
|
static get delegatesFocus() { return true; }
|
|
169
190
|
static get style() { return LimebbDocumentItemStyle0; }
|
|
170
191
|
}, [17, "limebb-document-item", {
|
|
171
192
|
"platform": [16],
|
|
172
193
|
"context": [16],
|
|
173
194
|
"item": [16],
|
|
174
|
-
"type": [513]
|
|
195
|
+
"type": [513],
|
|
196
|
+
"fileTypes": [16]
|
|
175
197
|
}]);
|
|
176
198
|
function defineCustomElement() {
|
|
177
199
|
if (typeof customElements === "undefined") {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Z as Zt } from './index.esm.js';
|
|
2
|
-
import { g as getPropertyFromPath, a as getNormalizedProperties } from './property-selector.js';
|
|
2
|
+
import { g as getPropertyFromPath, a as getNormalizedProperties, v as validatePropertyPath } from './property-selector.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Dynamic filter values and placeholders that are valid in Lime Query
|
|
@@ -85,6 +85,46 @@ function validatePlaceholder(value, activeLimetype, limetypes) {
|
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Validates a filter expression key (property path).
|
|
90
|
+
* Supports both regular property paths and placeholders.
|
|
91
|
+
*
|
|
92
|
+
* @param key - Property path to validate (e.g., "name", "company.name", "%activeObject%.name")
|
|
93
|
+
* @param limetypes - All limetype definitions
|
|
94
|
+
* @param limetype - The limetype being filtered
|
|
95
|
+
* @param activeLimetype - Active limetype for placeholder resolution
|
|
96
|
+
* @returns Validation result with error message if invalid
|
|
97
|
+
*/
|
|
98
|
+
function validateFilterKey(key, limetypes, limetype, activeLimetype) {
|
|
99
|
+
// 1. Handle empty/missing keys
|
|
100
|
+
if (!key) {
|
|
101
|
+
return { valid: false, error: 'Filter key cannot be empty' };
|
|
102
|
+
}
|
|
103
|
+
// 2. Check if key is a placeholder
|
|
104
|
+
if (key.startsWith('%activeObject%')) {
|
|
105
|
+
const placeholderResult = validatePlaceholder(key, activeLimetype, limetypes);
|
|
106
|
+
if (!placeholderResult.valid) {
|
|
107
|
+
return placeholderResult;
|
|
108
|
+
}
|
|
109
|
+
// Extract property path after the placeholder and validate for hasMany/hasAndBelongsToMany
|
|
110
|
+
const propertyPath = key.replace(/^%activeObject%\.?/, '');
|
|
111
|
+
if (propertyPath && activeLimetype) {
|
|
112
|
+
const { error } = validatePropertyPath(limetypes, activeLimetype, propertyPath);
|
|
113
|
+
if (error) {
|
|
114
|
+
return { valid: false, error };
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return placeholderResult;
|
|
118
|
+
}
|
|
119
|
+
// 3. Validate regular property path (including intermediate properties)
|
|
120
|
+
const { error } = validatePropertyPath(limetypes, limetype, key);
|
|
121
|
+
if (error) {
|
|
122
|
+
return { valid: false, error };
|
|
123
|
+
}
|
|
124
|
+
// validatePropertyPath always returns an error if property is undefined,
|
|
125
|
+
// so if we reach here, the property exists and is valid
|
|
126
|
+
return { valid: true };
|
|
127
|
+
}
|
|
88
128
|
/**
|
|
89
129
|
* Validate a response format against limetype schemas
|
|
90
130
|
* Throws errors for invalid property references
|
|
@@ -253,13 +293,19 @@ function validatePropertySelection(selection, limetypes, limetype, visualModeEna
|
|
|
253
293
|
* @param filter
|
|
254
294
|
* @param activeLimetype
|
|
255
295
|
* @param limetypes
|
|
296
|
+
* @param limetype
|
|
256
297
|
*/
|
|
257
|
-
function validateComparisonExpression(filter, activeLimetype, limetypes) {
|
|
298
|
+
function validateComparisonExpression(filter, activeLimetype, limetypes, limetype) {
|
|
258
299
|
// Validate operator
|
|
259
300
|
const allValidOperators = Object.values(Zt);
|
|
260
301
|
if (!allValidOperators.includes(filter.op)) {
|
|
261
302
|
throw new Error(`Unsupported filter operator: ${filter.op}`);
|
|
262
303
|
}
|
|
304
|
+
// Validate filter key
|
|
305
|
+
const keyResult = validateFilterKey(filter.key, limetypes, limetype, activeLimetype);
|
|
306
|
+
if (!keyResult.valid) {
|
|
307
|
+
throw new Error(`Invalid filter key '${filter.key}': ${keyResult.error}`);
|
|
308
|
+
}
|
|
263
309
|
// Validate placeholder
|
|
264
310
|
const result = validatePlaceholder(filter.exp, activeLimetype, limetypes);
|
|
265
311
|
if (!result.valid) {
|
|
@@ -271,9 +317,10 @@ function validateComparisonExpression(filter, activeLimetype, limetypes) {
|
|
|
271
317
|
* @param filter
|
|
272
318
|
* @param activeLimetype
|
|
273
319
|
* @param limetypes
|
|
320
|
+
* @param limetype
|
|
274
321
|
* @param visualModeEnabled
|
|
275
322
|
*/
|
|
276
|
-
function validateGroupExpression(filter, activeLimetype, limetypes, visualModeEnabled) {
|
|
323
|
+
function validateGroupExpression(filter, activeLimetype, limetypes, limetype, visualModeEnabled) {
|
|
277
324
|
// Validate operator
|
|
278
325
|
if (filter.op !== Zt.AND &&
|
|
279
326
|
filter.op !== Zt.OR &&
|
|
@@ -282,12 +329,12 @@ function validateGroupExpression(filter, activeLimetype, limetypes, visualModeEn
|
|
|
282
329
|
}
|
|
283
330
|
// Recursively validate children
|
|
284
331
|
if (filter.op === Zt.NOT) {
|
|
285
|
-
validateFilterPlaceholders(filter.exp, activeLimetype, limetypes, visualModeEnabled);
|
|
332
|
+
validateFilterPlaceholders(filter.exp, activeLimetype, limetypes, limetype, visualModeEnabled);
|
|
286
333
|
}
|
|
287
334
|
else if (filter.op === Zt.AND || filter.op === Zt.OR) {
|
|
288
335
|
const expressions = filter.exp;
|
|
289
336
|
for (const expr of expressions) {
|
|
290
|
-
validateFilterPlaceholders(expr, activeLimetype, limetypes, visualModeEnabled);
|
|
337
|
+
validateFilterPlaceholders(expr, activeLimetype, limetypes, limetype, visualModeEnabled);
|
|
291
338
|
}
|
|
292
339
|
}
|
|
293
340
|
}
|
|
@@ -296,37 +343,51 @@ function validateGroupExpression(filter, activeLimetype, limetypes, visualModeEn
|
|
|
296
343
|
* @param filter Filter expression to validate
|
|
297
344
|
* @param activeLimetype The limetype of the active object
|
|
298
345
|
* @param limetypes Record of all available limetypes
|
|
346
|
+
* @param limetype The limetype being filtered
|
|
299
347
|
* @param visualModeEnabled Whether visual mode is enabled (affects validation)
|
|
300
348
|
*/
|
|
301
|
-
function validateFilterPlaceholders(filter, activeLimetype, limetypes, visualModeEnabled = true) {
|
|
349
|
+
function validateFilterPlaceholders(filter, activeLimetype, limetypes, limetype, visualModeEnabled = true) {
|
|
302
350
|
if (!filter) {
|
|
303
351
|
return;
|
|
304
352
|
}
|
|
305
353
|
if ('key' in filter) {
|
|
306
|
-
validateComparisonExpression(filter, activeLimetype, limetypes);
|
|
354
|
+
validateComparisonExpression(filter, activeLimetype, limetypes, limetype);
|
|
307
355
|
return;
|
|
308
356
|
}
|
|
309
357
|
if ('exp' in filter) {
|
|
310
|
-
validateGroupExpression(filter, activeLimetype, limetypes, visualModeEnabled);
|
|
358
|
+
validateGroupExpression(filter, activeLimetype, limetypes, limetype, visualModeEnabled);
|
|
311
359
|
}
|
|
312
360
|
}
|
|
313
361
|
/**
|
|
314
|
-
* Validate Lime Query filter and collect errors
|
|
362
|
+
* Validate Lime Query filter and collect errors and visual mode limitations
|
|
315
363
|
* @param filter The filter expression or group to validate
|
|
316
364
|
* @param activeLimetype Optional active object limetype for placeholder validation
|
|
317
365
|
* @param limetypes Record of all available limetypes
|
|
366
|
+
* @param limetype The limetype being filtered
|
|
318
367
|
* @param visualModeEnabled Whether visual mode is enabled
|
|
319
|
-
* @returns
|
|
368
|
+
* @returns Object with validation errors and visual mode limitations
|
|
320
369
|
*/
|
|
321
|
-
function validateLimeQueryFilterInternal(filter, activeLimetype, limetypes, visualModeEnabled) {
|
|
370
|
+
function validateLimeQueryFilterInternal(filter, activeLimetype, limetypes, limetype, visualModeEnabled) {
|
|
322
371
|
const errors = [];
|
|
372
|
+
const limitations = [];
|
|
323
373
|
try {
|
|
324
|
-
validateFilterPlaceholders(filter, activeLimetype, limetypes, visualModeEnabled);
|
|
374
|
+
validateFilterPlaceholders(filter, activeLimetype, limetypes, limetype, visualModeEnabled);
|
|
325
375
|
}
|
|
326
376
|
catch (error) {
|
|
327
|
-
|
|
377
|
+
const errorMessage = error.message;
|
|
378
|
+
// Invalid keys are BOTH spec violations AND rendering limitations:
|
|
379
|
+
// - Backend will reject them (validation error)
|
|
380
|
+
// - Visual mode can't show them in property selector (visual limitation)
|
|
381
|
+
if (errorMessage.includes('Invalid filter key') ||
|
|
382
|
+
errorMessage.includes('Cannot filter on many-relation')) {
|
|
383
|
+
errors.push(`Invalid filter: ${errorMessage}`);
|
|
384
|
+
limitations.push(errorMessage);
|
|
385
|
+
}
|
|
386
|
+
else {
|
|
387
|
+
errors.push(`Invalid filter: ${errorMessage}`);
|
|
388
|
+
}
|
|
328
389
|
}
|
|
329
|
-
return errors;
|
|
390
|
+
return { errors, limitations };
|
|
330
391
|
}
|
|
331
392
|
/**
|
|
332
393
|
* Validate orderBy specification
|
|
@@ -495,8 +556,9 @@ function isLimeQuerySupported(limeQuery, limetypes, activeLimetype, visualModeEn
|
|
|
495
556
|
}
|
|
496
557
|
// Validate filter
|
|
497
558
|
if (limeQuery.filter) {
|
|
498
|
-
const
|
|
499
|
-
validationErrors.push(...
|
|
559
|
+
const { errors, limitations } = validateLimeQueryFilterInternal(limeQuery.filter, activeLimetype, limetypes, limeQuery.limetype, visualModeEnabled);
|
|
560
|
+
validationErrors.push(...errors);
|
|
561
|
+
visualModeLimitations.push(...limitations);
|
|
500
562
|
}
|
|
501
563
|
// Validate responseFormat
|
|
502
564
|
if (limeQuery.responseFormat) {
|
|
@@ -41,7 +41,7 @@ const DocumentPicker = /*@__PURE__*/ proxyCustomElement(class DocumentPicker ext
|
|
|
41
41
|
// or allow deselecting if clicking the already selected item
|
|
42
42
|
updatedItems = this.items
|
|
43
43
|
.map((item) => {
|
|
44
|
-
if (item.id === interactedItem.id) {
|
|
44
|
+
if (item.file.id === interactedItem.file.id) {
|
|
45
45
|
return Object.assign(Object.assign({}, item), { selected: interactedItem.selected });
|
|
46
46
|
}
|
|
47
47
|
return Object.assign(Object.assign({}, item), { selected: false });
|
|
@@ -51,7 +51,7 @@ const DocumentPicker = /*@__PURE__*/ proxyCustomElement(class DocumentPicker ext
|
|
|
51
51
|
else {
|
|
52
52
|
updatedItems = this.items
|
|
53
53
|
.map((item) => {
|
|
54
|
-
if (item.id === interactedItem.id) {
|
|
54
|
+
if (item.file.id === interactedItem.file.id) {
|
|
55
55
|
return Object.assign(Object.assign({}, item), { selected: interactedItem.selected });
|
|
56
56
|
}
|
|
57
57
|
return item;
|
|
@@ -73,7 +73,7 @@ const DocumentPicker = /*@__PURE__*/ proxyCustomElement(class DocumentPicker ext
|
|
|
73
73
|
return (h(Host, { key: '5e4a9004ed3b81b6c35be868c664e61cb88d490c' }, h("limel-notched-outline", { key: 'ada8928b3ed815896e1ef5fb61f539f0ab77c7af', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, hasFloatingLabel: true }, h("div", { key: '343aeef460a4ea4e0a4a247daf6988f749dc2b49', slot: "content", role: this.type === 'radio' ? 'radiogroup' : 'group', "aria-labelledby": this.label ? this.labelId : undefined, "aria-describedby": this.helperText ? this.helperTextId : undefined }, this.renderItems())), this.renderHelperLine()));
|
|
74
74
|
}
|
|
75
75
|
renderItems() {
|
|
76
|
-
return this.items.map((item) => (h("limebb-document-item", { platform: this.platform, context: this.context, item: item, key: item.id, type: this.type, onInteract: this.handleItemInteract })));
|
|
76
|
+
return this.items.map((item) => (h("limebb-document-item", { platform: this.platform, context: this.context, item: item, key: item.file.id, type: this.type, onInteract: this.handleItemInteract })));
|
|
77
77
|
}
|
|
78
78
|
static get style() { return LimebbDocumentPickerStyle0; }
|
|
79
79
|
}, [1, "limebb-document-picker", {
|
|
@@ -63,6 +63,52 @@ function getPropertyFromPath(limetypes, limetype, path) {
|
|
|
63
63
|
}
|
|
64
64
|
return property;
|
|
65
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Validates a property path to ensure no intermediate properties are hasMany or hasAndBelongsToMany relations.
|
|
68
|
+
* These relation types cannot be traversed in filter expressions.
|
|
69
|
+
* @param limetypes All limetype definitions
|
|
70
|
+
* @param limetype The starting limetype
|
|
71
|
+
* @param path The property path to validate (e.g., "company.name")
|
|
72
|
+
* @returns The property at the end of the path if valid, or undefined with error if invalid
|
|
73
|
+
*/
|
|
74
|
+
function validatePropertyPath(limetypes, limetype, path) {
|
|
75
|
+
if (!path || !limetype || !limetypes) {
|
|
76
|
+
return { property: undefined };
|
|
77
|
+
}
|
|
78
|
+
const parts = path.split('.');
|
|
79
|
+
let currentType = limetypes[limetype];
|
|
80
|
+
let property;
|
|
81
|
+
for (let i = 0; i < parts.length; i++) {
|
|
82
|
+
const part = parts[i];
|
|
83
|
+
if (!currentType) {
|
|
84
|
+
return { property: undefined };
|
|
85
|
+
}
|
|
86
|
+
const normalizedProperties = getNormalizedProperties(currentType);
|
|
87
|
+
property = normalizedProperties[part];
|
|
88
|
+
if (!property) {
|
|
89
|
+
return {
|
|
90
|
+
property: undefined,
|
|
91
|
+
error: `Property '${part}' does not exist on limetype '${currentType.name}'`,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
// Check if this property is a hasMany/hasAndBelongsToMany relation
|
|
95
|
+
// These cannot be traversed in filter expressions
|
|
96
|
+
if (property.type === 'hasmany' ||
|
|
97
|
+
property.type === 'hasandbelongstomany') {
|
|
98
|
+
// Build the path up to this point for the error message
|
|
99
|
+
const invalidPath = parts.slice(0, i + 1).join('.');
|
|
100
|
+
return {
|
|
101
|
+
property: undefined,
|
|
102
|
+
error: `Cannot filter on many-relation '${invalidPath}'. Use a related limetype's filter instead.`,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
// If this is a relation, get the related limetype for next iteration
|
|
106
|
+
if (property.relation) {
|
|
107
|
+
currentType = property.relation.getLimetype();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return { property };
|
|
111
|
+
}
|
|
66
112
|
|
|
67
113
|
const propertySelectorCss = ":host(limebb-property-selector){display:block}limel-menu{display:block;width:100%}";
|
|
68
114
|
const LimebbPropertySelectorStyle0 = propertySelectorCss;
|
|
@@ -323,4 +369,4 @@ function defineCustomElement() {
|
|
|
323
369
|
} });
|
|
324
370
|
}
|
|
325
371
|
|
|
326
|
-
export { PropertySelector as P, getNormalizedProperties as a, defineCustomElement as d, getPropertyFromPath as g };
|
|
372
|
+
export { PropertySelector as P, getNormalizedProperties as a, defineCustomElement as d, getPropertyFromPath as g, validatePropertyPath as v };
|
|
@@ -16,5 +16,5 @@ var patchBrowser = () => {
|
|
|
16
16
|
|
|
17
17
|
patchBrowser().then(async (options) => {
|
|
18
18
|
await globalScripts();
|
|
19
|
-
return bootstrapLazy(JSON.parse("[[\"limebb-lime-query-builder\",[[1,\"limebb-lime-query-builder\",{\"platform\":[16],\"context\":[16],\"value\":[16],\"label\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"limetypes\":[32],\"mode\":[32],\"codeValue\":[32],\"limetype\":[32],\"filter\":[32],\"internalResponseFormat\":[32],\"limit\":[32],\"orderBy\":[32],\"description\":[32]}]]],[\"limebb-feed\",[[1,\"limebb-feed\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"emptyStateMessage\":[1,\"empty-state-message\"],\"heading\":[1],\"loading\":[4],\"minutesOfProximity\":[2,\"minutes-of-proximity\"],\"totalCount\":[2,\"total-count\"],\"direction\":[513],\"lastVisitedTimestamp\":[1,\"last-visited-timestamp\"],\"highlightedItemId\":[8,\"highlighted-item-id\"]},null,{\"highlightedItemId\":[\"highlightedItemIdChanged\"]}]]],[\"limebb-kanban\",[[1,\"limebb-kanban\",{\"platform\":[16],\"context\":[16],\"groups\":[16]}]]],[\"limebb-lime-query-response-format-builder\",[[1,\"limebb-lime-query-response-format-builder\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[16],\"label\":[1],\"helperText\":[1,\"helper-text\"],\"limetypes\":[32],\"mode\":[32],\"codeValue\":[32],\"internalValue\":[32]}]]],[\"limebb-chat-list\",[[1,\"limebb-chat-list\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"loading\":[516],\"isTypingIndicatorVisible\":[516,\"is-typing-indicator-visible\"],\"lastVisitedTimestamp\":[513,\"last-visited-timestamp\"],\"order\":[513]},null,{\"items\":[\"handleItemsChange\"]}]]],[\"limebb-limeobject-file-viewer\",[[1,\"limebb-limeobject-file-viewer\",{\"platform\":[16],\"context\":[16],\"property\":[1],\"fileTypes\":[16],\"limeobject\":[32],\"limetype\":[32]}]]],[\"limebb-text-editor\",[[1,\"limebb-text-editor\",{\"platform\":[16],\"context\":[16],\"allowMentioning\":[4,\"allow-mentioning\"],\"contentType\":[1,\"content-type\"],\"language\":[513],\"disabled\":[516],\"readonly\":[516],\"helperText\":[513,\"helper-text\"],\"placeholder\":[513],\"label\":[513],\"invalid\":[516],\"required\":[516],\"selectedContext\":[16],\"ui\":[513],\"allowResize\":[4,\"allow-resize\"],\"value\":[1],\"draftIdentifier\":[1,\"draft-identifier\"],\"triggerMap\":[16],\"customElements\":[16],\"allowInlineImages\":[4,\"allow-inline-images\"],\"items\":[32],\"highlightedItemIndex\":[32],\"editorPickerQuery\":[32],\"searchableLimetypes\":[32],\"isPickerOpen\":[32],\"isSearching\":[32]},null,{\"isPickerOpen\":[\"watchOpen\"],\"editorPickerQuery\":[\"watchQuery\"]}]]],[\"limebb-date-range\",[[1,\"limebb-date-range\",{\"platform\":[16],\"context\":[16],\"startTime\":[16],\"endTime\":[16],\"startTimeLabel\":[1,\"start-time-label\"],\"endTimeLabel\":[1,\"end-time-label\"],\"language\":[1],\"timeFormat\":[1,\"time-format\"],\"type\":[1]}]]],[\"limebb-document-picker\",[[1,\"limebb-document-picker\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"invalid\":[516],\"required\":[516],\"type\":[513]}]]],[\"limebb-info-tile-currency-format\",[[1,\"limebb-info-tile-currency-format\",{\"platform\":[16],\"context\":[16],\"value\":[16]}]]],[\"limebb-notification-list\",[[1,\"limebb-notification-list\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"loading\":[4],\"lastVisitedTimestamp\":[1,\"last-visited-timestamp\"]},null,{\"items\":[\"handleItemsChange\"]}]]],[\"limebb-browser\",[[17,\"limebb-browser\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"layout\":[1],\"filter\":[32]}]]],[\"limebb-component-config\",[[1,\"limebb-component-config\",{\"platform\":[16],\"context\":[16],\"value\":[16],\"required\":[4],\"readonly\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"],\"formInfo\":[16],\"type\":[1],\"nameField\":[1,\"name-field\"],\"configComponent\":[32],\"configViewType\":[32]},null,{\"formInfo\":[\"watchFormInfo\"],\"configComponent\":[\"watchconfigComponent\"]}]]],[\"limebb-component-picker\",[[1,\"limebb-component-picker\",{\"platform\":[16],\"context\":[16],\"type\":[1],\"tags\":[16],\"value\":[1],\"copyLabel\":[1,\"copy-label\"],\"hideCopyButton\":[4,\"hide-copy-button\"],\"required\":[4],\"readonly\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"]}]]],[\"limebb-dashboard-widget\",[[1,\"limebb-dashboard-widget\",{\"heading\":[513],\"subheading\":[513],\"supportingText\":[513,\"supporting-text\"],\"icon\":[513]}]]],[\"limebb-icon-picker\",[[1,\"limebb-icon-picker\",{\"value\":[1],\"required\":[4],\"readonly\":[4],\"invalid\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"]}]]],[\"limebb-info-tile\",[[1,\"limebb-info-tile\",{\"platform\":[16],\"context\":[16],\"filterId\":[513,\"filter-id\"],\"disabled\":[4],\"icon\":[513],\"label\":[1],\"prefix\":[1],\"suffix\":[1],\"propertyName\":[1,\"property-name\"],\"aggregateOperator\":[1,\"aggregate-operator\"],\"format\":[16],\"config\":[32],\"filters\":[32],\"value\":[32],\"loading\":[32],\"error\":[32]},null,{\"filterId\":[\"watchFilterId\"],\"propertyName\":[\"watchPropertyName\"],\"aggregateOperator\":[\"watchAggregateOperator\"]}]]],[\"limebb-info-tile-date-format\",[[1,\"limebb-info-tile-date-format\",{\"value\":[16]}]]],[\"limebb-info-tile-decimal-format\",[[1,\"limebb-info-tile-decimal-format\",{\"value\":[16]}]]],[\"limebb-info-tile-format\",[[1,\"limebb-info-tile-format\",{\"platform\":[16],\"context\":[16],\"type\":[1],\"value\":[16]}]]],[\"limebb-info-tile-relative-date-format\",[[1,\"limebb-info-tile-relative-date-format\",{\"value\":[16]}]]],[\"limebb-info-tile-unit-format\",[[1,\"limebb-info-tile-unit-format\",{\"value\":[16]}]]],[\"limebb-loader\",[[1,\"limebb-loader\",{\"platform\":[16],\"context\":[16]}]]],[\"limebb-locale-picker\",[[1,\"limebb-locale-picker\",{\"platform\":[16],\"context\":[16],\"value\":[1],\"required\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"],\"readonly\":[4],\"multipleChoice\":[4,\"multiple-choice\"],\"allLanguages\":[32]}]]],[\"limebb-mention\",[[1,\"limebb-mention\",{\"limetype\":[1],\"objectid\":[2],\"limeobject\":[32]}]]],[\"limebb-mention-group-counter\",[[1,\"limebb-mention-group-counter\",{\"count\":[2],\"limetype\":[16],\"helperLabel\":[1,\"helper-label\"]}]]],[\"limebb-percentage-visualizer\",[[1,\"limebb-percentage-visualizer\",{\"platform\":[16],\"context\":[16],\"value\":[520],\"rangeMax\":[514,\"range-max\"],\"rangeMin\":[514,\"range-min\"],\"multiplier\":[514],\"label\":[513],\"invalid\":[516],\"required\":[516],\"helperText\":[513,\"helper-text\"],\"reducePresence\":[516,\"reduce-presence\"],\"displayPercentageColors\":[516,\"display-percentage-colors\"]},null,{\"value\":[\"valueChanged\"]}]]],[\"limebb-trend-indicator\",[[1,\"limebb-trend-indicator\",{\"platform\":[16],\"context\":[16],\"value\":[520],\"formerValue\":[514,\"former-value\"],\"suffix\":[513],\"label\":[513],\"invalid\":[516],\"required\":[516],\"helperText\":[513,\"helper-text\"],\"reducePresence\":[516,\"reduce-presence\"]},null,{\"value\":[\"valueChanged\"]}]]],[\"limebb-feed-timeline-item\",[[1,\"limebb-feed-timeline-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"ui\":[513],\"helperText\":[1,\"helper-text\"],\"hasError\":[516,\"has-error\"],\"isBundled\":[516,\"is-bundled\"],\"headingCanExpand\":[32],\"isHeadingExpanded\":[32],\"showMore\":[32],\"isTall\":[32]}]]],[\"limebb-kanban-item\",[[1,\"limebb-kanban-item\",{\"platform\":[16],\"context\":[16],\"item\":[16]}]]],[\"limebb-kanban-group\",[[1,\"limebb-kanban-group\",{\"platform\":[16],\"context\":[16],\"identifier\":[1],\"heading\":[513],\"help\":[1],\"items\":[16],\"summary\":[1],\"loading\":[516],\"totalCount\":[514,\"total-count\"]}]]],[\"limebb-text-editor-picker\",[[1,\"limebb-text-editor-picker\",{\"items\":[16],\"open\":[516],\"isSearching\":[4,\"is-searching\"],\"emptyMessage\":[1,\"empty-message\"]},null,{\"open\":[\"watchOpen\"]}]]],[\"limebb-currency-picker\",[[1,\"limebb-currency-picker\",{\"platform\":[16],\"context\":[16],\"label\":[513],\"currencies\":[16],\"helperText\":[513,\"helper-text\"],\"required\":[516],\"readonly\":[516],\"invalid\":[516],\"disabled\":[516],\"value\":[1]}]]],[\"limebb-date-picker\",[[1,\"limebb-date-picker\",{\"platform\":[16],\"context\":[16],\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"label\":[513],\"placeholder\":[513],\"helperText\":[513,\"helper-text\"],\"required\":[516],\"value\":[1],\"type\":[513]}]]],[\"limebb-document-item\",[[17,\"limebb-document-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"type\":[513]}]]],[\"limebb-live-docs-info\",[[1,\"limebb-live-docs-info\"]]],[\"limebb-notification-item\",[[1,\"limebb-notification-item\",{\"platform\":[16],\"context\":[16],\"item\":[16]}]]],[\"limebb-lime-query-order-by-item\",[[1,\"limebb-lime-query-order-by-item\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"item\":[16]}]]],[\"limebb-chat-item_2\",[[1,\"limebb-chat-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"helperText\":[1,\"helper-text\"],\"hasError\":[516,\"has-error\"]}],[1,\"limebb-typing-indicator\"]]],[\"limebb-feed-item-thumbnail-file-info\",[[1,\"limebb-feed-item-thumbnail-file-info\",{\"description\":[1]}]]],[\"limebb-lime-query-filter-builder_3\",[[1,\"limebb-lime-query-filter-builder\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}],[1,\"limebb-lime-query-order-by-editor\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[16],\"label\":[1],\"items\":[32]},null,{\"value\":[\"handleValueChange\"]}],[0,\"limebb-limetype-field\",{\"platform\":[16],\"context\":[16],\"label\":[513],\"required\":[516],\"readonly\":[516],\"disabled\":[516],\"value\":[513],\"helperText\":[513,\"helper-text\"],\"invalid\":[4],\"limetypes\":[16],\"propertyFields\":[16],\"fieldName\":[1,\"field-name\"],\"formInfo\":[16]}]]],[\"limebb-empty-state\",[[1,\"limebb-empty-state\",{\"heading\":[513],\"value\":[513],\"icon\":[16]}]]],[\"limebb-property-selector\",[[1,\"limebb-property-selector\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[1],\"label\":[1],\"required\":[4],\"helperText\":[1,\"helper-text\"],\"limetypes\":[32],\"isOpen\":[32],\"navigationPath\":[32]}]]],[\"limebb-lime-query-response-format-editor_2\",[[1,\"limebb-lime-query-response-format-editor\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[16],\"label\":[1],\"items\":[32]}],[1,\"limebb-lime-query-response-format-item\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"item\":[16],\"showAliasInput\":[32],\"showDescriptionInput\":[32]}]]],[\"limebb-navigation-button_2\",[[1,\"limebb-summary-popover\",{\"triggerDelay\":[514,\"trigger-delay\"],\"heading\":[513],\"subheading\":[513],\"image\":[16],\"icon\":[513],\"value\":[1],\"openDirection\":[513,\"open-direction\"],\"popoverMaxWidth\":[513,\"popover-max-width\"],\"popoverMaxHeight\":[513,\"popover-max-height\"],\"actions\":[16],\"isPopoverOpen\":[32]}],[17,\"limebb-navigation-button\",{\"href\":[513],\"tooltipLabel\":[513,\"tooltip-label\"],\"tooltipHelperLabel\":[513,\"tooltip-helper-label\"],\"type\":[513]}]]],[\"limebb-lime-query-filter-group_3\",[[1,\"limebb-lime-query-value-input\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"propertyPath\":[1,\"property-path\"],\"operator\":[1],\"value\":[8],\"label\":[1],\"limetypes\":[32],\"inputMode\":[32]}],[1,\"limebb-lime-query-filter-group\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16],\"value\":[32]}],[1,\"limebb-lime-query-filter-not\",{\"platform\":[16],\"context\":[16],\"label\":[1],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}]]],[\"limebb-lime-query-filter-comparison_2\",[[1,\"limebb-lime-query-filter-expression\",{\"platform\":[16],\"context\":[16],\"label\":[1],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}],[1,\"limebb-lime-query-filter-comparison\",{\"platform\":[16],\"context\":[16],\"label\":[513],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}]]]]"), options);
|
|
19
|
+
return bootstrapLazy(JSON.parse("[[\"limebb-lime-query-builder\",[[1,\"limebb-lime-query-builder\",{\"platform\":[16],\"context\":[16],\"value\":[16],\"label\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"limetypes\":[32],\"mode\":[32],\"codeValue\":[32],\"limetype\":[32],\"filter\":[32],\"internalResponseFormat\":[32],\"limit\":[32],\"orderBy\":[32],\"description\":[32]}]]],[\"limebb-feed\",[[1,\"limebb-feed\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"emptyStateMessage\":[1,\"empty-state-message\"],\"heading\":[1],\"loading\":[4],\"minutesOfProximity\":[2,\"minutes-of-proximity\"],\"totalCount\":[2,\"total-count\"],\"direction\":[513],\"lastVisitedTimestamp\":[1,\"last-visited-timestamp\"],\"highlightedItemId\":[8,\"highlighted-item-id\"]},null,{\"highlightedItemId\":[\"highlightedItemIdChanged\"]}]]],[\"limebb-kanban\",[[1,\"limebb-kanban\",{\"platform\":[16],\"context\":[16],\"groups\":[16]}]]],[\"limebb-lime-query-response-format-builder\",[[1,\"limebb-lime-query-response-format-builder\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[16],\"label\":[1],\"helperText\":[1,\"helper-text\"],\"limetypes\":[32],\"mode\":[32],\"codeValue\":[32],\"internalValue\":[32]}]]],[\"limebb-chat-list\",[[1,\"limebb-chat-list\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"loading\":[516],\"isTypingIndicatorVisible\":[516,\"is-typing-indicator-visible\"],\"lastVisitedTimestamp\":[513,\"last-visited-timestamp\"],\"order\":[513]},null,{\"items\":[\"handleItemsChange\"]}]]],[\"limebb-limeobject-file-viewer\",[[1,\"limebb-limeobject-file-viewer\",{\"platform\":[16],\"context\":[16],\"property\":[1],\"fileTypes\":[16],\"limeobject\":[32],\"limetype\":[32]}]]],[\"limebb-text-editor\",[[1,\"limebb-text-editor\",{\"platform\":[16],\"context\":[16],\"allowMentioning\":[4,\"allow-mentioning\"],\"contentType\":[1,\"content-type\"],\"language\":[513],\"disabled\":[516],\"readonly\":[516],\"helperText\":[513,\"helper-text\"],\"placeholder\":[513],\"label\":[513],\"invalid\":[516],\"required\":[516],\"selectedContext\":[16],\"ui\":[513],\"allowResize\":[4,\"allow-resize\"],\"value\":[1],\"draftIdentifier\":[1,\"draft-identifier\"],\"triggerMap\":[16],\"customElements\":[16],\"allowInlineImages\":[4,\"allow-inline-images\"],\"items\":[32],\"highlightedItemIndex\":[32],\"editorPickerQuery\":[32],\"searchableLimetypes\":[32],\"isPickerOpen\":[32],\"isSearching\":[32]},null,{\"isPickerOpen\":[\"watchOpen\"],\"editorPickerQuery\":[\"watchQuery\"]}]]],[\"limebb-date-range\",[[1,\"limebb-date-range\",{\"platform\":[16],\"context\":[16],\"startTime\":[16],\"endTime\":[16],\"startTimeLabel\":[1,\"start-time-label\"],\"endTimeLabel\":[1,\"end-time-label\"],\"language\":[1],\"timeFormat\":[1,\"time-format\"],\"type\":[1]}]]],[\"limebb-document-picker\",[[1,\"limebb-document-picker\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"invalid\":[516],\"required\":[516],\"type\":[513]}]]],[\"limebb-info-tile-currency-format\",[[1,\"limebb-info-tile-currency-format\",{\"platform\":[16],\"context\":[16],\"value\":[16]}]]],[\"limebb-notification-list\",[[1,\"limebb-notification-list\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"loading\":[4],\"lastVisitedTimestamp\":[1,\"last-visited-timestamp\"]},null,{\"items\":[\"handleItemsChange\"]}]]],[\"limebb-browser\",[[17,\"limebb-browser\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"layout\":[1],\"filter\":[32]}]]],[\"limebb-component-config\",[[1,\"limebb-component-config\",{\"platform\":[16],\"context\":[16],\"value\":[16],\"required\":[4],\"readonly\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"],\"formInfo\":[16],\"type\":[1],\"nameField\":[1,\"name-field\"],\"configComponent\":[32],\"configViewType\":[32]},null,{\"formInfo\":[\"watchFormInfo\"],\"configComponent\":[\"watchconfigComponent\"]}]]],[\"limebb-component-picker\",[[1,\"limebb-component-picker\",{\"platform\":[16],\"context\":[16],\"type\":[1],\"tags\":[16],\"value\":[1],\"copyLabel\":[1,\"copy-label\"],\"hideCopyButton\":[4,\"hide-copy-button\"],\"required\":[4],\"readonly\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"]}]]],[\"limebb-dashboard-widget\",[[1,\"limebb-dashboard-widget\",{\"heading\":[513],\"subheading\":[513],\"supportingText\":[513,\"supporting-text\"],\"icon\":[513]}]]],[\"limebb-icon-picker\",[[1,\"limebb-icon-picker\",{\"value\":[1],\"required\":[4],\"readonly\":[4],\"invalid\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"]}]]],[\"limebb-info-tile\",[[1,\"limebb-info-tile\",{\"platform\":[16],\"context\":[16],\"filterId\":[513,\"filter-id\"],\"disabled\":[4],\"icon\":[513],\"label\":[1],\"prefix\":[1],\"suffix\":[1],\"propertyName\":[1,\"property-name\"],\"aggregateOperator\":[1,\"aggregate-operator\"],\"format\":[16],\"config\":[32],\"filters\":[32],\"value\":[32],\"loading\":[32],\"error\":[32]},null,{\"filterId\":[\"watchFilterId\"],\"propertyName\":[\"watchPropertyName\"],\"aggregateOperator\":[\"watchAggregateOperator\"]}]]],[\"limebb-info-tile-date-format\",[[1,\"limebb-info-tile-date-format\",{\"value\":[16]}]]],[\"limebb-info-tile-decimal-format\",[[1,\"limebb-info-tile-decimal-format\",{\"value\":[16]}]]],[\"limebb-info-tile-format\",[[1,\"limebb-info-tile-format\",{\"platform\":[16],\"context\":[16],\"type\":[1],\"value\":[16]}]]],[\"limebb-info-tile-relative-date-format\",[[1,\"limebb-info-tile-relative-date-format\",{\"value\":[16]}]]],[\"limebb-info-tile-unit-format\",[[1,\"limebb-info-tile-unit-format\",{\"value\":[16]}]]],[\"limebb-loader\",[[1,\"limebb-loader\",{\"platform\":[16],\"context\":[16]}]]],[\"limebb-locale-picker\",[[1,\"limebb-locale-picker\",{\"platform\":[16],\"context\":[16],\"value\":[1],\"required\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"],\"readonly\":[4],\"multipleChoice\":[4,\"multiple-choice\"],\"allLanguages\":[32]}]]],[\"limebb-mention\",[[1,\"limebb-mention\",{\"limetype\":[1],\"objectid\":[2],\"limeobject\":[32]}]]],[\"limebb-mention-group-counter\",[[1,\"limebb-mention-group-counter\",{\"count\":[2],\"limetype\":[16],\"helperLabel\":[1,\"helper-label\"]}]]],[\"limebb-percentage-visualizer\",[[1,\"limebb-percentage-visualizer\",{\"platform\":[16],\"context\":[16],\"value\":[520],\"rangeMax\":[514,\"range-max\"],\"rangeMin\":[514,\"range-min\"],\"multiplier\":[514],\"label\":[513],\"invalid\":[516],\"required\":[516],\"helperText\":[513,\"helper-text\"],\"reducePresence\":[516,\"reduce-presence\"],\"displayPercentageColors\":[516,\"display-percentage-colors\"]},null,{\"value\":[\"valueChanged\"]}]]],[\"limebb-trend-indicator\",[[1,\"limebb-trend-indicator\",{\"platform\":[16],\"context\":[16],\"value\":[520],\"formerValue\":[514,\"former-value\"],\"suffix\":[513],\"label\":[513],\"invalid\":[516],\"required\":[516],\"helperText\":[513,\"helper-text\"],\"reducePresence\":[516,\"reduce-presence\"]},null,{\"value\":[\"valueChanged\"]}]]],[\"limebb-feed-timeline-item\",[[1,\"limebb-feed-timeline-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"ui\":[513],\"helperText\":[1,\"helper-text\"],\"hasError\":[516,\"has-error\"],\"isBundled\":[516,\"is-bundled\"],\"headingCanExpand\":[32],\"isHeadingExpanded\":[32],\"showMore\":[32],\"isTall\":[32]}]]],[\"limebb-kanban-item\",[[1,\"limebb-kanban-item\",{\"platform\":[16],\"context\":[16],\"item\":[16]}]]],[\"limebb-kanban-group\",[[1,\"limebb-kanban-group\",{\"platform\":[16],\"context\":[16],\"identifier\":[1],\"heading\":[513],\"help\":[1],\"items\":[16],\"summary\":[1],\"loading\":[516],\"totalCount\":[514,\"total-count\"]}]]],[\"limebb-text-editor-picker\",[[1,\"limebb-text-editor-picker\",{\"items\":[16],\"open\":[516],\"isSearching\":[4,\"is-searching\"],\"emptyMessage\":[1,\"empty-message\"]},null,{\"open\":[\"watchOpen\"]}]]],[\"limebb-currency-picker\",[[1,\"limebb-currency-picker\",{\"platform\":[16],\"context\":[16],\"label\":[513],\"currencies\":[16],\"helperText\":[513,\"helper-text\"],\"required\":[516],\"readonly\":[516],\"invalid\":[516],\"disabled\":[516],\"value\":[1]}]]],[\"limebb-date-picker\",[[1,\"limebb-date-picker\",{\"platform\":[16],\"context\":[16],\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"label\":[513],\"placeholder\":[513],\"helperText\":[513,\"helper-text\"],\"required\":[516],\"value\":[1],\"type\":[513]}]]],[\"limebb-document-item\",[[17,\"limebb-document-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"type\":[513],\"fileTypes\":[16]}]]],[\"limebb-live-docs-info\",[[1,\"limebb-live-docs-info\"]]],[\"limebb-notification-item\",[[1,\"limebb-notification-item\",{\"platform\":[16],\"context\":[16],\"item\":[16]}]]],[\"limebb-lime-query-order-by-item\",[[1,\"limebb-lime-query-order-by-item\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"item\":[16]}]]],[\"limebb-chat-item_2\",[[1,\"limebb-chat-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"helperText\":[1,\"helper-text\"],\"hasError\":[516,\"has-error\"]}],[1,\"limebb-typing-indicator\"]]],[\"limebb-feed-item-thumbnail-file-info\",[[1,\"limebb-feed-item-thumbnail-file-info\",{\"description\":[1]}]]],[\"limebb-lime-query-filter-builder_3\",[[1,\"limebb-lime-query-filter-builder\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}],[1,\"limebb-lime-query-order-by-editor\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[16],\"label\":[1],\"items\":[32]},null,{\"value\":[\"handleValueChange\"]}],[0,\"limebb-limetype-field\",{\"platform\":[16],\"context\":[16],\"label\":[513],\"required\":[516],\"readonly\":[516],\"disabled\":[516],\"value\":[513],\"helperText\":[513,\"helper-text\"],\"invalid\":[4],\"limetypes\":[16],\"propertyFields\":[16],\"fieldName\":[1,\"field-name\"],\"formInfo\":[16]}]]],[\"limebb-empty-state\",[[1,\"limebb-empty-state\",{\"heading\":[513],\"value\":[513],\"icon\":[16]}]]],[\"limebb-property-selector\",[[1,\"limebb-property-selector\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[1],\"label\":[1],\"required\":[4],\"helperText\":[1,\"helper-text\"],\"limetypes\":[32],\"isOpen\":[32],\"navigationPath\":[32]}]]],[\"limebb-lime-query-response-format-editor_2\",[[1,\"limebb-lime-query-response-format-editor\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[16],\"label\":[1],\"items\":[32]}],[1,\"limebb-lime-query-response-format-item\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"item\":[16],\"showAliasInput\":[32],\"showDescriptionInput\":[32]}]]],[\"limebb-navigation-button_2\",[[1,\"limebb-summary-popover\",{\"triggerDelay\":[514,\"trigger-delay\"],\"heading\":[513],\"subheading\":[513],\"image\":[16],\"icon\":[513],\"value\":[1],\"openDirection\":[513,\"open-direction\"],\"popoverMaxWidth\":[513,\"popover-max-width\"],\"popoverMaxHeight\":[513,\"popover-max-height\"],\"actions\":[16],\"isPopoverOpen\":[32]}],[17,\"limebb-navigation-button\",{\"href\":[513],\"tooltipLabel\":[513,\"tooltip-label\"],\"tooltipHelperLabel\":[513,\"tooltip-helper-label\"],\"type\":[513]}]]],[\"limebb-lime-query-filter-group_3\",[[1,\"limebb-lime-query-value-input\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"propertyPath\":[1,\"property-path\"],\"operator\":[1],\"value\":[8],\"label\":[1],\"limetypes\":[32],\"inputMode\":[32]}],[1,\"limebb-lime-query-filter-group\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16],\"value\":[32]}],[1,\"limebb-lime-query-filter-not\",{\"platform\":[16],\"context\":[16],\"label\":[1],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}]]],[\"limebb-lime-query-filter-comparison_2\",[[1,\"limebb-lime-query-filter-expression\",{\"platform\":[16],\"context\":[16],\"label\":[1],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}],[1,\"limebb-lime-query-filter-comparison\",{\"platform\":[16],\"context\":[16],\"label\":[513],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}]]]]"), options);
|
|
20
20
|
});
|