@limetech/lime-crm-building-blocks 1.96.0 → 1.97.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/CHANGELOG.md +7 -0
- package/dist/cjs/{_MapCache-2e84a981.js → _MapCache-8b125fbb.js} +0 -26
- package/dist/cjs/{_Uint8Array-1e99726d.js → _Uint8Array-95263550.js} +1 -12
- package/dist/cjs/_baseIsEqual-cb7951b0.js +496 -0
- package/dist/cjs/_defineProperty-40a6ad5d.js +15 -0
- package/dist/cjs/{get-1acf79ce.js → get-932b213e.js} +5 -4
- package/dist/cjs/isEqual-e77cce75.js +37 -0
- package/dist/cjs/isSymbol-5b36aeee.js +30 -0
- package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
- package/dist/cjs/lime-query.types-bcb63a22.js +61 -0
- package/dist/cjs/limebb-component-config.cjs.entry.js +3 -2
- package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +382 -150
- package/dist/cjs/limebb-lime-query-filter-and_5.cjs.entry.js +278 -0
- package/dist/cjs/limebb-lime-query-value-input.cjs.entry.js +239 -0
- package/dist/cjs/limebb-limetype-field_2.cjs.entry.js +406 -0
- package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
- package/dist/cjs/limebb-locale-picker.cjs.entry.js +13 -498
- package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
- package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +3 -3
- package/dist/cjs/limebb-notification-item.cjs.entry.js +1 -1
- package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +2 -2
- package/dist/cjs/limebb-property-selector.cjs.entry.js +234 -0
- package/dist/cjs/limebb-response-format-item.cjs.entry.js +80 -0
- package/dist/cjs/limebb-text-editor.cjs.entry.js +20 -61
- package/dist/cjs/limebb-trend-indicator.cjs.entry.js +1 -1
- package/dist/cjs/limetype-1fe0207f.js +90 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/property-resolution-fb42a46b.js +66 -0
- package/dist/collection/collection-manifest.json +10 -0
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-and.css +121 -0
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-and.js +257 -0
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.css +39 -0
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +246 -0
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-expression.css +104 -0
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-expression.js +220 -0
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.css +107 -0
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +212 -0
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-or.css +123 -0
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-or.js +237 -0
- package/dist/collection/components/lime-query-builder/expressions/lime-query-value-input.css +48 -0
- package/dist/collection/components/lime-query-builder/expressions/lime-query-value-input.js +457 -0
- package/dist/collection/components/lime-query-builder/filter-conversion.js +118 -21
- package/dist/collection/components/lime-query-builder/lime-query-builder.css +30 -17
- package/dist/collection/components/lime-query-builder/lime-query-builder.js +233 -28
- package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +435 -0
- package/dist/collection/components/lime-query-builder/property-selection-format.js +158 -0
- package/dist/collection/components/lime-query-builder/property-selector/property-selector.css +8 -0
- package/dist/collection/components/lime-query-builder/property-selector/property-selector.js +422 -0
- package/dist/collection/components/lime-query-builder/response-format-editor.css +72 -0
- package/dist/collection/components/lime-query-builder/response-format-editor.js +249 -0
- package/dist/collection/components/lime-query-builder/response-format-item.css +61 -0
- package/dist/collection/components/lime-query-builder/response-format-item.js +208 -0
- package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
- package/dist/collection/components/locale-picker/locale-picker.js +1 -1
- package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
- package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
- package/dist/collection/components/summary-popover/summary-popover.js +3 -3
- package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
- package/dist/collection/components/text-editor/text-editor.js +1 -1
- package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
- package/dist/components/_MapCache.js +2 -27
- package/dist/components/_Uint8Array.js +2 -12
- package/dist/components/_baseIsEqual.js +494 -0
- package/dist/components/_defineProperty.js +13 -0
- package/dist/components/get.js +2 -1
- package/dist/components/isEqual.js +35 -0
- package/dist/components/isSymbol.js +28 -0
- package/dist/components/lime-query-filter-and.js +408 -0
- package/dist/components/lime-query-filter-comparison.js +152 -0
- package/dist/components/lime-query-value-input.js +266 -0
- package/dist/components/limebb-lime-query-builder.js +441 -149
- package/dist/components/limebb-lime-query-filter-and.d.ts +11 -0
- package/dist/components/limebb-lime-query-filter-and.js +6 -0
- package/dist/components/limebb-lime-query-filter-comparison.d.ts +11 -0
- package/dist/components/limebb-lime-query-filter-comparison.js +6 -0
- package/dist/components/limebb-lime-query-filter-expression.d.ts +11 -0
- package/dist/components/limebb-lime-query-filter-expression.js +6 -0
- package/dist/components/limebb-lime-query-filter-not.d.ts +11 -0
- package/dist/components/limebb-lime-query-filter-not.js +6 -0
- package/dist/components/limebb-lime-query-filter-or.d.ts +11 -0
- package/dist/components/limebb-lime-query-filter-or.js +6 -0
- package/dist/components/limebb-lime-query-value-input.d.ts +11 -0
- package/dist/components/limebb-lime-query-value-input.js +6 -0
- package/dist/components/limebb-limetype-field.d.ts +11 -0
- package/dist/components/limebb-limetype-field.js +6 -0
- package/dist/components/limebb-locale-picker.js +8 -493
- package/dist/components/limebb-mention-group-counter.js +2 -2
- package/dist/components/limebb-percentage-visualizer.js +2 -2
- package/dist/components/limebb-property-selector.d.ts +11 -0
- package/dist/components/limebb-property-selector.js +6 -0
- package/dist/components/limebb-response-format-editor.d.ts +11 -0
- package/dist/components/limebb-response-format-editor.js +6 -0
- package/dist/components/limebb-response-format-item.d.ts +11 -0
- package/dist/components/limebb-response-format-item.js +6 -0
- package/dist/components/limebb-text-editor.js +7 -48
- package/dist/components/limebb-trend-indicator.js +1 -1
- package/dist/components/limetype-field.js +184 -0
- package/dist/components/limetype.js +85 -0
- package/dist/components/live-docs-info.js +2 -2
- package/dist/components/notification-item.js +1 -1
- package/dist/components/property-selector.js +317 -0
- package/dist/components/response-format-editor.js +278 -0
- package/dist/components/response-format-item.js +104 -0
- package/dist/components/summary-popover.js +3 -3
- package/dist/esm/{_MapCache-6484495d.js → _MapCache-af496e9d.js} +2 -27
- package/dist/esm/{_Uint8Array-e5cac922.js → _Uint8Array-d6ebd526.js} +3 -13
- package/dist/esm/_baseIsEqual-28053b81.js +494 -0
- package/dist/esm/_defineProperty-e6a185c3.js +13 -0
- package/dist/esm/{get-f9e0b2e1.js → get-3e42932b.js} +2 -1
- package/dist/esm/isEqual-57d0c223.js +35 -0
- package/dist/esm/isSymbol-1c5f65cc.js +28 -0
- package/dist/esm/lime-crm-building-blocks.js +1 -1
- package/dist/esm/lime-query.types-f72355e1.js +59 -0
- package/dist/esm/limebb-component-config.entry.js +3 -2
- package/dist/esm/limebb-lime-query-builder.entry.js +379 -147
- package/dist/esm/limebb-lime-query-filter-and_5.entry.js +270 -0
- package/dist/esm/limebb-lime-query-value-input.entry.js +235 -0
- package/dist/esm/limebb-limetype-field_2.entry.js +401 -0
- package/dist/esm/limebb-live-docs-info.entry.js +2 -2
- package/dist/esm/limebb-locale-picker.entry.js +9 -494
- package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
- package/dist/esm/limebb-navigation-button_2.entry.js +3 -3
- package/dist/esm/limebb-notification-item.entry.js +1 -1
- package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
- package/dist/esm/limebb-property-selector.entry.js +230 -0
- package/dist/esm/limebb-response-format-item.entry.js +76 -0
- package/dist/esm/limebb-text-editor.entry.js +7 -48
- package/dist/esm/limebb-trend-indicator.entry.js +1 -1
- package/dist/esm/limetype-6e7552a7.js +85 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/property-resolution-fde2375e.js +63 -0
- package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
- package/dist/lime-crm-building-blocks/{p-88c64360.entry.js → p-00da9b24.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-02c0cc04.entry.js +1 -0
- package/dist/lime-crm-building-blocks/p-123190c3.js +1 -0
- package/dist/lime-crm-building-blocks/p-244ee55b.entry.js +1 -0
- package/dist/lime-crm-building-blocks/p-35897ec3.js +1 -0
- package/dist/lime-crm-building-blocks/{p-85b7291c.entry.js → p-3932077b.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-3b0a15ec.js +1 -0
- package/dist/lime-crm-building-blocks/p-5a6d2e7f.js +1 -0
- package/dist/lime-crm-building-blocks/p-60971d64.js +1 -0
- package/dist/lime-crm-building-blocks/p-6c1146ca.entry.js +1 -0
- package/dist/lime-crm-building-blocks/p-70a28b93.entry.js +1 -0
- package/dist/lime-crm-building-blocks/p-7e6fb4af.js +1 -0
- package/dist/lime-crm-building-blocks/{p-8664381a.entry.js → p-8c4eb49f.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-96beaabc.entry.js +1 -0
- package/dist/lime-crm-building-blocks/p-a659d55a.js +1 -0
- package/dist/lime-crm-building-blocks/p-b7c72179.entry.js +1 -0
- package/dist/lime-crm-building-blocks/p-baf4e428.entry.js +1 -0
- package/dist/lime-crm-building-blocks/p-d298b34e.js +1 -0
- package/dist/lime-crm-building-blocks/{p-7c4bdc1b.entry.js → p-d89c44ad.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-e0ab1554.js +1 -0
- package/dist/lime-crm-building-blocks/{p-8064cbfb.entry.js → p-e9d23ef7.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-ef8a5266.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-c9126885.entry.js → p-f52125a0.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-f99c611d.entry.js +1 -0
- package/dist/lime-crm-building-blocks/p-fe2b91d9.js +1 -0
- package/dist/types/components/lime-query-builder/expressions/lime-query-filter-and.d.ts +56 -0
- package/dist/types/components/lime-query-builder/expressions/lime-query-filter-comparison.d.ts +64 -0
- package/dist/types/components/lime-query-builder/expressions/lime-query-filter-expression.d.ts +53 -0
- package/dist/types/components/lime-query-builder/expressions/lime-query-filter-not.d.ts +54 -0
- package/dist/types/components/lime-query-builder/expressions/lime-query-filter-or.d.ts +55 -0
- package/dist/types/components/lime-query-builder/expressions/lime-query-value-input.d.ts +92 -0
- package/dist/types/components/lime-query-builder/filter-conversion.d.ts +18 -0
- package/dist/types/components/lime-query-builder/lime-query-builder.d.ts +30 -8
- package/dist/types/components/lime-query-builder/limetype-field/limetype-field.d.ts +96 -0
- package/dist/types/components/lime-query-builder/property-selection-format.d.ts +23 -0
- package/dist/types/components/lime-query-builder/property-selector/property-selector.d.ts +71 -0
- package/dist/types/components/lime-query-builder/response-format-editor.d.ts +57 -0
- package/dist/types/components/lime-query-builder/response-format-item.d.ts +46 -0
- package/dist/types/components.d.ts +1558 -117
- package/package.json +1 -1
- package/dist/lime-crm-building-blocks/p-00e7e0d4.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-11ac105b.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-5abe3fff.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-8044ffbd.js +0 -1
- package/dist/lime-crm-building-blocks/p-92ec9205.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-bcc23575.js +0 -1
- package/dist/lime-crm-building-blocks/p-c40a3f4b.js +0 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { EventEmitter } from '../../../stencil-public-runtime';
|
|
2
|
+
import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
|
|
3
|
+
import { LimeQueryFilterAnd, LimeQueryFilterMissing } from '../lime-query.types';
|
|
4
|
+
/**
|
|
5
|
+
* Lime Query Filter AND Component
|
|
6
|
+
*
|
|
7
|
+
* Renders a group of filter expressions where **all conditions must be true**.
|
|
8
|
+
* Users can add multiple child expressions, and a record must match all of them
|
|
9
|
+
* to be included in the result set.
|
|
10
|
+
*
|
|
11
|
+
* This component displays:
|
|
12
|
+
* - A header with "All of these conditions are true" when there are multiple conditions
|
|
13
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
14
|
+
* - An "Add another condition" button to add more expressions
|
|
15
|
+
*
|
|
16
|
+
* Clicking the trash icon on a child expression removes it from the AND group.
|
|
17
|
+
*
|
|
18
|
+
* @private
|
|
19
|
+
*/
|
|
20
|
+
export declare class LimeQueryFilterAndComponent implements LimeWebComponent {
|
|
21
|
+
/**
|
|
22
|
+
* Platform service provider
|
|
23
|
+
*/
|
|
24
|
+
platform: LimeWebComponentPlatform;
|
|
25
|
+
/**
|
|
26
|
+
* Component context
|
|
27
|
+
*/
|
|
28
|
+
context: LimeWebComponentContext;
|
|
29
|
+
/**
|
|
30
|
+
* Optional label for the AND group
|
|
31
|
+
*/
|
|
32
|
+
label: string;
|
|
33
|
+
/**
|
|
34
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
35
|
+
*/
|
|
36
|
+
limetype: string;
|
|
37
|
+
/**
|
|
38
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
39
|
+
*/
|
|
40
|
+
activeLimetype?: string;
|
|
41
|
+
/**
|
|
42
|
+
* The AND expression containing child expressions
|
|
43
|
+
*/
|
|
44
|
+
expression: LimeQueryFilterAnd;
|
|
45
|
+
/**
|
|
46
|
+
* Emitted when the AND expression changes (expressions added/removed/modified)
|
|
47
|
+
*/
|
|
48
|
+
expressionChange: EventEmitter<LimeQueryFilterAnd | LimeQueryFilterMissing>;
|
|
49
|
+
render(): any;
|
|
50
|
+
private renderChildExpression;
|
|
51
|
+
private renderAddChildExpression;
|
|
52
|
+
private getAddButtonLabel;
|
|
53
|
+
private handleAddChildExpression;
|
|
54
|
+
private handleExpressionChange;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=lime-query-filter-and.d.ts.map
|
package/dist/types/components/lime-query-builder/expressions/lime-query-filter-comparison.d.ts
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
|
|
2
|
+
import { EventEmitter } from '../../../stencil-public-runtime';
|
|
3
|
+
import { LimeQueryFilterComparison, LimeQueryFilterMissing } from '../lime-query.types';
|
|
4
|
+
/**
|
|
5
|
+
* Lime Query Filter Comparison Component
|
|
6
|
+
*
|
|
7
|
+
* Renders a single comparison expression with three parts:
|
|
8
|
+
* 1. **Property** - The field to compare (e.g., "dealstatus", "company.name")
|
|
9
|
+
* 2. **Operator** - The comparison operator (=, !=, >, <, >=, <=, IN, ?, =?, =$)
|
|
10
|
+
* 3. **Value** - The value to compare against
|
|
11
|
+
*
|
|
12
|
+
* This is the most basic building block of a filter. Examples:
|
|
13
|
+
* - dealstatus = "won"
|
|
14
|
+
* - value > 100000
|
|
15
|
+
* - name ? "Big" (contains "Big")
|
|
16
|
+
* - dealstatus IN ["won", "tender"]
|
|
17
|
+
*
|
|
18
|
+
* The component displays:
|
|
19
|
+
* - A text input for the property (Phase 0 - will be replaced with property-path in Phase 1)
|
|
20
|
+
* - A dropdown for the operator
|
|
21
|
+
* - A value input (text/number based on operator)
|
|
22
|
+
* - A trash icon button to remove this condition
|
|
23
|
+
*
|
|
24
|
+
* @private
|
|
25
|
+
*/
|
|
26
|
+
export declare class LimeQueryFilterComparisonComponent {
|
|
27
|
+
/**
|
|
28
|
+
* Platform service provider
|
|
29
|
+
*/
|
|
30
|
+
platform: LimeWebComponentPlatform;
|
|
31
|
+
/**
|
|
32
|
+
* Component context
|
|
33
|
+
*/
|
|
34
|
+
context: LimeWebComponentContext;
|
|
35
|
+
/**
|
|
36
|
+
* Optional label for the comparison
|
|
37
|
+
*/
|
|
38
|
+
label: string;
|
|
39
|
+
/**
|
|
40
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
41
|
+
*/
|
|
42
|
+
limetype: string;
|
|
43
|
+
/**
|
|
44
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
45
|
+
*/
|
|
46
|
+
activeLimetype?: string;
|
|
47
|
+
/**
|
|
48
|
+
* The comparison expression to render
|
|
49
|
+
*/
|
|
50
|
+
expression: LimeQueryFilterComparison;
|
|
51
|
+
/**
|
|
52
|
+
* Emitted when the comparison expression changes (property/operator/value modified)
|
|
53
|
+
*/
|
|
54
|
+
expressionChange: EventEmitter<LimeQueryFilterComparison | LimeQueryFilterMissing>;
|
|
55
|
+
render(): any;
|
|
56
|
+
private renderPropertySelector;
|
|
57
|
+
private renderOperator;
|
|
58
|
+
private renderValueInput;
|
|
59
|
+
private handlePropertyChange;
|
|
60
|
+
private handleOperatorChange;
|
|
61
|
+
private handleValueChange;
|
|
62
|
+
private removeExpression;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=lime-query-filter-comparison.d.ts.map
|
package/dist/types/components/lime-query-builder/expressions/lime-query-filter-expression.d.ts
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { EventEmitter } from '../../../stencil-public-runtime';
|
|
2
|
+
import { LimeQueryFilterExpression } from '../lime-query.types';
|
|
3
|
+
import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
|
|
4
|
+
/**
|
|
5
|
+
* Lime Query Filter Expression Router
|
|
6
|
+
*
|
|
7
|
+
* This is the main entry point for rendering Lime Query filters.
|
|
8
|
+
* It routes to the appropriate sub-component based on the filter type:
|
|
9
|
+
* - `'AND'` → limebb-lime-query-filter-and
|
|
10
|
+
* - `'OR'` → limebb-lime-query-filter-or
|
|
11
|
+
* - `'NOT'` → limebb-lime-query-filter-not
|
|
12
|
+
* - `'comparison'` → limebb-lime-query-filter-comparison
|
|
13
|
+
* - `''` (missing) → limebb-lime-query-filter-comparison (default)
|
|
14
|
+
*
|
|
15
|
+
* Use this component when you need to render a complete filter expression
|
|
16
|
+
* that may contain nested AND/OR/NOT logic.
|
|
17
|
+
*
|
|
18
|
+
* @private
|
|
19
|
+
*/
|
|
20
|
+
export declare class LimeQueryFilterExpressionComponent implements LimeWebComponent {
|
|
21
|
+
/**
|
|
22
|
+
* Platform service provider
|
|
23
|
+
*/
|
|
24
|
+
platform: LimeWebComponentPlatform;
|
|
25
|
+
/**
|
|
26
|
+
* Component context
|
|
27
|
+
*/
|
|
28
|
+
context: LimeWebComponentContext;
|
|
29
|
+
/**
|
|
30
|
+
* Optional label for the expression
|
|
31
|
+
*/
|
|
32
|
+
label: string;
|
|
33
|
+
/**
|
|
34
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
35
|
+
* Used for property validation and type-aware inputs
|
|
36
|
+
*/
|
|
37
|
+
limetype: string;
|
|
38
|
+
/**
|
|
39
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
40
|
+
* Optional - used for validation and property suggestions
|
|
41
|
+
*/
|
|
42
|
+
activeLimetype?: string;
|
|
43
|
+
/**
|
|
44
|
+
* The filter expression to render
|
|
45
|
+
*/
|
|
46
|
+
expression: LimeQueryFilterExpression;
|
|
47
|
+
/**
|
|
48
|
+
* Emitted when the filter expression changes
|
|
49
|
+
*/
|
|
50
|
+
expressionChange: EventEmitter<LimeQueryFilterExpression>;
|
|
51
|
+
render(): any;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=lime-query-filter-expression.d.ts.map
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { EventEmitter } from '../../../stencil-public-runtime';
|
|
2
|
+
import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
|
|
3
|
+
import { LimeQueryFilterNot, LimeQueryFilterMissing } from '../lime-query.types';
|
|
4
|
+
/**
|
|
5
|
+
* Lime Query Filter NOT Component
|
|
6
|
+
*
|
|
7
|
+
* Renders a negated filter expression. This inverts the logic of the child expression,
|
|
8
|
+
* so records that would normally match will be excluded, and vice versa.
|
|
9
|
+
*
|
|
10
|
+
* For example:
|
|
11
|
+
* - NOT (status = "won") → Include all records where status is NOT "won"
|
|
12
|
+
* - NOT (value > 100000) → Include all records where value is NOT greater than 100000
|
|
13
|
+
*
|
|
14
|
+
* This component displays:
|
|
15
|
+
* - A "Not" label
|
|
16
|
+
* - A single child expression (which can be a comparison or nested AND/OR group)
|
|
17
|
+
*
|
|
18
|
+
* Clicking the trash icon removes the entire NOT expression.
|
|
19
|
+
*
|
|
20
|
+
* @private
|
|
21
|
+
*/
|
|
22
|
+
export declare class LimeQueryFilterNotComponent implements LimeWebComponent {
|
|
23
|
+
/**
|
|
24
|
+
* Platform service provider
|
|
25
|
+
*/
|
|
26
|
+
platform: LimeWebComponentPlatform;
|
|
27
|
+
/**
|
|
28
|
+
* Component context
|
|
29
|
+
*/
|
|
30
|
+
context: LimeWebComponentContext;
|
|
31
|
+
/**
|
|
32
|
+
* Optional label for the NOT expression
|
|
33
|
+
*/
|
|
34
|
+
label: string;
|
|
35
|
+
/**
|
|
36
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
37
|
+
*/
|
|
38
|
+
limetype: string;
|
|
39
|
+
/**
|
|
40
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
41
|
+
*/
|
|
42
|
+
activeLimetype?: string;
|
|
43
|
+
/**
|
|
44
|
+
* The NOT expression containing the child expression to negate
|
|
45
|
+
*/
|
|
46
|
+
expression: LimeQueryFilterNot;
|
|
47
|
+
/**
|
|
48
|
+
* Emitted when the NOT expression changes (child expression modified or removed)
|
|
49
|
+
*/
|
|
50
|
+
expressionChange: EventEmitter<LimeQueryFilterNot | LimeQueryFilterMissing>;
|
|
51
|
+
render(): any;
|
|
52
|
+
private handleExpressionChange;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=lime-query-filter-not.d.ts.map
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { EventEmitter } from '../../../stencil-public-runtime';
|
|
2
|
+
import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
|
|
3
|
+
import { LimeQueryFilterOr, LimeQueryFilterMissing } from '../lime-query.types';
|
|
4
|
+
/**
|
|
5
|
+
* Lime Query Filter OR Component
|
|
6
|
+
*
|
|
7
|
+
* Renders a group of filter expressions where **at least one condition must be true**.
|
|
8
|
+
* Users can add multiple alternative expressions, and a record only needs to match
|
|
9
|
+
* one of them to be included in the result set.
|
|
10
|
+
*
|
|
11
|
+
* This component displays:
|
|
12
|
+
* - A header with "Any of these conditions is true" when there are multiple conditions
|
|
13
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
14
|
+
* - An "Add alternative" button to add more options
|
|
15
|
+
*
|
|
16
|
+
* Clicking the trash icon on a child expression removes it from the OR group.
|
|
17
|
+
*
|
|
18
|
+
* @private
|
|
19
|
+
*/
|
|
20
|
+
export declare class LimeQueryFilterOrComponent implements LimeWebComponent {
|
|
21
|
+
/**
|
|
22
|
+
* Platform service provider
|
|
23
|
+
*/
|
|
24
|
+
platform: LimeWebComponentPlatform;
|
|
25
|
+
/**
|
|
26
|
+
* Component context
|
|
27
|
+
*/
|
|
28
|
+
context: LimeWebComponentContext;
|
|
29
|
+
/**
|
|
30
|
+
* Optional label for the OR group
|
|
31
|
+
*/
|
|
32
|
+
label: string;
|
|
33
|
+
/**
|
|
34
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
35
|
+
*/
|
|
36
|
+
limetype: string;
|
|
37
|
+
/**
|
|
38
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
39
|
+
*/
|
|
40
|
+
activeLimetype?: string;
|
|
41
|
+
/**
|
|
42
|
+
* The OR expression containing child expressions
|
|
43
|
+
*/
|
|
44
|
+
expression: LimeQueryFilterOr;
|
|
45
|
+
/**
|
|
46
|
+
* Emitted when the OR expression changes (expressions added/removed/modified)
|
|
47
|
+
*/
|
|
48
|
+
expressionChange: EventEmitter<LimeQueryFilterOr | LimeQueryFilterMissing>;
|
|
49
|
+
render(): any;
|
|
50
|
+
private renderChildExpression;
|
|
51
|
+
private handleExpressionChange;
|
|
52
|
+
private renderAddChildExpression;
|
|
53
|
+
private handleAddChildExpression;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=lime-query-filter-or.d.ts.map
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { EventEmitter } from '../../../stencil-public-runtime';
|
|
2
|
+
import { LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
|
|
3
|
+
import { FilterOperator } from '../lime-query.types';
|
|
4
|
+
/**
|
|
5
|
+
* Query Value Input Component
|
|
6
|
+
*
|
|
7
|
+
* Renders an appropriate input control based on the property type and operator.
|
|
8
|
+
* This component automatically adapts its UI to match the data type of the selected
|
|
9
|
+
* property, providing a better user experience and data validation.
|
|
10
|
+
*
|
|
11
|
+
* Supported input types:
|
|
12
|
+
* - **String/Text**: Standard text input field
|
|
13
|
+
* - **Integer/Decimal**: Number input with appropriate step values
|
|
14
|
+
* - **Date**: Date picker returning ISO date strings
|
|
15
|
+
* - **Time**: Time input field
|
|
16
|
+
* - **Boolean (yesno)**: True/False dropdown
|
|
17
|
+
* - **Option**: Dropdown populated with valid options from property definition
|
|
18
|
+
* - **IN operator**: Comma-separated input for multiple values (any type)
|
|
19
|
+
* - **Placeholder mode**: Select properties from active object using %activeObject%
|
|
20
|
+
*
|
|
21
|
+
* The component handles type conversions automatically:
|
|
22
|
+
* - Numbers are parsed from string inputs
|
|
23
|
+
* - Dates are converted to/from ISO strings
|
|
24
|
+
* - Booleans are converted to/from strings for dropdown compatibility
|
|
25
|
+
*
|
|
26
|
+
* @private
|
|
27
|
+
*/
|
|
28
|
+
export declare class LimeQueryValueInput {
|
|
29
|
+
/**
|
|
30
|
+
* Platform service provider
|
|
31
|
+
*/
|
|
32
|
+
platform: LimeWebComponentPlatform;
|
|
33
|
+
/**
|
|
34
|
+
* Component context
|
|
35
|
+
*/
|
|
36
|
+
context: LimeWebComponentContext;
|
|
37
|
+
/**
|
|
38
|
+
* The limetype being queried
|
|
39
|
+
*/
|
|
40
|
+
limetype: string;
|
|
41
|
+
/**
|
|
42
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
43
|
+
*/
|
|
44
|
+
activeLimetype?: string;
|
|
45
|
+
/**
|
|
46
|
+
* The property path (e.g., "dealstatus", "company.name")
|
|
47
|
+
*/
|
|
48
|
+
propertyPath: string;
|
|
49
|
+
/**
|
|
50
|
+
* The operator being used
|
|
51
|
+
*/
|
|
52
|
+
operator: FilterOperator;
|
|
53
|
+
/**
|
|
54
|
+
* The current value
|
|
55
|
+
*/
|
|
56
|
+
value: any;
|
|
57
|
+
/**
|
|
58
|
+
* Optional label for the input
|
|
59
|
+
*/
|
|
60
|
+
label: string;
|
|
61
|
+
private limetypes;
|
|
62
|
+
private inputMode;
|
|
63
|
+
/**
|
|
64
|
+
* Emitted when the value changes
|
|
65
|
+
*/
|
|
66
|
+
change: EventEmitter<any>;
|
|
67
|
+
componentWillLoad(): void;
|
|
68
|
+
componentWillUpdate(): void;
|
|
69
|
+
private isPlaceholder;
|
|
70
|
+
private parsePlaceholderPath;
|
|
71
|
+
private buildPlaceholderValue;
|
|
72
|
+
render(): any;
|
|
73
|
+
private renderModeToggle;
|
|
74
|
+
private renderPlaceholderInput;
|
|
75
|
+
private renderValueInputByType;
|
|
76
|
+
private renderTextInput;
|
|
77
|
+
private renderNumberInput;
|
|
78
|
+
private renderBooleanInput;
|
|
79
|
+
private renderOptionInput;
|
|
80
|
+
private renderDateInput;
|
|
81
|
+
private renderTimeInput;
|
|
82
|
+
private renderMultiValueInput;
|
|
83
|
+
private handleTextChange;
|
|
84
|
+
private handleSelectChange;
|
|
85
|
+
private handleBooleanChange;
|
|
86
|
+
private handleDateChange;
|
|
87
|
+
private handleMultiValueChange;
|
|
88
|
+
private handleModeToggle;
|
|
89
|
+
private handlePlaceholderPropertyChange;
|
|
90
|
+
private getProperty;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=lime-query-value-input.d.ts.map
|
|
@@ -10,4 +10,22 @@ export declare function guiFilterToLimeQuery(filter: LimeQueryFilterExpression):
|
|
|
10
10
|
* @param filter
|
|
11
11
|
*/
|
|
12
12
|
export declare function limeQueryToGuiFilter(filter: FilterExpression | FilterGroup | undefined): LimeQueryFilterExpression;
|
|
13
|
+
/**
|
|
14
|
+
* Normalize filter for GUI mode by ensuring proper AND/OR wrapper structure.
|
|
15
|
+
* GUI mode requires filters to be wrapped in AND([OR(...)]) so users have
|
|
16
|
+
* access to add/remove buttons on the AND and OR components.
|
|
17
|
+
*
|
|
18
|
+
* This function ensures that:
|
|
19
|
+
* - Single comparisons are wrapped in AND([OR([comparison])])
|
|
20
|
+
* - OR groups are wrapped in AND([OR group])
|
|
21
|
+
* - AND groups have their comparison children wrapped in OR
|
|
22
|
+
* - Empty/undefined filters become AND([])
|
|
23
|
+
*
|
|
24
|
+
* When converting back to Lime Query JSON, limeQueryFilterToLimeQuery()
|
|
25
|
+
* automatically unwraps single-item AND/OR groups.
|
|
26
|
+
*
|
|
27
|
+
* @param filter The filter expression from limeQueryToLimeQueryFilter
|
|
28
|
+
* @returns Normalized filter suitable for GUI editing
|
|
29
|
+
*/
|
|
30
|
+
export declare function normalizeLimeQueryFilterForGui(filter: LimeQueryFilterExpression): LimeQueryFilterExpression;
|
|
13
31
|
//# sourceMappingURL=filter-conversion.d.ts.map
|
|
@@ -4,19 +4,21 @@ import { LimeQuery } from './lime-query.types';
|
|
|
4
4
|
/**
|
|
5
5
|
* Lime Query Builder Component
|
|
6
6
|
*
|
|
7
|
-
* A
|
|
7
|
+
* A comprehensive query builder for constructing Lime Query DSL queries.
|
|
8
|
+
* This is the main component that combines limetype selection with the filter builder.
|
|
8
9
|
*
|
|
9
10
|
* Features:
|
|
10
|
-
* - **
|
|
11
|
-
* - **
|
|
12
|
-
* - **
|
|
11
|
+
* - **Limetype selection**: Choose which object type to query
|
|
12
|
+
* - **Filter builder**: Build complex filters with AND/OR/NOT logic
|
|
13
|
+
* - **Property path selection**: Navigate through relations
|
|
14
|
+
* - **Type-aware inputs**: Automatic input types based on property type
|
|
15
|
+
* - **Response format**: Select which properties to return
|
|
16
|
+
* - **Query options**: Configure limit and other query parameters
|
|
17
|
+
* - **Real-time output**: See the Lime Query JSON as you build
|
|
13
18
|
*
|
|
14
|
-
* The component
|
|
19
|
+
* The component produces a complete `LimeQuery` object that can be sent
|
|
15
20
|
* directly to the Lime CRM backend.
|
|
16
21
|
*
|
|
17
|
-
* When the feature flag `useLimeQueryBuilderGuiMode` is enabled, a mode toggle
|
|
18
|
-
* becomes available, but GUI mode currently shows a placeholder message.
|
|
19
|
-
*
|
|
20
22
|
* @exampleComponent limebb-example-lime-query-builder-basic
|
|
21
23
|
* @private
|
|
22
24
|
*/
|
|
@@ -44,12 +46,32 @@ export declare class LimeQueryBuilder implements LimeWebComponent {
|
|
|
44
46
|
private limetypes;
|
|
45
47
|
private mode;
|
|
46
48
|
private codeValue;
|
|
49
|
+
private limetype;
|
|
50
|
+
private filter;
|
|
51
|
+
private internalResponseFormat?;
|
|
52
|
+
private limit?;
|
|
53
|
+
private activeLimetype?;
|
|
47
54
|
private get guiModeEnabled();
|
|
48
55
|
componentWillLoad(): void;
|
|
49
56
|
render(): any;
|
|
57
|
+
private handleLimetypeChange;
|
|
58
|
+
private handleFilterChange;
|
|
59
|
+
private handleResponseFormatChange;
|
|
60
|
+
private handleLimitChange;
|
|
61
|
+
private handleActiveLimetypeChange;
|
|
62
|
+
private emitChange;
|
|
63
|
+
private updateCodeValue;
|
|
50
64
|
private checkGuiSupport;
|
|
51
65
|
private renderModeSwitch;
|
|
52
66
|
private renderCodeEditor;
|
|
67
|
+
private renderLimetypeSection;
|
|
68
|
+
private renderResponseFormatSection;
|
|
69
|
+
private renderFilterSection;
|
|
70
|
+
private renderQueryOptionsSection;
|
|
71
|
+
private renderGuiMode;
|
|
72
|
+
private renderLabel;
|
|
73
|
+
private renderModeControls;
|
|
74
|
+
private renderCodeMode;
|
|
53
75
|
private switchToGui;
|
|
54
76
|
private switchToCode;
|
|
55
77
|
private handleCodeChange;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { EventEmitter } from '../../../stencil-public-runtime';
|
|
2
|
+
import { FormComponent, FormInfo } from '@limetech/lime-elements';
|
|
3
|
+
import { LimeWebComponentPlatform, LimeWebComponentContext, LimeWebComponent, PropertyType } from '@limetech/lime-web-components';
|
|
4
|
+
type DependentPropertyField = {
|
|
5
|
+
limetype: string;
|
|
6
|
+
allowedPropertyTypes?: PropertyType[];
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Limetype Field Component
|
|
10
|
+
*
|
|
11
|
+
* A dropdown selector for choosing a limetype (object type) from the available
|
|
12
|
+
* limetypes in the system.
|
|
13
|
+
*
|
|
14
|
+
* This component:
|
|
15
|
+
* - Displays all limetypes with their icons and localized names
|
|
16
|
+
* - Supports restricting to a specific list of limetypes
|
|
17
|
+
* - Can update dependent property-path fields when selection changes
|
|
18
|
+
* - Implements the FormComponent interface for use in forms
|
|
19
|
+
*
|
|
20
|
+
* Common use cases:
|
|
21
|
+
* - Selecting which object type to query in a lime query builder
|
|
22
|
+
* - Choosing target limetype for relations
|
|
23
|
+
* - Configuring limetype-dependent settings
|
|
24
|
+
*
|
|
25
|
+
* @private
|
|
26
|
+
*/
|
|
27
|
+
export declare class LimetypeField implements LimeWebComponent, FormComponent<string> {
|
|
28
|
+
/**
|
|
29
|
+
* @inheritdoc
|
|
30
|
+
*/
|
|
31
|
+
platform: LimeWebComponentPlatform;
|
|
32
|
+
/**
|
|
33
|
+
* @inheritdoc
|
|
34
|
+
*/
|
|
35
|
+
context: LimeWebComponentContext;
|
|
36
|
+
/**
|
|
37
|
+
* @inheritdoc
|
|
38
|
+
*/
|
|
39
|
+
label: string;
|
|
40
|
+
/**
|
|
41
|
+
* @inheritdoc
|
|
42
|
+
*/
|
|
43
|
+
required: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* @inheritdoc
|
|
46
|
+
*/
|
|
47
|
+
readonly: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* @inheritdoc
|
|
50
|
+
*/
|
|
51
|
+
disabled: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* @inheritdoc
|
|
54
|
+
*/
|
|
55
|
+
value: string;
|
|
56
|
+
/**
|
|
57
|
+
* @inheritdoc
|
|
58
|
+
*/
|
|
59
|
+
helperText: string;
|
|
60
|
+
/**
|
|
61
|
+
* @inheritdoc
|
|
62
|
+
*/
|
|
63
|
+
invalid: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* The limetypes to choose from
|
|
66
|
+
*/
|
|
67
|
+
limetypes?: string[];
|
|
68
|
+
/**
|
|
69
|
+
* A list of property fields that should be updated when the selected limetype changes.
|
|
70
|
+
*/
|
|
71
|
+
propertyFields: DependentPropertyField[];
|
|
72
|
+
/**
|
|
73
|
+
* The name of this field. May be used as reference when a property mapping
|
|
74
|
+
* depends on the selected limetype.
|
|
75
|
+
*/
|
|
76
|
+
fieldName: string;
|
|
77
|
+
/**
|
|
78
|
+
* @inheritdoc
|
|
79
|
+
*/
|
|
80
|
+
formInfo?: FormInfo;
|
|
81
|
+
/**
|
|
82
|
+
* @inheritdoc
|
|
83
|
+
*/
|
|
84
|
+
change: EventEmitter<string>;
|
|
85
|
+
private collator;
|
|
86
|
+
componentWillLoad(): void;
|
|
87
|
+
componentShouldUpdate(newValue: FormInfo | undefined, oldValue: FormInfo | undefined, property: string): boolean;
|
|
88
|
+
render(): any;
|
|
89
|
+
componentWillRender(): void;
|
|
90
|
+
private getLimeTypes;
|
|
91
|
+
private handleChange;
|
|
92
|
+
private updatePropertyFields;
|
|
93
|
+
private get limeTypeRepository();
|
|
94
|
+
}
|
|
95
|
+
export {};
|
|
96
|
+
//# sourceMappingURL=limetype-field.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PropertySelection } from './lime-query.types';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a single property selection item in the UI
|
|
4
|
+
*/
|
|
5
|
+
export interface PropertySelectionItem {
|
|
6
|
+
path: string;
|
|
7
|
+
alias?: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Convert a nested PropertySelection to a flat list of property items
|
|
12
|
+
* @param selection The nested PropertySelection object
|
|
13
|
+
* @param prefix Current path prefix (used for recursion)
|
|
14
|
+
* @returns Flat array of PropertySelectionItem objects
|
|
15
|
+
*/
|
|
16
|
+
export declare function propertySelectionToItems(selection: PropertySelection | undefined | null, prefix?: string): PropertySelectionItem[];
|
|
17
|
+
/**
|
|
18
|
+
* Convert a flat list of property items to a nested PropertySelection structure
|
|
19
|
+
* @param items Array of PropertySelectionItem objects
|
|
20
|
+
* @returns Nested PropertySelection object
|
|
21
|
+
*/
|
|
22
|
+
export declare function itemsToPropertySelection(items: PropertySelectionItem[]): PropertySelection;
|
|
23
|
+
//# sourceMappingURL=property-selection-format.d.ts.map
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { EventEmitter } from '../../../stencil-public-runtime';
|
|
2
|
+
import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
|
|
3
|
+
/**
|
|
4
|
+
* Property Selector Component
|
|
5
|
+
*
|
|
6
|
+
* A menu-based property selector that allows users to navigate through properties
|
|
7
|
+
* and relations, only emitting complete property paths (not intermediate relations).
|
|
8
|
+
*
|
|
9
|
+
* Similar to limec-context-expression but specifically for selecting properties
|
|
10
|
+
* with dot-notation paths.
|
|
11
|
+
*
|
|
12
|
+
* Features:
|
|
13
|
+
* - Menu-based navigation through properties
|
|
14
|
+
* - Submenu support for drilling into relations
|
|
15
|
+
* - Internal state management during navigation
|
|
16
|
+
* - Only emits complete paths (leaf properties)
|
|
17
|
+
* - Chip-set display showing current path
|
|
18
|
+
* @private
|
|
19
|
+
*/
|
|
20
|
+
export declare class PropertySelector implements LimeWebComponent {
|
|
21
|
+
/**
|
|
22
|
+
* Platform service provider
|
|
23
|
+
*/
|
|
24
|
+
platform: LimeWebComponentPlatform;
|
|
25
|
+
/**
|
|
26
|
+
* Component context
|
|
27
|
+
*/
|
|
28
|
+
context: LimeWebComponentContext;
|
|
29
|
+
/**
|
|
30
|
+
* The limetype to select properties from
|
|
31
|
+
*/
|
|
32
|
+
limetype: string;
|
|
33
|
+
/**
|
|
34
|
+
* Current complete property path value
|
|
35
|
+
*/
|
|
36
|
+
value: string;
|
|
37
|
+
/**
|
|
38
|
+
* Label for the input
|
|
39
|
+
*/
|
|
40
|
+
label: string;
|
|
41
|
+
/**
|
|
42
|
+
* Whether the field is required
|
|
43
|
+
*/
|
|
44
|
+
required: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Helper text to display
|
|
47
|
+
*/
|
|
48
|
+
helperText: string;
|
|
49
|
+
private limetypes;
|
|
50
|
+
private isOpen;
|
|
51
|
+
private navigationPath;
|
|
52
|
+
/**
|
|
53
|
+
* Emitted when a complete property path is selected
|
|
54
|
+
*/
|
|
55
|
+
change: EventEmitter<string>;
|
|
56
|
+
private menuItems;
|
|
57
|
+
render(): any;
|
|
58
|
+
private handleChipSetWrapperClick;
|
|
59
|
+
private handleChipSetFocus;
|
|
60
|
+
private handleSelect;
|
|
61
|
+
private handleNavigateMenu;
|
|
62
|
+
private handleCancel;
|
|
63
|
+
private handleChipSetChange;
|
|
64
|
+
private loadMenuItems;
|
|
65
|
+
private getCurrentLimetype;
|
|
66
|
+
private createMenuItems;
|
|
67
|
+
private getSecondaryText;
|
|
68
|
+
private getIconForProperty;
|
|
69
|
+
private getChipsForPath;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=property-selector.d.ts.map
|