@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
|
@@ -17,10 +17,11 @@ import { DateTimeFormat, NumberFormat, RelativeDateTimeFormat } from "./componen
|
|
|
17
17
|
import { InfoTile } from "./components/info-tile/info-tile";
|
|
18
18
|
import { KanbanGroup } from "./components/kanban/kanban-group/kanban-group.types";
|
|
19
19
|
import { KanbanItem } from "./components/kanban/kanban-item/kanban-item.types";
|
|
20
|
-
import { LimeQuery } from "./components/lime-query-builder/lime-query.types";
|
|
20
|
+
import { FilterOperator, LimeQuery, LimeQueryFilterAnd, LimeQueryFilterComparison, LimeQueryFilterExpression, LimeQueryFilterMissing, LimeQueryFilterNot, LimeQueryFilterOr, ResponseFormat } from "./components/lime-query-builder/lime-query.types";
|
|
21
21
|
import { LanguagePickerType } from "./components/locale-picker/language-picker.types";
|
|
22
22
|
import { NavigationButtonType } from "./components/navigation-button/navigation-button.types";
|
|
23
23
|
import { NotificationItem } from "./components/notification-list/notification-item/notification-item.types";
|
|
24
|
+
import { PropertySelectionItem } from "./components/lime-query-builder/property-selection-format";
|
|
24
25
|
import { TriggerMap } from "./components/text-editor/text-editor.types";
|
|
25
26
|
import { EnhancedEditorMetadata } from "./components/text-editor/uploader/building-blocks-upload-handler";
|
|
26
27
|
export { AggregateOperator, LimeFileUrlType, LimeType, LimeWebComponentContext, LimeWebComponentPlatform } from "@limetech/lime-web-components";
|
|
@@ -35,10 +36,11 @@ export { DateTimeFormat, NumberFormat, RelativeDateTimeFormat } from "./componen
|
|
|
35
36
|
export { InfoTile } from "./components/info-tile/info-tile";
|
|
36
37
|
export { KanbanGroup } from "./components/kanban/kanban-group/kanban-group.types";
|
|
37
38
|
export { KanbanItem } from "./components/kanban/kanban-item/kanban-item.types";
|
|
38
|
-
export { LimeQuery } from "./components/lime-query-builder/lime-query.types";
|
|
39
|
+
export { FilterOperator, LimeQuery, LimeQueryFilterAnd, LimeQueryFilterComparison, LimeQueryFilterExpression, LimeQueryFilterMissing, LimeQueryFilterNot, LimeQueryFilterOr, ResponseFormat } from "./components/lime-query-builder/lime-query.types";
|
|
39
40
|
export { LanguagePickerType } from "./components/locale-picker/language-picker.types";
|
|
40
41
|
export { NavigationButtonType } from "./components/navigation-button/navigation-button.types";
|
|
41
42
|
export { NotificationItem } from "./components/notification-list/notification-item/notification-item.types";
|
|
43
|
+
export { PropertySelectionItem } from "./components/lime-query-builder/property-selection-format";
|
|
42
44
|
export { TriggerMap } from "./components/text-editor/text-editor.types";
|
|
43
45
|
export { EnhancedEditorMetadata } from "./components/text-editor/uploader/building-blocks-upload-handler";
|
|
44
46
|
export namespace Components {
|
|
@@ -947,15 +949,18 @@ export namespace Components {
|
|
|
947
949
|
}
|
|
948
950
|
/**
|
|
949
951
|
* Lime Query Builder Component
|
|
950
|
-
* A
|
|
952
|
+
* A comprehensive query builder for constructing Lime Query DSL queries.
|
|
953
|
+
* This is the main component that combines limetype selection with the filter builder.
|
|
951
954
|
* Features:
|
|
952
|
-
* - **
|
|
953
|
-
* - **
|
|
954
|
-
* - **
|
|
955
|
-
*
|
|
955
|
+
* - **Limetype selection**: Choose which object type to query
|
|
956
|
+
* - **Filter builder**: Build complex filters with AND/OR/NOT logic
|
|
957
|
+
* - **Property path selection**: Navigate through relations
|
|
958
|
+
* - **Type-aware inputs**: Automatic input types based on property type
|
|
959
|
+
* - **Response format**: Select which properties to return
|
|
960
|
+
* - **Query options**: Configure limit and other query parameters
|
|
961
|
+
* - **Real-time output**: See the Lime Query JSON as you build
|
|
962
|
+
* The component produces a complete `LimeQuery` object that can be sent
|
|
956
963
|
* directly to the Lime CRM backend.
|
|
957
|
-
* When the feature flag `useLimeQueryBuilderGuiMode` is enabled, a mode toggle
|
|
958
|
-
* becomes available, but GUI mode currently shows a placeholder message.
|
|
959
964
|
* @exampleComponent limebb-example-lime-query-builder-basic
|
|
960
965
|
* @private
|
|
961
966
|
*/
|
|
@@ -977,6 +982,258 @@ export namespace Components {
|
|
|
977
982
|
*/
|
|
978
983
|
"value": LimeQuery;
|
|
979
984
|
}
|
|
985
|
+
/**
|
|
986
|
+
* Lime Query Filter AND Component
|
|
987
|
+
* Renders a group of filter expressions where **all conditions must be true**.
|
|
988
|
+
* Users can add multiple child expressions, and a record must match all of them
|
|
989
|
+
* to be included in the result set.
|
|
990
|
+
* This component displays:
|
|
991
|
+
* - A header with "All of these conditions are true" when there are multiple conditions
|
|
992
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
993
|
+
* - An "Add another condition" button to add more expressions
|
|
994
|
+
* Clicking the trash icon on a child expression removes it from the AND group.
|
|
995
|
+
* @private
|
|
996
|
+
*/
|
|
997
|
+
interface LimebbLimeQueryFilterAnd {
|
|
998
|
+
/**
|
|
999
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
1000
|
+
*/
|
|
1001
|
+
"activeLimetype"?: string;
|
|
1002
|
+
/**
|
|
1003
|
+
* Component context
|
|
1004
|
+
*/
|
|
1005
|
+
"context": LimeWebComponentContext;
|
|
1006
|
+
/**
|
|
1007
|
+
* The AND expression containing child expressions
|
|
1008
|
+
*/
|
|
1009
|
+
"expression": LimeQueryFilterAnd;
|
|
1010
|
+
/**
|
|
1011
|
+
* Optional label for the AND group
|
|
1012
|
+
*/
|
|
1013
|
+
"label": string;
|
|
1014
|
+
/**
|
|
1015
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
1016
|
+
*/
|
|
1017
|
+
"limetype": string;
|
|
1018
|
+
/**
|
|
1019
|
+
* Platform service provider
|
|
1020
|
+
*/
|
|
1021
|
+
"platform": LimeWebComponentPlatform;
|
|
1022
|
+
}
|
|
1023
|
+
/**
|
|
1024
|
+
* Lime Query Filter Comparison Component
|
|
1025
|
+
* Renders a single comparison expression with three parts:
|
|
1026
|
+
* 1. **Property** - The field to compare (e.g., "dealstatus", "company.name")
|
|
1027
|
+
* 2. **Operator** - The comparison operator (=, !=, >, <, >=, <=, IN, ?, =?, =$)
|
|
1028
|
+
* 3. **Value** - The value to compare against
|
|
1029
|
+
* This is the most basic building block of a filter. Examples:
|
|
1030
|
+
* - dealstatus = "won"
|
|
1031
|
+
* - value > 100000
|
|
1032
|
+
* - name ? "Big" (contains "Big")
|
|
1033
|
+
* - dealstatus IN ["won", "tender"]
|
|
1034
|
+
* The component displays:
|
|
1035
|
+
* - A text input for the property (Phase 0 - will be replaced with property-path in Phase 1)
|
|
1036
|
+
* - A dropdown for the operator
|
|
1037
|
+
* - A value input (text/number based on operator)
|
|
1038
|
+
* - A trash icon button to remove this condition
|
|
1039
|
+
* @private
|
|
1040
|
+
*/
|
|
1041
|
+
interface LimebbLimeQueryFilterComparison {
|
|
1042
|
+
/**
|
|
1043
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
1044
|
+
*/
|
|
1045
|
+
"activeLimetype"?: string;
|
|
1046
|
+
/**
|
|
1047
|
+
* Component context
|
|
1048
|
+
*/
|
|
1049
|
+
"context": LimeWebComponentContext;
|
|
1050
|
+
/**
|
|
1051
|
+
* The comparison expression to render
|
|
1052
|
+
*/
|
|
1053
|
+
"expression": LimeQueryFilterComparison;
|
|
1054
|
+
/**
|
|
1055
|
+
* Optional label for the comparison
|
|
1056
|
+
*/
|
|
1057
|
+
"label": string;
|
|
1058
|
+
/**
|
|
1059
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
1060
|
+
*/
|
|
1061
|
+
"limetype": string;
|
|
1062
|
+
/**
|
|
1063
|
+
* Platform service provider
|
|
1064
|
+
*/
|
|
1065
|
+
"platform": LimeWebComponentPlatform;
|
|
1066
|
+
}
|
|
1067
|
+
/**
|
|
1068
|
+
* Lime Query Filter Expression Router
|
|
1069
|
+
* This is the main entry point for rendering Lime Query filters.
|
|
1070
|
+
* It routes to the appropriate sub-component based on the filter type:
|
|
1071
|
+
* - `'AND'` → limebb-lime-query-filter-and
|
|
1072
|
+
* - `'OR'` → limebb-lime-query-filter-or
|
|
1073
|
+
* - `'NOT'` → limebb-lime-query-filter-not
|
|
1074
|
+
* - `'comparison'` → limebb-lime-query-filter-comparison
|
|
1075
|
+
* - `''` (missing) → limebb-lime-query-filter-comparison (default)
|
|
1076
|
+
* Use this component when you need to render a complete filter expression
|
|
1077
|
+
* that may contain nested AND/OR/NOT logic.
|
|
1078
|
+
* @private
|
|
1079
|
+
*/
|
|
1080
|
+
interface LimebbLimeQueryFilterExpression {
|
|
1081
|
+
/**
|
|
1082
|
+
* The limetype of the active object (for %activeObject% placeholders) Optional - used for validation and property suggestions
|
|
1083
|
+
*/
|
|
1084
|
+
"activeLimetype"?: string;
|
|
1085
|
+
/**
|
|
1086
|
+
* Component context
|
|
1087
|
+
*/
|
|
1088
|
+
"context": LimeWebComponentContext;
|
|
1089
|
+
/**
|
|
1090
|
+
* The filter expression to render
|
|
1091
|
+
*/
|
|
1092
|
+
"expression": LimeQueryFilterExpression;
|
|
1093
|
+
/**
|
|
1094
|
+
* Optional label for the expression
|
|
1095
|
+
*/
|
|
1096
|
+
"label": string;
|
|
1097
|
+
/**
|
|
1098
|
+
* The limetype being queried (e.g., "deal", "company") Used for property validation and type-aware inputs
|
|
1099
|
+
*/
|
|
1100
|
+
"limetype": string;
|
|
1101
|
+
/**
|
|
1102
|
+
* Platform service provider
|
|
1103
|
+
*/
|
|
1104
|
+
"platform": LimeWebComponentPlatform;
|
|
1105
|
+
}
|
|
1106
|
+
/**
|
|
1107
|
+
* Lime Query Filter NOT Component
|
|
1108
|
+
* Renders a negated filter expression. This inverts the logic of the child expression,
|
|
1109
|
+
* so records that would normally match will be excluded, and vice versa.
|
|
1110
|
+
* For example:
|
|
1111
|
+
* - NOT (status = "won") → Include all records where status is NOT "won"
|
|
1112
|
+
* - NOT (value > 100000) → Include all records where value is NOT greater than 100000
|
|
1113
|
+
* This component displays:
|
|
1114
|
+
* - A "Not" label
|
|
1115
|
+
* - A single child expression (which can be a comparison or nested AND/OR group)
|
|
1116
|
+
* Clicking the trash icon removes the entire NOT expression.
|
|
1117
|
+
* @private
|
|
1118
|
+
*/
|
|
1119
|
+
interface LimebbLimeQueryFilterNot {
|
|
1120
|
+
/**
|
|
1121
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
1122
|
+
*/
|
|
1123
|
+
"activeLimetype"?: string;
|
|
1124
|
+
/**
|
|
1125
|
+
* Component context
|
|
1126
|
+
*/
|
|
1127
|
+
"context": LimeWebComponentContext;
|
|
1128
|
+
/**
|
|
1129
|
+
* The NOT expression containing the child expression to negate
|
|
1130
|
+
*/
|
|
1131
|
+
"expression": LimeQueryFilterNot;
|
|
1132
|
+
/**
|
|
1133
|
+
* Optional label for the NOT expression
|
|
1134
|
+
*/
|
|
1135
|
+
"label": string;
|
|
1136
|
+
/**
|
|
1137
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
1138
|
+
*/
|
|
1139
|
+
"limetype": string;
|
|
1140
|
+
/**
|
|
1141
|
+
* Platform service provider
|
|
1142
|
+
*/
|
|
1143
|
+
"platform": LimeWebComponentPlatform;
|
|
1144
|
+
}
|
|
1145
|
+
/**
|
|
1146
|
+
* Lime Query Filter OR Component
|
|
1147
|
+
* Renders a group of filter expressions where **at least one condition must be true**.
|
|
1148
|
+
* Users can add multiple alternative expressions, and a record only needs to match
|
|
1149
|
+
* one of them to be included in the result set.
|
|
1150
|
+
* This component displays:
|
|
1151
|
+
* - A header with "Any of these conditions is true" when there are multiple conditions
|
|
1152
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
1153
|
+
* - An "Add alternative" button to add more options
|
|
1154
|
+
* Clicking the trash icon on a child expression removes it from the OR group.
|
|
1155
|
+
* @private
|
|
1156
|
+
*/
|
|
1157
|
+
interface LimebbLimeQueryFilterOr {
|
|
1158
|
+
/**
|
|
1159
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
1160
|
+
*/
|
|
1161
|
+
"activeLimetype"?: string;
|
|
1162
|
+
/**
|
|
1163
|
+
* Component context
|
|
1164
|
+
*/
|
|
1165
|
+
"context": LimeWebComponentContext;
|
|
1166
|
+
/**
|
|
1167
|
+
* The OR expression containing child expressions
|
|
1168
|
+
*/
|
|
1169
|
+
"expression": LimeQueryFilterOr;
|
|
1170
|
+
/**
|
|
1171
|
+
* Optional label for the OR group
|
|
1172
|
+
*/
|
|
1173
|
+
"label": string;
|
|
1174
|
+
/**
|
|
1175
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
1176
|
+
*/
|
|
1177
|
+
"limetype": string;
|
|
1178
|
+
/**
|
|
1179
|
+
* Platform service provider
|
|
1180
|
+
*/
|
|
1181
|
+
"platform": LimeWebComponentPlatform;
|
|
1182
|
+
}
|
|
1183
|
+
/**
|
|
1184
|
+
* Query Value Input Component
|
|
1185
|
+
* Renders an appropriate input control based on the property type and operator.
|
|
1186
|
+
* This component automatically adapts its UI to match the data type of the selected
|
|
1187
|
+
* property, providing a better user experience and data validation.
|
|
1188
|
+
* Supported input types:
|
|
1189
|
+
* - **String/Text**: Standard text input field
|
|
1190
|
+
* - **Integer/Decimal**: Number input with appropriate step values
|
|
1191
|
+
* - **Date**: Date picker returning ISO date strings
|
|
1192
|
+
* - **Time**: Time input field
|
|
1193
|
+
* - **Boolean (yesno)**: True/False dropdown
|
|
1194
|
+
* - **Option**: Dropdown populated with valid options from property definition
|
|
1195
|
+
* - **IN operator**: Comma-separated input for multiple values (any type)
|
|
1196
|
+
* - **Placeholder mode**: Select properties from active object using %activeObject%
|
|
1197
|
+
* The component handles type conversions automatically:
|
|
1198
|
+
* - Numbers are parsed from string inputs
|
|
1199
|
+
* - Dates are converted to/from ISO strings
|
|
1200
|
+
* - Booleans are converted to/from strings for dropdown compatibility
|
|
1201
|
+
* @private
|
|
1202
|
+
*/
|
|
1203
|
+
interface LimebbLimeQueryValueInput {
|
|
1204
|
+
/**
|
|
1205
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
1206
|
+
*/
|
|
1207
|
+
"activeLimetype"?: string;
|
|
1208
|
+
/**
|
|
1209
|
+
* Component context
|
|
1210
|
+
*/
|
|
1211
|
+
"context": LimeWebComponentContext;
|
|
1212
|
+
/**
|
|
1213
|
+
* Optional label for the input
|
|
1214
|
+
*/
|
|
1215
|
+
"label": string;
|
|
1216
|
+
/**
|
|
1217
|
+
* The limetype being queried
|
|
1218
|
+
*/
|
|
1219
|
+
"limetype": string;
|
|
1220
|
+
/**
|
|
1221
|
+
* The operator being used
|
|
1222
|
+
*/
|
|
1223
|
+
"operator": FilterOperator;
|
|
1224
|
+
/**
|
|
1225
|
+
* Platform service provider
|
|
1226
|
+
*/
|
|
1227
|
+
"platform": LimeWebComponentPlatform;
|
|
1228
|
+
/**
|
|
1229
|
+
* The property path (e.g., "dealstatus", "company.name")
|
|
1230
|
+
*/
|
|
1231
|
+
"propertyPath": string;
|
|
1232
|
+
/**
|
|
1233
|
+
* The current value
|
|
1234
|
+
*/
|
|
1235
|
+
"value": any;
|
|
1236
|
+
}
|
|
980
1237
|
/**
|
|
981
1238
|
* Component for displaying the contents of an attached file on a limeobject
|
|
982
1239
|
* Example use case is to use it as a tab on the document card
|
|
@@ -1003,6 +1260,84 @@ export namespace Components {
|
|
|
1003
1260
|
*/
|
|
1004
1261
|
"property": string;
|
|
1005
1262
|
}
|
|
1263
|
+
/**
|
|
1264
|
+
* Limetype Field Component
|
|
1265
|
+
* A dropdown selector for choosing a limetype (object type) from the available
|
|
1266
|
+
* limetypes in the system.
|
|
1267
|
+
* This component:
|
|
1268
|
+
* - Displays all limetypes with their icons and localized names
|
|
1269
|
+
* - Supports restricting to a specific list of limetypes
|
|
1270
|
+
* - Can update dependent property-path fields when selection changes
|
|
1271
|
+
* - Implements the FormComponent interface for use in forms
|
|
1272
|
+
* Common use cases:
|
|
1273
|
+
* - Selecting which object type to query in a lime query builder
|
|
1274
|
+
* - Choosing target limetype for relations
|
|
1275
|
+
* - Configuring limetype-dependent settings
|
|
1276
|
+
* @private
|
|
1277
|
+
*/
|
|
1278
|
+
interface LimebbLimetypeField {
|
|
1279
|
+
/**
|
|
1280
|
+
* The context this component belongs to
|
|
1281
|
+
* @inheritdoc
|
|
1282
|
+
*/
|
|
1283
|
+
"context": LimeWebComponentContext;
|
|
1284
|
+
/**
|
|
1285
|
+
* Whether or not the current property is disabled
|
|
1286
|
+
* @inheritdoc
|
|
1287
|
+
*/
|
|
1288
|
+
"disabled": boolean;
|
|
1289
|
+
/**
|
|
1290
|
+
* The name of this field. May be used as reference when a property mapping depends on the selected limetype.
|
|
1291
|
+
*/
|
|
1292
|
+
"fieldName": string;
|
|
1293
|
+
/**
|
|
1294
|
+
* Additional contextual information about the form
|
|
1295
|
+
* @inheritdoc
|
|
1296
|
+
*/
|
|
1297
|
+
"formInfo"?: FormInfo;
|
|
1298
|
+
/**
|
|
1299
|
+
* The helper text for the current property
|
|
1300
|
+
* @inheritdoc
|
|
1301
|
+
*/
|
|
1302
|
+
"helperText": string;
|
|
1303
|
+
/**
|
|
1304
|
+
* @inheritdoc
|
|
1305
|
+
*/
|
|
1306
|
+
"invalid": boolean;
|
|
1307
|
+
/**
|
|
1308
|
+
* The label of the current property
|
|
1309
|
+
* @inheritdoc
|
|
1310
|
+
*/
|
|
1311
|
+
"label": string;
|
|
1312
|
+
/**
|
|
1313
|
+
* The limetypes to choose from
|
|
1314
|
+
*/
|
|
1315
|
+
"limetypes"?: string[];
|
|
1316
|
+
/**
|
|
1317
|
+
* Reference to the platform
|
|
1318
|
+
* @inheritdoc
|
|
1319
|
+
*/
|
|
1320
|
+
"platform": LimeWebComponentPlatform;
|
|
1321
|
+
/**
|
|
1322
|
+
* A list of property fields that should be updated when the selected limetype changes.
|
|
1323
|
+
*/
|
|
1324
|
+
"propertyFields": DependentPropertyField[];
|
|
1325
|
+
/**
|
|
1326
|
+
* Whether or not the current property is readonly
|
|
1327
|
+
* @inheritdoc
|
|
1328
|
+
*/
|
|
1329
|
+
"readonly": boolean;
|
|
1330
|
+
/**
|
|
1331
|
+
* Whether or not the current property is required
|
|
1332
|
+
* @inheritdoc
|
|
1333
|
+
*/
|
|
1334
|
+
"required": boolean;
|
|
1335
|
+
/**
|
|
1336
|
+
* The value of the current property
|
|
1337
|
+
* @inheritdoc
|
|
1338
|
+
*/
|
|
1339
|
+
"value": string;
|
|
1340
|
+
}
|
|
1006
1341
|
/**
|
|
1007
1342
|
* @private
|
|
1008
1343
|
*/
|
|
@@ -1282,6 +1617,111 @@ export namespace Components {
|
|
|
1282
1617
|
*/
|
|
1283
1618
|
"value": number | string;
|
|
1284
1619
|
}
|
|
1620
|
+
/**
|
|
1621
|
+
* Property Selector Component
|
|
1622
|
+
* A menu-based property selector that allows users to navigate through properties
|
|
1623
|
+
* and relations, only emitting complete property paths (not intermediate relations).
|
|
1624
|
+
* Similar to limec-context-expression but specifically for selecting properties
|
|
1625
|
+
* with dot-notation paths.
|
|
1626
|
+
* Features:
|
|
1627
|
+
* - Menu-based navigation through properties
|
|
1628
|
+
* - Submenu support for drilling into relations
|
|
1629
|
+
* - Internal state management during navigation
|
|
1630
|
+
* - Only emits complete paths (leaf properties)
|
|
1631
|
+
* - Chip-set display showing current path
|
|
1632
|
+
* @private
|
|
1633
|
+
*/
|
|
1634
|
+
interface LimebbPropertySelector {
|
|
1635
|
+
/**
|
|
1636
|
+
* Component context
|
|
1637
|
+
*/
|
|
1638
|
+
"context": LimeWebComponentContext;
|
|
1639
|
+
/**
|
|
1640
|
+
* Helper text to display
|
|
1641
|
+
*/
|
|
1642
|
+
"helperText": string;
|
|
1643
|
+
/**
|
|
1644
|
+
* Label for the input
|
|
1645
|
+
*/
|
|
1646
|
+
"label": string;
|
|
1647
|
+
/**
|
|
1648
|
+
* The limetype to select properties from
|
|
1649
|
+
*/
|
|
1650
|
+
"limetype": string;
|
|
1651
|
+
/**
|
|
1652
|
+
* Platform service provider
|
|
1653
|
+
*/
|
|
1654
|
+
"platform": LimeWebComponentPlatform;
|
|
1655
|
+
/**
|
|
1656
|
+
* Whether the field is required
|
|
1657
|
+
*/
|
|
1658
|
+
"required": boolean;
|
|
1659
|
+
/**
|
|
1660
|
+
* Current complete property path value
|
|
1661
|
+
*/
|
|
1662
|
+
"value": string;
|
|
1663
|
+
}
|
|
1664
|
+
/**
|
|
1665
|
+
* Response Format Editor Component
|
|
1666
|
+
* Allows users to select which properties should be returned in the query response.
|
|
1667
|
+
* Supports selecting properties on both the main limetype and related limetypes
|
|
1668
|
+
* through belongsto relations.
|
|
1669
|
+
* Features:
|
|
1670
|
+
* - **Property selection**: Choose properties using dropdown navigation
|
|
1671
|
+
* - **Nested properties**: Select properties on related objects (e.g., company.name)
|
|
1672
|
+
* - **Property aliases**: Optionally rename properties in the response
|
|
1673
|
+
* - **Dynamic list**: Add/remove property selections
|
|
1674
|
+
* - **Real-time updates**: Changes immediately update the responseFormat
|
|
1675
|
+
* The component generates a `ResponseFormat` object with the `object` field
|
|
1676
|
+
* containing the selected properties.
|
|
1677
|
+
* @private
|
|
1678
|
+
*/
|
|
1679
|
+
interface LimebbResponseFormatEditor {
|
|
1680
|
+
/**
|
|
1681
|
+
* Component context
|
|
1682
|
+
*/
|
|
1683
|
+
"context": LimeWebComponentContext;
|
|
1684
|
+
/**
|
|
1685
|
+
* Optional label
|
|
1686
|
+
*/
|
|
1687
|
+
"label": string;
|
|
1688
|
+
/**
|
|
1689
|
+
* The limetype to select properties from
|
|
1690
|
+
*/
|
|
1691
|
+
"limetype": string;
|
|
1692
|
+
/**
|
|
1693
|
+
* Platform service provider
|
|
1694
|
+
*/
|
|
1695
|
+
"platform": LimeWebComponentPlatform;
|
|
1696
|
+
/**
|
|
1697
|
+
* Current response format
|
|
1698
|
+
*/
|
|
1699
|
+
"value": ResponseFormat;
|
|
1700
|
+
}
|
|
1701
|
+
/**
|
|
1702
|
+
* Response Format Property Item Component
|
|
1703
|
+
* Represents a single property selection with optional alias and description
|
|
1704
|
+
* Part of the response format editor
|
|
1705
|
+
* @private
|
|
1706
|
+
*/
|
|
1707
|
+
interface LimebbResponseFormatItem {
|
|
1708
|
+
/**
|
|
1709
|
+
* Component context
|
|
1710
|
+
*/
|
|
1711
|
+
"context": LimeWebComponentContext;
|
|
1712
|
+
/**
|
|
1713
|
+
* The property selection item
|
|
1714
|
+
*/
|
|
1715
|
+
"item": PropertySelectionItem;
|
|
1716
|
+
/**
|
|
1717
|
+
* The limetype to select properties from
|
|
1718
|
+
*/
|
|
1719
|
+
"limetype": string;
|
|
1720
|
+
/**
|
|
1721
|
+
* Platform service provider
|
|
1722
|
+
*/
|
|
1723
|
+
"platform": LimeWebComponentPlatform;
|
|
1724
|
+
}
|
|
1285
1725
|
/**
|
|
1286
1726
|
* This component uses
|
|
1287
1727
|
* [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)
|
|
@@ -1637,6 +2077,34 @@ export interface LimebbLimeQueryBuilderCustomEvent<T> extends CustomEvent<T> {
|
|
|
1637
2077
|
detail: T;
|
|
1638
2078
|
target: HTMLLimebbLimeQueryBuilderElement;
|
|
1639
2079
|
}
|
|
2080
|
+
export interface LimebbLimeQueryFilterAndCustomEvent<T> extends CustomEvent<T> {
|
|
2081
|
+
detail: T;
|
|
2082
|
+
target: HTMLLimebbLimeQueryFilterAndElement;
|
|
2083
|
+
}
|
|
2084
|
+
export interface LimebbLimeQueryFilterComparisonCustomEvent<T> extends CustomEvent<T> {
|
|
2085
|
+
detail: T;
|
|
2086
|
+
target: HTMLLimebbLimeQueryFilterComparisonElement;
|
|
2087
|
+
}
|
|
2088
|
+
export interface LimebbLimeQueryFilterExpressionCustomEvent<T> extends CustomEvent<T> {
|
|
2089
|
+
detail: T;
|
|
2090
|
+
target: HTMLLimebbLimeQueryFilterExpressionElement;
|
|
2091
|
+
}
|
|
2092
|
+
export interface LimebbLimeQueryFilterNotCustomEvent<T> extends CustomEvent<T> {
|
|
2093
|
+
detail: T;
|
|
2094
|
+
target: HTMLLimebbLimeQueryFilterNotElement;
|
|
2095
|
+
}
|
|
2096
|
+
export interface LimebbLimeQueryFilterOrCustomEvent<T> extends CustomEvent<T> {
|
|
2097
|
+
detail: T;
|
|
2098
|
+
target: HTMLLimebbLimeQueryFilterOrElement;
|
|
2099
|
+
}
|
|
2100
|
+
export interface LimebbLimeQueryValueInputCustomEvent<T> extends CustomEvent<T> {
|
|
2101
|
+
detail: T;
|
|
2102
|
+
target: HTMLLimebbLimeQueryValueInputElement;
|
|
2103
|
+
}
|
|
2104
|
+
export interface LimebbLimetypeFieldCustomEvent<T> extends CustomEvent<T> {
|
|
2105
|
+
detail: T;
|
|
2106
|
+
target: HTMLLimebbLimetypeFieldElement;
|
|
2107
|
+
}
|
|
1640
2108
|
export interface LimebbLoaderCustomEvent<T> extends CustomEvent<T> {
|
|
1641
2109
|
detail: T;
|
|
1642
2110
|
target: HTMLLimebbLoaderElement;
|
|
@@ -1653,6 +2121,18 @@ export interface LimebbNotificationListCustomEvent<T> extends CustomEvent<T> {
|
|
|
1653
2121
|
detail: T;
|
|
1654
2122
|
target: HTMLLimebbNotificationListElement;
|
|
1655
2123
|
}
|
|
2124
|
+
export interface LimebbPropertySelectorCustomEvent<T> extends CustomEvent<T> {
|
|
2125
|
+
detail: T;
|
|
2126
|
+
target: HTMLLimebbPropertySelectorElement;
|
|
2127
|
+
}
|
|
2128
|
+
export interface LimebbResponseFormatEditorCustomEvent<T> extends CustomEvent<T> {
|
|
2129
|
+
detail: T;
|
|
2130
|
+
target: HTMLLimebbResponseFormatEditorElement;
|
|
2131
|
+
}
|
|
2132
|
+
export interface LimebbResponseFormatItemCustomEvent<T> extends CustomEvent<T> {
|
|
2133
|
+
detail: T;
|
|
2134
|
+
target: HTMLLimebbResponseFormatItemElement;
|
|
2135
|
+
}
|
|
1656
2136
|
export interface LimebbSummaryPopoverCustomEvent<T> extends CustomEvent<T> {
|
|
1657
2137
|
detail: T;
|
|
1658
2138
|
target: HTMLLimebbSummaryPopoverElement;
|
|
@@ -2240,74 +2720,267 @@ declare global {
|
|
|
2240
2720
|
"loadMore": KanbanGroup['identifier'];
|
|
2241
2721
|
}
|
|
2242
2722
|
/**
|
|
2243
|
-
* This component generates the groups for `limebb-kanban`.
|
|
2723
|
+
* This component generates the groups for `limebb-kanban`.
|
|
2724
|
+
* @private
|
|
2725
|
+
*/
|
|
2726
|
+
interface HTMLLimebbKanbanGroupElement extends Components.LimebbKanbanGroup, HTMLStencilElement {
|
|
2727
|
+
addEventListener<K extends keyof HTMLLimebbKanbanGroupElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanGroupElement, ev: LimebbKanbanGroupCustomEvent<HTMLLimebbKanbanGroupElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2728
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2729
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2730
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2731
|
+
removeEventListener<K extends keyof HTMLLimebbKanbanGroupElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanGroupElement, ev: LimebbKanbanGroupCustomEvent<HTMLLimebbKanbanGroupElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2732
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2733
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2734
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2735
|
+
}
|
|
2736
|
+
var HTMLLimebbKanbanGroupElement: {
|
|
2737
|
+
prototype: HTMLLimebbKanbanGroupElement;
|
|
2738
|
+
new (): HTMLLimebbKanbanGroupElement;
|
|
2739
|
+
};
|
|
2740
|
+
interface HTMLLimebbKanbanItemElementEventMap {
|
|
2741
|
+
"interact": KanbanItem;
|
|
2742
|
+
}
|
|
2743
|
+
/**
|
|
2744
|
+
* Feed item
|
|
2745
|
+
* @private
|
|
2746
|
+
*/
|
|
2747
|
+
interface HTMLLimebbKanbanItemElement extends Components.LimebbKanbanItem, HTMLStencilElement {
|
|
2748
|
+
addEventListener<K extends keyof HTMLLimebbKanbanItemElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanItemElement, ev: LimebbKanbanItemCustomEvent<HTMLLimebbKanbanItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2749
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2750
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2751
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2752
|
+
removeEventListener<K extends keyof HTMLLimebbKanbanItemElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanItemElement, ev: LimebbKanbanItemCustomEvent<HTMLLimebbKanbanItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2753
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2754
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2755
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2756
|
+
}
|
|
2757
|
+
var HTMLLimebbKanbanItemElement: {
|
|
2758
|
+
prototype: HTMLLimebbKanbanItemElement;
|
|
2759
|
+
new (): HTMLLimebbKanbanItemElement;
|
|
2760
|
+
};
|
|
2761
|
+
interface HTMLLimebbLimeQueryBuilderElementEventMap {
|
|
2762
|
+
"change": LimeQuery;
|
|
2763
|
+
}
|
|
2764
|
+
/**
|
|
2765
|
+
* Lime Query Builder Component
|
|
2766
|
+
* A comprehensive query builder for constructing Lime Query DSL queries.
|
|
2767
|
+
* This is the main component that combines limetype selection with the filter builder.
|
|
2768
|
+
* Features:
|
|
2769
|
+
* - **Limetype selection**: Choose which object type to query
|
|
2770
|
+
* - **Filter builder**: Build complex filters with AND/OR/NOT logic
|
|
2771
|
+
* - **Property path selection**: Navigate through relations
|
|
2772
|
+
* - **Type-aware inputs**: Automatic input types based on property type
|
|
2773
|
+
* - **Response format**: Select which properties to return
|
|
2774
|
+
* - **Query options**: Configure limit and other query parameters
|
|
2775
|
+
* - **Real-time output**: See the Lime Query JSON as you build
|
|
2776
|
+
* The component produces a complete `LimeQuery` object that can be sent
|
|
2777
|
+
* directly to the Lime CRM backend.
|
|
2778
|
+
* @exampleComponent limebb-example-lime-query-builder-basic
|
|
2779
|
+
* @private
|
|
2780
|
+
*/
|
|
2781
|
+
interface HTMLLimebbLimeQueryBuilderElement extends Components.LimebbLimeQueryBuilder, HTMLStencilElement {
|
|
2782
|
+
addEventListener<K extends keyof HTMLLimebbLimeQueryBuilderElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryBuilderElement, ev: LimebbLimeQueryBuilderCustomEvent<HTMLLimebbLimeQueryBuilderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2783
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2784
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2785
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2786
|
+
removeEventListener<K extends keyof HTMLLimebbLimeQueryBuilderElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryBuilderElement, ev: LimebbLimeQueryBuilderCustomEvent<HTMLLimebbLimeQueryBuilderElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2787
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2788
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2789
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2790
|
+
}
|
|
2791
|
+
var HTMLLimebbLimeQueryBuilderElement: {
|
|
2792
|
+
prototype: HTMLLimebbLimeQueryBuilderElement;
|
|
2793
|
+
new (): HTMLLimebbLimeQueryBuilderElement;
|
|
2794
|
+
};
|
|
2795
|
+
interface HTMLLimebbLimeQueryFilterAndElementEventMap {
|
|
2796
|
+
"expressionChange": LimeQueryFilterAnd | LimeQueryFilterMissing;
|
|
2797
|
+
}
|
|
2798
|
+
/**
|
|
2799
|
+
* Lime Query Filter AND Component
|
|
2800
|
+
* Renders a group of filter expressions where **all conditions must be true**.
|
|
2801
|
+
* Users can add multiple child expressions, and a record must match all of them
|
|
2802
|
+
* to be included in the result set.
|
|
2803
|
+
* This component displays:
|
|
2804
|
+
* - A header with "All of these conditions are true" when there are multiple conditions
|
|
2805
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
2806
|
+
* - An "Add another condition" button to add more expressions
|
|
2807
|
+
* Clicking the trash icon on a child expression removes it from the AND group.
|
|
2808
|
+
* @private
|
|
2809
|
+
*/
|
|
2810
|
+
interface HTMLLimebbLimeQueryFilterAndElement extends Components.LimebbLimeQueryFilterAnd, HTMLStencilElement {
|
|
2811
|
+
addEventListener<K extends keyof HTMLLimebbLimeQueryFilterAndElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterAndElement, ev: LimebbLimeQueryFilterAndCustomEvent<HTMLLimebbLimeQueryFilterAndElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2812
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2813
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2814
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2815
|
+
removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterAndElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterAndElement, ev: LimebbLimeQueryFilterAndCustomEvent<HTMLLimebbLimeQueryFilterAndElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2816
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2817
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2818
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2819
|
+
}
|
|
2820
|
+
var HTMLLimebbLimeQueryFilterAndElement: {
|
|
2821
|
+
prototype: HTMLLimebbLimeQueryFilterAndElement;
|
|
2822
|
+
new (): HTMLLimebbLimeQueryFilterAndElement;
|
|
2823
|
+
};
|
|
2824
|
+
interface HTMLLimebbLimeQueryFilterComparisonElementEventMap {
|
|
2825
|
+
"expressionChange": LimeQueryFilterComparison | LimeQueryFilterMissing;
|
|
2826
|
+
}
|
|
2827
|
+
/**
|
|
2828
|
+
* Lime Query Filter Comparison Component
|
|
2829
|
+
* Renders a single comparison expression with three parts:
|
|
2830
|
+
* 1. **Property** - The field to compare (e.g., "dealstatus", "company.name")
|
|
2831
|
+
* 2. **Operator** - The comparison operator (=, !=, >, <, >=, <=, IN, ?, =?, =$)
|
|
2832
|
+
* 3. **Value** - The value to compare against
|
|
2833
|
+
* This is the most basic building block of a filter. Examples:
|
|
2834
|
+
* - dealstatus = "won"
|
|
2835
|
+
* - value > 100000
|
|
2836
|
+
* - name ? "Big" (contains "Big")
|
|
2837
|
+
* - dealstatus IN ["won", "tender"]
|
|
2838
|
+
* The component displays:
|
|
2839
|
+
* - A text input for the property (Phase 0 - will be replaced with property-path in Phase 1)
|
|
2840
|
+
* - A dropdown for the operator
|
|
2841
|
+
* - A value input (text/number based on operator)
|
|
2842
|
+
* - A trash icon button to remove this condition
|
|
2843
|
+
* @private
|
|
2844
|
+
*/
|
|
2845
|
+
interface HTMLLimebbLimeQueryFilterComparisonElement extends Components.LimebbLimeQueryFilterComparison, HTMLStencilElement {
|
|
2846
|
+
addEventListener<K extends keyof HTMLLimebbLimeQueryFilterComparisonElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterComparisonElement, ev: LimebbLimeQueryFilterComparisonCustomEvent<HTMLLimebbLimeQueryFilterComparisonElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2847
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2848
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2849
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2850
|
+
removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterComparisonElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterComparisonElement, ev: LimebbLimeQueryFilterComparisonCustomEvent<HTMLLimebbLimeQueryFilterComparisonElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2851
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2852
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2853
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2854
|
+
}
|
|
2855
|
+
var HTMLLimebbLimeQueryFilterComparisonElement: {
|
|
2856
|
+
prototype: HTMLLimebbLimeQueryFilterComparisonElement;
|
|
2857
|
+
new (): HTMLLimebbLimeQueryFilterComparisonElement;
|
|
2858
|
+
};
|
|
2859
|
+
interface HTMLLimebbLimeQueryFilterExpressionElementEventMap {
|
|
2860
|
+
"expressionChange": LimeQueryFilterExpression;
|
|
2861
|
+
}
|
|
2862
|
+
/**
|
|
2863
|
+
* Lime Query Filter Expression Router
|
|
2864
|
+
* This is the main entry point for rendering Lime Query filters.
|
|
2865
|
+
* It routes to the appropriate sub-component based on the filter type:
|
|
2866
|
+
* - `'AND'` → limebb-lime-query-filter-and
|
|
2867
|
+
* - `'OR'` → limebb-lime-query-filter-or
|
|
2868
|
+
* - `'NOT'` → limebb-lime-query-filter-not
|
|
2869
|
+
* - `'comparison'` → limebb-lime-query-filter-comparison
|
|
2870
|
+
* - `''` (missing) → limebb-lime-query-filter-comparison (default)
|
|
2871
|
+
* Use this component when you need to render a complete filter expression
|
|
2872
|
+
* that may contain nested AND/OR/NOT logic.
|
|
2873
|
+
* @private
|
|
2874
|
+
*/
|
|
2875
|
+
interface HTMLLimebbLimeQueryFilterExpressionElement extends Components.LimebbLimeQueryFilterExpression, HTMLStencilElement {
|
|
2876
|
+
addEventListener<K extends keyof HTMLLimebbLimeQueryFilterExpressionElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterExpressionElement, ev: LimebbLimeQueryFilterExpressionCustomEvent<HTMLLimebbLimeQueryFilterExpressionElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2877
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2878
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2879
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2880
|
+
removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterExpressionElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterExpressionElement, ev: LimebbLimeQueryFilterExpressionCustomEvent<HTMLLimebbLimeQueryFilterExpressionElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2881
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2882
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2883
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2884
|
+
}
|
|
2885
|
+
var HTMLLimebbLimeQueryFilterExpressionElement: {
|
|
2886
|
+
prototype: HTMLLimebbLimeQueryFilterExpressionElement;
|
|
2887
|
+
new (): HTMLLimebbLimeQueryFilterExpressionElement;
|
|
2888
|
+
};
|
|
2889
|
+
interface HTMLLimebbLimeQueryFilterNotElementEventMap {
|
|
2890
|
+
"expressionChange": LimeQueryFilterNot | LimeQueryFilterMissing;
|
|
2891
|
+
}
|
|
2892
|
+
/**
|
|
2893
|
+
* Lime Query Filter NOT Component
|
|
2894
|
+
* Renders a negated filter expression. This inverts the logic of the child expression,
|
|
2895
|
+
* so records that would normally match will be excluded, and vice versa.
|
|
2896
|
+
* For example:
|
|
2897
|
+
* - NOT (status = "won") → Include all records where status is NOT "won"
|
|
2898
|
+
* - NOT (value > 100000) → Include all records where value is NOT greater than 100000
|
|
2899
|
+
* This component displays:
|
|
2900
|
+
* - A "Not" label
|
|
2901
|
+
* - A single child expression (which can be a comparison or nested AND/OR group)
|
|
2902
|
+
* Clicking the trash icon removes the entire NOT expression.
|
|
2244
2903
|
* @private
|
|
2245
2904
|
*/
|
|
2246
|
-
interface
|
|
2247
|
-
addEventListener<K extends keyof
|
|
2905
|
+
interface HTMLLimebbLimeQueryFilterNotElement extends Components.LimebbLimeQueryFilterNot, HTMLStencilElement {
|
|
2906
|
+
addEventListener<K extends keyof HTMLLimebbLimeQueryFilterNotElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterNotElement, ev: LimebbLimeQueryFilterNotCustomEvent<HTMLLimebbLimeQueryFilterNotElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2248
2907
|
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2249
2908
|
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2250
2909
|
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2251
|
-
removeEventListener<K extends keyof
|
|
2910
|
+
removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterNotElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterNotElement, ev: LimebbLimeQueryFilterNotCustomEvent<HTMLLimebbLimeQueryFilterNotElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2252
2911
|
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2253
2912
|
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2254
2913
|
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2255
2914
|
}
|
|
2256
|
-
var
|
|
2257
|
-
prototype:
|
|
2258
|
-
new ():
|
|
2915
|
+
var HTMLLimebbLimeQueryFilterNotElement: {
|
|
2916
|
+
prototype: HTMLLimebbLimeQueryFilterNotElement;
|
|
2917
|
+
new (): HTMLLimebbLimeQueryFilterNotElement;
|
|
2259
2918
|
};
|
|
2260
|
-
interface
|
|
2261
|
-
"
|
|
2919
|
+
interface HTMLLimebbLimeQueryFilterOrElementEventMap {
|
|
2920
|
+
"expressionChange": LimeQueryFilterOr | LimeQueryFilterMissing;
|
|
2262
2921
|
}
|
|
2263
2922
|
/**
|
|
2264
|
-
*
|
|
2923
|
+
* Lime Query Filter OR Component
|
|
2924
|
+
* Renders a group of filter expressions where **at least one condition must be true**.
|
|
2925
|
+
* Users can add multiple alternative expressions, and a record only needs to match
|
|
2926
|
+
* one of them to be included in the result set.
|
|
2927
|
+
* This component displays:
|
|
2928
|
+
* - A header with "Any of these conditions is true" when there are multiple conditions
|
|
2929
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
2930
|
+
* - An "Add alternative" button to add more options
|
|
2931
|
+
* Clicking the trash icon on a child expression removes it from the OR group.
|
|
2265
2932
|
* @private
|
|
2266
2933
|
*/
|
|
2267
|
-
interface
|
|
2268
|
-
addEventListener<K extends keyof
|
|
2934
|
+
interface HTMLLimebbLimeQueryFilterOrElement extends Components.LimebbLimeQueryFilterOr, HTMLStencilElement {
|
|
2935
|
+
addEventListener<K extends keyof HTMLLimebbLimeQueryFilterOrElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterOrElement, ev: LimebbLimeQueryFilterOrCustomEvent<HTMLLimebbLimeQueryFilterOrElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2269
2936
|
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2270
2937
|
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2271
2938
|
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2272
|
-
removeEventListener<K extends keyof
|
|
2939
|
+
removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterOrElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterOrElement, ev: LimebbLimeQueryFilterOrCustomEvent<HTMLLimebbLimeQueryFilterOrElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2273
2940
|
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2274
2941
|
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2275
2942
|
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2276
2943
|
}
|
|
2277
|
-
var
|
|
2278
|
-
prototype:
|
|
2279
|
-
new ():
|
|
2944
|
+
var HTMLLimebbLimeQueryFilterOrElement: {
|
|
2945
|
+
prototype: HTMLLimebbLimeQueryFilterOrElement;
|
|
2946
|
+
new (): HTMLLimebbLimeQueryFilterOrElement;
|
|
2280
2947
|
};
|
|
2281
|
-
interface
|
|
2282
|
-
"change":
|
|
2948
|
+
interface HTMLLimebbLimeQueryValueInputElementEventMap {
|
|
2949
|
+
"change": any;
|
|
2283
2950
|
}
|
|
2284
2951
|
/**
|
|
2285
|
-
*
|
|
2286
|
-
*
|
|
2287
|
-
*
|
|
2288
|
-
*
|
|
2289
|
-
*
|
|
2290
|
-
* - **
|
|
2291
|
-
*
|
|
2292
|
-
*
|
|
2293
|
-
*
|
|
2294
|
-
*
|
|
2295
|
-
*
|
|
2952
|
+
* Query Value Input Component
|
|
2953
|
+
* Renders an appropriate input control based on the property type and operator.
|
|
2954
|
+
* This component automatically adapts its UI to match the data type of the selected
|
|
2955
|
+
* property, providing a better user experience and data validation.
|
|
2956
|
+
* Supported input types:
|
|
2957
|
+
* - **String/Text**: Standard text input field
|
|
2958
|
+
* - **Integer/Decimal**: Number input with appropriate step values
|
|
2959
|
+
* - **Date**: Date picker returning ISO date strings
|
|
2960
|
+
* - **Time**: Time input field
|
|
2961
|
+
* - **Boolean (yesno)**: True/False dropdown
|
|
2962
|
+
* - **Option**: Dropdown populated with valid options from property definition
|
|
2963
|
+
* - **IN operator**: Comma-separated input for multiple values (any type)
|
|
2964
|
+
* - **Placeholder mode**: Select properties from active object using %activeObject%
|
|
2965
|
+
* The component handles type conversions automatically:
|
|
2966
|
+
* - Numbers are parsed from string inputs
|
|
2967
|
+
* - Dates are converted to/from ISO strings
|
|
2968
|
+
* - Booleans are converted to/from strings for dropdown compatibility
|
|
2296
2969
|
* @private
|
|
2297
2970
|
*/
|
|
2298
|
-
interface
|
|
2299
|
-
addEventListener<K extends keyof
|
|
2971
|
+
interface HTMLLimebbLimeQueryValueInputElement extends Components.LimebbLimeQueryValueInput, HTMLStencilElement {
|
|
2972
|
+
addEventListener<K extends keyof HTMLLimebbLimeQueryValueInputElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryValueInputElement, ev: LimebbLimeQueryValueInputCustomEvent<HTMLLimebbLimeQueryValueInputElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2300
2973
|
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2301
2974
|
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2302
2975
|
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2303
|
-
removeEventListener<K extends keyof
|
|
2976
|
+
removeEventListener<K extends keyof HTMLLimebbLimeQueryValueInputElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryValueInputElement, ev: LimebbLimeQueryValueInputCustomEvent<HTMLLimebbLimeQueryValueInputElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2304
2977
|
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2305
2978
|
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2306
2979
|
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2307
2980
|
}
|
|
2308
|
-
var
|
|
2309
|
-
prototype:
|
|
2310
|
-
new ():
|
|
2981
|
+
var HTMLLimebbLimeQueryValueInputElement: {
|
|
2982
|
+
prototype: HTMLLimebbLimeQueryValueInputElement;
|
|
2983
|
+
new (): HTMLLimebbLimeQueryValueInputElement;
|
|
2311
2984
|
};
|
|
2312
2985
|
/**
|
|
2313
2986
|
* Component for displaying the contents of an attached file on a limeobject
|
|
@@ -2323,6 +2996,38 @@ declare global {
|
|
|
2323
2996
|
prototype: HTMLLimebbLimeobjectFileViewerElement;
|
|
2324
2997
|
new (): HTMLLimebbLimeobjectFileViewerElement;
|
|
2325
2998
|
};
|
|
2999
|
+
interface HTMLLimebbLimetypeFieldElementEventMap {
|
|
3000
|
+
"change": string;
|
|
3001
|
+
}
|
|
3002
|
+
/**
|
|
3003
|
+
* Limetype Field Component
|
|
3004
|
+
* A dropdown selector for choosing a limetype (object type) from the available
|
|
3005
|
+
* limetypes in the system.
|
|
3006
|
+
* This component:
|
|
3007
|
+
* - Displays all limetypes with their icons and localized names
|
|
3008
|
+
* - Supports restricting to a specific list of limetypes
|
|
3009
|
+
* - Can update dependent property-path fields when selection changes
|
|
3010
|
+
* - Implements the FormComponent interface for use in forms
|
|
3011
|
+
* Common use cases:
|
|
3012
|
+
* - Selecting which object type to query in a lime query builder
|
|
3013
|
+
* - Choosing target limetype for relations
|
|
3014
|
+
* - Configuring limetype-dependent settings
|
|
3015
|
+
* @private
|
|
3016
|
+
*/
|
|
3017
|
+
interface HTMLLimebbLimetypeFieldElement extends Components.LimebbLimetypeField, HTMLStencilElement {
|
|
3018
|
+
addEventListener<K extends keyof HTMLLimebbLimetypeFieldElementEventMap>(type: K, listener: (this: HTMLLimebbLimetypeFieldElement, ev: LimebbLimetypeFieldCustomEvent<HTMLLimebbLimetypeFieldElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3019
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3020
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3021
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
3022
|
+
removeEventListener<K extends keyof HTMLLimebbLimetypeFieldElementEventMap>(type: K, listener: (this: HTMLLimebbLimetypeFieldElement, ev: LimebbLimetypeFieldCustomEvent<HTMLLimebbLimetypeFieldElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
3023
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3024
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3025
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
3026
|
+
}
|
|
3027
|
+
var HTMLLimebbLimetypeFieldElement: {
|
|
3028
|
+
prototype: HTMLLimebbLimetypeFieldElement;
|
|
3029
|
+
new (): HTMLLimebbLimetypeFieldElement;
|
|
3030
|
+
};
|
|
2326
3031
|
/**
|
|
2327
3032
|
* @private
|
|
2328
3033
|
*/
|
|
@@ -2506,6 +3211,92 @@ declare global {
|
|
|
2506
3211
|
prototype: HTMLLimebbPercentageVisualizerElement;
|
|
2507
3212
|
new (): HTMLLimebbPercentageVisualizerElement;
|
|
2508
3213
|
};
|
|
3214
|
+
interface HTMLLimebbPropertySelectorElementEventMap {
|
|
3215
|
+
"change": string;
|
|
3216
|
+
}
|
|
3217
|
+
/**
|
|
3218
|
+
* Property Selector Component
|
|
3219
|
+
* A menu-based property selector that allows users to navigate through properties
|
|
3220
|
+
* and relations, only emitting complete property paths (not intermediate relations).
|
|
3221
|
+
* Similar to limec-context-expression but specifically for selecting properties
|
|
3222
|
+
* with dot-notation paths.
|
|
3223
|
+
* Features:
|
|
3224
|
+
* - Menu-based navigation through properties
|
|
3225
|
+
* - Submenu support for drilling into relations
|
|
3226
|
+
* - Internal state management during navigation
|
|
3227
|
+
* - Only emits complete paths (leaf properties)
|
|
3228
|
+
* - Chip-set display showing current path
|
|
3229
|
+
* @private
|
|
3230
|
+
*/
|
|
3231
|
+
interface HTMLLimebbPropertySelectorElement extends Components.LimebbPropertySelector, HTMLStencilElement {
|
|
3232
|
+
addEventListener<K extends keyof HTMLLimebbPropertySelectorElementEventMap>(type: K, listener: (this: HTMLLimebbPropertySelectorElement, ev: LimebbPropertySelectorCustomEvent<HTMLLimebbPropertySelectorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3233
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3234
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3235
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
3236
|
+
removeEventListener<K extends keyof HTMLLimebbPropertySelectorElementEventMap>(type: K, listener: (this: HTMLLimebbPropertySelectorElement, ev: LimebbPropertySelectorCustomEvent<HTMLLimebbPropertySelectorElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
3237
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3238
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3239
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
3240
|
+
}
|
|
3241
|
+
var HTMLLimebbPropertySelectorElement: {
|
|
3242
|
+
prototype: HTMLLimebbPropertySelectorElement;
|
|
3243
|
+
new (): HTMLLimebbPropertySelectorElement;
|
|
3244
|
+
};
|
|
3245
|
+
interface HTMLLimebbResponseFormatEditorElementEventMap {
|
|
3246
|
+
"change": ResponseFormat;
|
|
3247
|
+
}
|
|
3248
|
+
/**
|
|
3249
|
+
* Response Format Editor Component
|
|
3250
|
+
* Allows users to select which properties should be returned in the query response.
|
|
3251
|
+
* Supports selecting properties on both the main limetype and related limetypes
|
|
3252
|
+
* through belongsto relations.
|
|
3253
|
+
* Features:
|
|
3254
|
+
* - **Property selection**: Choose properties using dropdown navigation
|
|
3255
|
+
* - **Nested properties**: Select properties on related objects (e.g., company.name)
|
|
3256
|
+
* - **Property aliases**: Optionally rename properties in the response
|
|
3257
|
+
* - **Dynamic list**: Add/remove property selections
|
|
3258
|
+
* - **Real-time updates**: Changes immediately update the responseFormat
|
|
3259
|
+
* The component generates a `ResponseFormat` object with the `object` field
|
|
3260
|
+
* containing the selected properties.
|
|
3261
|
+
* @private
|
|
3262
|
+
*/
|
|
3263
|
+
interface HTMLLimebbResponseFormatEditorElement extends Components.LimebbResponseFormatEditor, HTMLStencilElement {
|
|
3264
|
+
addEventListener<K extends keyof HTMLLimebbResponseFormatEditorElementEventMap>(type: K, listener: (this: HTMLLimebbResponseFormatEditorElement, ev: LimebbResponseFormatEditorCustomEvent<HTMLLimebbResponseFormatEditorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3265
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3266
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3267
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
3268
|
+
removeEventListener<K extends keyof HTMLLimebbResponseFormatEditorElementEventMap>(type: K, listener: (this: HTMLLimebbResponseFormatEditorElement, ev: LimebbResponseFormatEditorCustomEvent<HTMLLimebbResponseFormatEditorElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
3269
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3270
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3271
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
3272
|
+
}
|
|
3273
|
+
var HTMLLimebbResponseFormatEditorElement: {
|
|
3274
|
+
prototype: HTMLLimebbResponseFormatEditorElement;
|
|
3275
|
+
new (): HTMLLimebbResponseFormatEditorElement;
|
|
3276
|
+
};
|
|
3277
|
+
interface HTMLLimebbResponseFormatItemElementEventMap {
|
|
3278
|
+
"itemChange": PropertySelectionItem | null;
|
|
3279
|
+
}
|
|
3280
|
+
/**
|
|
3281
|
+
* Response Format Property Item Component
|
|
3282
|
+
* Represents a single property selection with optional alias and description
|
|
3283
|
+
* Part of the response format editor
|
|
3284
|
+
* @private
|
|
3285
|
+
*/
|
|
3286
|
+
interface HTMLLimebbResponseFormatItemElement extends Components.LimebbResponseFormatItem, HTMLStencilElement {
|
|
3287
|
+
addEventListener<K extends keyof HTMLLimebbResponseFormatItemElementEventMap>(type: K, listener: (this: HTMLLimebbResponseFormatItemElement, ev: LimebbResponseFormatItemCustomEvent<HTMLLimebbResponseFormatItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3288
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3289
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3290
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
3291
|
+
removeEventListener<K extends keyof HTMLLimebbResponseFormatItemElementEventMap>(type: K, listener: (this: HTMLLimebbResponseFormatItemElement, ev: LimebbResponseFormatItemCustomEvent<HTMLLimebbResponseFormatItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
3292
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3293
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3294
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
3295
|
+
}
|
|
3296
|
+
var HTMLLimebbResponseFormatItemElement: {
|
|
3297
|
+
prototype: HTMLLimebbResponseFormatItemElement;
|
|
3298
|
+
new (): HTMLLimebbResponseFormatItemElement;
|
|
3299
|
+
};
|
|
2509
3300
|
interface HTMLLimebbSummaryPopoverElementEventMap {
|
|
2510
3301
|
"actionSelected": ActionBarItem;
|
|
2511
3302
|
}
|
|
@@ -2693,7 +3484,14 @@ declare global {
|
|
|
2693
3484
|
"limebb-kanban-group": HTMLLimebbKanbanGroupElement;
|
|
2694
3485
|
"limebb-kanban-item": HTMLLimebbKanbanItemElement;
|
|
2695
3486
|
"limebb-lime-query-builder": HTMLLimebbLimeQueryBuilderElement;
|
|
3487
|
+
"limebb-lime-query-filter-and": HTMLLimebbLimeQueryFilterAndElement;
|
|
3488
|
+
"limebb-lime-query-filter-comparison": HTMLLimebbLimeQueryFilterComparisonElement;
|
|
3489
|
+
"limebb-lime-query-filter-expression": HTMLLimebbLimeQueryFilterExpressionElement;
|
|
3490
|
+
"limebb-lime-query-filter-not": HTMLLimebbLimeQueryFilterNotElement;
|
|
3491
|
+
"limebb-lime-query-filter-or": HTMLLimebbLimeQueryFilterOrElement;
|
|
3492
|
+
"limebb-lime-query-value-input": HTMLLimebbLimeQueryValueInputElement;
|
|
2696
3493
|
"limebb-limeobject-file-viewer": HTMLLimebbLimeobjectFileViewerElement;
|
|
3494
|
+
"limebb-limetype-field": HTMLLimebbLimetypeFieldElement;
|
|
2697
3495
|
"limebb-live-docs-info": HTMLLimebbLiveDocsInfoElement;
|
|
2698
3496
|
"limebb-loader": HTMLLimebbLoaderElement;
|
|
2699
3497
|
"limebb-locale-picker": HTMLLimebbLocalePickerElement;
|
|
@@ -2703,6 +3501,9 @@ declare global {
|
|
|
2703
3501
|
"limebb-notification-item": HTMLLimebbNotificationItemElement;
|
|
2704
3502
|
"limebb-notification-list": HTMLLimebbNotificationListElement;
|
|
2705
3503
|
"limebb-percentage-visualizer": HTMLLimebbPercentageVisualizerElement;
|
|
3504
|
+
"limebb-property-selector": HTMLLimebbPropertySelectorElement;
|
|
3505
|
+
"limebb-response-format-editor": HTMLLimebbResponseFormatEditorElement;
|
|
3506
|
+
"limebb-response-format-item": HTMLLimebbResponseFormatItemElement;
|
|
2706
3507
|
"limebb-summary-popover": HTMLLimebbSummaryPopoverElement;
|
|
2707
3508
|
"limebb-text-editor": HTMLLimebbTextEditorElement;
|
|
2708
3509
|
"limebb-text-editor-picker": HTMLLimebbTextEditorPickerElement;
|
|
@@ -3617,130 +4418,409 @@ declare namespace LocalJSX {
|
|
|
3617
4418
|
*/
|
|
3618
4419
|
"context"?: LimeWebComponentContext;
|
|
3619
4420
|
/**
|
|
3620
|
-
* List of groups to display in the kanban board. Each group contains a list of items belonging to that group.
|
|
4421
|
+
* List of groups to display in the kanban board. Each group contains a list of items belonging to that group.
|
|
4422
|
+
*/
|
|
4423
|
+
"groups"?: KanbanGroup[];
|
|
4424
|
+
/**
|
|
4425
|
+
* Emitted when an item is interacted with
|
|
4426
|
+
*/
|
|
4427
|
+
"onInteract"?: (event: LimebbKanbanCustomEvent<KanbanItem>) => void;
|
|
4428
|
+
/**
|
|
4429
|
+
* Emitted when the load more button is clicked
|
|
4430
|
+
*/
|
|
4431
|
+
"onLoadMore"?: (event: LimebbKanbanCustomEvent<KanbanGroup>) => void;
|
|
4432
|
+
/**
|
|
4433
|
+
* Reference to the platform
|
|
4434
|
+
* @inheritdoc
|
|
4435
|
+
*/
|
|
4436
|
+
"platform": LimeWebComponentPlatform;
|
|
4437
|
+
}
|
|
4438
|
+
/**
|
|
4439
|
+
* This component generates the groups for `limebb-kanban`.
|
|
4440
|
+
* @private
|
|
4441
|
+
*/
|
|
4442
|
+
interface LimebbKanbanGroup {
|
|
4443
|
+
/**
|
|
4444
|
+
* The context this component belongs to
|
|
4445
|
+
* @inheritdoc
|
|
4446
|
+
*/
|
|
4447
|
+
"context"?: LimeWebComponentContext;
|
|
4448
|
+
/**
|
|
4449
|
+
* The title of the group, which is taken from the `groupBy` property of the `limebb-kanban` component.
|
|
4450
|
+
*/
|
|
4451
|
+
"heading"?: string;
|
|
4452
|
+
/**
|
|
4453
|
+
* Description of the group
|
|
4454
|
+
*/
|
|
4455
|
+
"help"?: string;
|
|
4456
|
+
/**
|
|
4457
|
+
* A unique identifier for the group.
|
|
4458
|
+
*/
|
|
4459
|
+
"identifier"?: string;
|
|
4460
|
+
/**
|
|
4461
|
+
* List of items to display in the group.
|
|
4462
|
+
*/
|
|
4463
|
+
"items"?: KanbanItem[];
|
|
4464
|
+
/**
|
|
4465
|
+
* True if items have not finished loading.
|
|
4466
|
+
*/
|
|
4467
|
+
"loading"?: boolean;
|
|
4468
|
+
/**
|
|
4469
|
+
* Emitted when the load more button is clicked
|
|
4470
|
+
*/
|
|
4471
|
+
"onLoadMore"?: (event: LimebbKanbanGroupCustomEvent<KanbanGroup['identifier']>) => void;
|
|
4472
|
+
/**
|
|
4473
|
+
* Reference to the platform
|
|
4474
|
+
* @inheritdoc
|
|
4475
|
+
*/
|
|
4476
|
+
"platform": LimeWebComponentPlatform;
|
|
4477
|
+
/**
|
|
4478
|
+
* The summary of the group.
|
|
4479
|
+
*/
|
|
4480
|
+
"summary"?: string;
|
|
4481
|
+
/**
|
|
4482
|
+
* Total number of items available for the group. This is used to determine if the "load more" button should be displayed.
|
|
4483
|
+
*/
|
|
4484
|
+
"totalCount"?: number;
|
|
4485
|
+
}
|
|
4486
|
+
/**
|
|
4487
|
+
* Feed item
|
|
4488
|
+
* @private
|
|
4489
|
+
*/
|
|
4490
|
+
interface LimebbKanbanItem {
|
|
4491
|
+
/**
|
|
4492
|
+
* The context this component belongs to
|
|
4493
|
+
* @inheritdoc
|
|
4494
|
+
*/
|
|
4495
|
+
"context"?: LimeWebComponentContext;
|
|
4496
|
+
/**
|
|
4497
|
+
* The item to display in the Kanban group.
|
|
4498
|
+
*/
|
|
4499
|
+
"item"?: KanbanItem;
|
|
4500
|
+
/**
|
|
4501
|
+
* Fired when clicking on the Kanban item.
|
|
4502
|
+
*/
|
|
4503
|
+
"onInteract"?: (event: LimebbKanbanItemCustomEvent<KanbanItem>) => void;
|
|
4504
|
+
/**
|
|
4505
|
+
* Reference to the platform
|
|
4506
|
+
* @inheritdoc
|
|
4507
|
+
*/
|
|
4508
|
+
"platform": LimeWebComponentPlatform;
|
|
4509
|
+
}
|
|
4510
|
+
/**
|
|
4511
|
+
* Lime Query Builder Component
|
|
4512
|
+
* A comprehensive query builder for constructing Lime Query DSL queries.
|
|
4513
|
+
* This is the main component that combines limetype selection with the filter builder.
|
|
4514
|
+
* Features:
|
|
4515
|
+
* - **Limetype selection**: Choose which object type to query
|
|
4516
|
+
* - **Filter builder**: Build complex filters with AND/OR/NOT logic
|
|
4517
|
+
* - **Property path selection**: Navigate through relations
|
|
4518
|
+
* - **Type-aware inputs**: Automatic input types based on property type
|
|
4519
|
+
* - **Response format**: Select which properties to return
|
|
4520
|
+
* - **Query options**: Configure limit and other query parameters
|
|
4521
|
+
* - **Real-time output**: See the Lime Query JSON as you build
|
|
4522
|
+
* The component produces a complete `LimeQuery` object that can be sent
|
|
4523
|
+
* directly to the Lime CRM backend.
|
|
4524
|
+
* @exampleComponent limebb-example-lime-query-builder-basic
|
|
4525
|
+
* @private
|
|
4526
|
+
*/
|
|
4527
|
+
interface LimebbLimeQueryBuilder {
|
|
4528
|
+
/**
|
|
4529
|
+
* Component context
|
|
4530
|
+
*/
|
|
4531
|
+
"context"?: LimeWebComponentContext;
|
|
4532
|
+
/**
|
|
4533
|
+
* Optional label for the Lime Query builder
|
|
4534
|
+
*/
|
|
4535
|
+
"label"?: string;
|
|
4536
|
+
/**
|
|
4537
|
+
* Emitted when the Lime Query changes
|
|
4538
|
+
*/
|
|
4539
|
+
"onChange"?: (event: LimebbLimeQueryBuilderCustomEvent<LimeQuery>) => void;
|
|
4540
|
+
/**
|
|
4541
|
+
* Platform service provider
|
|
4542
|
+
*/
|
|
4543
|
+
"platform"?: LimeWebComponentPlatform;
|
|
4544
|
+
/**
|
|
4545
|
+
* The complete Lime Query object
|
|
4546
|
+
*/
|
|
4547
|
+
"value"?: LimeQuery;
|
|
4548
|
+
}
|
|
4549
|
+
/**
|
|
4550
|
+
* Lime Query Filter AND Component
|
|
4551
|
+
* Renders a group of filter expressions where **all conditions must be true**.
|
|
4552
|
+
* Users can add multiple child expressions, and a record must match all of them
|
|
4553
|
+
* to be included in the result set.
|
|
4554
|
+
* This component displays:
|
|
4555
|
+
* - A header with "All of these conditions are true" when there are multiple conditions
|
|
4556
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
4557
|
+
* - An "Add another condition" button to add more expressions
|
|
4558
|
+
* Clicking the trash icon on a child expression removes it from the AND group.
|
|
4559
|
+
* @private
|
|
4560
|
+
*/
|
|
4561
|
+
interface LimebbLimeQueryFilterAnd {
|
|
4562
|
+
/**
|
|
4563
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
4564
|
+
*/
|
|
4565
|
+
"activeLimetype"?: string;
|
|
4566
|
+
/**
|
|
4567
|
+
* Component context
|
|
4568
|
+
*/
|
|
4569
|
+
"context"?: LimeWebComponentContext;
|
|
4570
|
+
/**
|
|
4571
|
+
* The AND expression containing child expressions
|
|
4572
|
+
*/
|
|
4573
|
+
"expression"?: LimeQueryFilterAnd;
|
|
4574
|
+
/**
|
|
4575
|
+
* Optional label for the AND group
|
|
4576
|
+
*/
|
|
4577
|
+
"label"?: string;
|
|
4578
|
+
/**
|
|
4579
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
4580
|
+
*/
|
|
4581
|
+
"limetype"?: string;
|
|
4582
|
+
/**
|
|
4583
|
+
* Emitted when the AND expression changes (expressions added/removed/modified)
|
|
4584
|
+
*/
|
|
4585
|
+
"onExpressionChange"?: (event: LimebbLimeQueryFilterAndCustomEvent<LimeQueryFilterAnd | LimeQueryFilterMissing>) => void;
|
|
4586
|
+
/**
|
|
4587
|
+
* Platform service provider
|
|
4588
|
+
*/
|
|
4589
|
+
"platform"?: LimeWebComponentPlatform;
|
|
4590
|
+
}
|
|
4591
|
+
/**
|
|
4592
|
+
* Lime Query Filter Comparison Component
|
|
4593
|
+
* Renders a single comparison expression with three parts:
|
|
4594
|
+
* 1. **Property** - The field to compare (e.g., "dealstatus", "company.name")
|
|
4595
|
+
* 2. **Operator** - The comparison operator (=, !=, >, <, >=, <=, IN, ?, =?, =$)
|
|
4596
|
+
* 3. **Value** - The value to compare against
|
|
4597
|
+
* This is the most basic building block of a filter. Examples:
|
|
4598
|
+
* - dealstatus = "won"
|
|
4599
|
+
* - value > 100000
|
|
4600
|
+
* - name ? "Big" (contains "Big")
|
|
4601
|
+
* - dealstatus IN ["won", "tender"]
|
|
4602
|
+
* The component displays:
|
|
4603
|
+
* - A text input for the property (Phase 0 - will be replaced with property-path in Phase 1)
|
|
4604
|
+
* - A dropdown for the operator
|
|
4605
|
+
* - A value input (text/number based on operator)
|
|
4606
|
+
* - A trash icon button to remove this condition
|
|
4607
|
+
* @private
|
|
4608
|
+
*/
|
|
4609
|
+
interface LimebbLimeQueryFilterComparison {
|
|
4610
|
+
/**
|
|
4611
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
4612
|
+
*/
|
|
4613
|
+
"activeLimetype"?: string;
|
|
4614
|
+
/**
|
|
4615
|
+
* Component context
|
|
4616
|
+
*/
|
|
4617
|
+
"context"?: LimeWebComponentContext;
|
|
4618
|
+
/**
|
|
4619
|
+
* The comparison expression to render
|
|
4620
|
+
*/
|
|
4621
|
+
"expression"?: LimeQueryFilterComparison;
|
|
4622
|
+
/**
|
|
4623
|
+
* Optional label for the comparison
|
|
4624
|
+
*/
|
|
4625
|
+
"label"?: string;
|
|
4626
|
+
/**
|
|
4627
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
4628
|
+
*/
|
|
4629
|
+
"limetype"?: string;
|
|
4630
|
+
/**
|
|
4631
|
+
* Emitted when the comparison expression changes (property/operator/value modified)
|
|
4632
|
+
*/
|
|
4633
|
+
"onExpressionChange"?: (event: LimebbLimeQueryFilterComparisonCustomEvent<LimeQueryFilterComparison | LimeQueryFilterMissing>) => void;
|
|
4634
|
+
/**
|
|
4635
|
+
* Platform service provider
|
|
4636
|
+
*/
|
|
4637
|
+
"platform"?: LimeWebComponentPlatform;
|
|
4638
|
+
}
|
|
4639
|
+
/**
|
|
4640
|
+
* Lime Query Filter Expression Router
|
|
4641
|
+
* This is the main entry point for rendering Lime Query filters.
|
|
4642
|
+
* It routes to the appropriate sub-component based on the filter type:
|
|
4643
|
+
* - `'AND'` → limebb-lime-query-filter-and
|
|
4644
|
+
* - `'OR'` → limebb-lime-query-filter-or
|
|
4645
|
+
* - `'NOT'` → limebb-lime-query-filter-not
|
|
4646
|
+
* - `'comparison'` → limebb-lime-query-filter-comparison
|
|
4647
|
+
* - `''` (missing) → limebb-lime-query-filter-comparison (default)
|
|
4648
|
+
* Use this component when you need to render a complete filter expression
|
|
4649
|
+
* that may contain nested AND/OR/NOT logic.
|
|
4650
|
+
* @private
|
|
4651
|
+
*/
|
|
4652
|
+
interface LimebbLimeQueryFilterExpression {
|
|
4653
|
+
/**
|
|
4654
|
+
* The limetype of the active object (for %activeObject% placeholders) Optional - used for validation and property suggestions
|
|
4655
|
+
*/
|
|
4656
|
+
"activeLimetype"?: string;
|
|
4657
|
+
/**
|
|
4658
|
+
* Component context
|
|
4659
|
+
*/
|
|
4660
|
+
"context"?: LimeWebComponentContext;
|
|
4661
|
+
/**
|
|
4662
|
+
* The filter expression to render
|
|
3621
4663
|
*/
|
|
3622
|
-
"
|
|
4664
|
+
"expression"?: LimeQueryFilterExpression;
|
|
3623
4665
|
/**
|
|
3624
|
-
*
|
|
4666
|
+
* Optional label for the expression
|
|
3625
4667
|
*/
|
|
3626
|
-
"
|
|
4668
|
+
"label"?: string;
|
|
3627
4669
|
/**
|
|
3628
|
-
*
|
|
4670
|
+
* The limetype being queried (e.g., "deal", "company") Used for property validation and type-aware inputs
|
|
3629
4671
|
*/
|
|
3630
|
-
"
|
|
4672
|
+
"limetype"?: string;
|
|
3631
4673
|
/**
|
|
3632
|
-
*
|
|
3633
|
-
* @inheritdoc
|
|
4674
|
+
* Emitted when the filter expression changes
|
|
3634
4675
|
*/
|
|
3635
|
-
"
|
|
4676
|
+
"onExpressionChange"?: (event: LimebbLimeQueryFilterExpressionCustomEvent<LimeQueryFilterExpression>) => void;
|
|
4677
|
+
/**
|
|
4678
|
+
* Platform service provider
|
|
4679
|
+
*/
|
|
4680
|
+
"platform"?: LimeWebComponentPlatform;
|
|
3636
4681
|
}
|
|
3637
4682
|
/**
|
|
3638
|
-
*
|
|
4683
|
+
* Lime Query Filter NOT Component
|
|
4684
|
+
* Renders a negated filter expression. This inverts the logic of the child expression,
|
|
4685
|
+
* so records that would normally match will be excluded, and vice versa.
|
|
4686
|
+
* For example:
|
|
4687
|
+
* - NOT (status = "won") → Include all records where status is NOT "won"
|
|
4688
|
+
* - NOT (value > 100000) → Include all records where value is NOT greater than 100000
|
|
4689
|
+
* This component displays:
|
|
4690
|
+
* - A "Not" label
|
|
4691
|
+
* - A single child expression (which can be a comparison or nested AND/OR group)
|
|
4692
|
+
* Clicking the trash icon removes the entire NOT expression.
|
|
3639
4693
|
* @private
|
|
3640
4694
|
*/
|
|
3641
|
-
interface
|
|
4695
|
+
interface LimebbLimeQueryFilterNot {
|
|
3642
4696
|
/**
|
|
3643
|
-
* The
|
|
3644
|
-
* @inheritdoc
|
|
4697
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
3645
4698
|
*/
|
|
3646
|
-
"
|
|
4699
|
+
"activeLimetype"?: string;
|
|
3647
4700
|
/**
|
|
3648
|
-
*
|
|
4701
|
+
* Component context
|
|
3649
4702
|
*/
|
|
3650
|
-
"
|
|
4703
|
+
"context"?: LimeWebComponentContext;
|
|
3651
4704
|
/**
|
|
3652
|
-
*
|
|
4705
|
+
* The NOT expression containing the child expression to negate
|
|
3653
4706
|
*/
|
|
3654
|
-
"
|
|
4707
|
+
"expression"?: LimeQueryFilterNot;
|
|
3655
4708
|
/**
|
|
3656
|
-
*
|
|
4709
|
+
* Optional label for the NOT expression
|
|
3657
4710
|
*/
|
|
3658
|
-
"
|
|
4711
|
+
"label"?: string;
|
|
3659
4712
|
/**
|
|
3660
|
-
*
|
|
4713
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
3661
4714
|
*/
|
|
3662
|
-
"
|
|
4715
|
+
"limetype"?: string;
|
|
3663
4716
|
/**
|
|
3664
|
-
*
|
|
4717
|
+
* Emitted when the NOT expression changes (child expression modified or removed)
|
|
3665
4718
|
*/
|
|
3666
|
-
"
|
|
4719
|
+
"onExpressionChange"?: (event: LimebbLimeQueryFilterNotCustomEvent<LimeQueryFilterNot | LimeQueryFilterMissing>) => void;
|
|
3667
4720
|
/**
|
|
3668
|
-
*
|
|
4721
|
+
* Platform service provider
|
|
3669
4722
|
*/
|
|
3670
|
-
"
|
|
4723
|
+
"platform"?: LimeWebComponentPlatform;
|
|
4724
|
+
}
|
|
4725
|
+
/**
|
|
4726
|
+
* Lime Query Filter OR Component
|
|
4727
|
+
* Renders a group of filter expressions where **at least one condition must be true**.
|
|
4728
|
+
* Users can add multiple alternative expressions, and a record only needs to match
|
|
4729
|
+
* one of them to be included in the result set.
|
|
4730
|
+
* This component displays:
|
|
4731
|
+
* - A header with "Any of these conditions is true" when there are multiple conditions
|
|
4732
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
4733
|
+
* - An "Add alternative" button to add more options
|
|
4734
|
+
* Clicking the trash icon on a child expression removes it from the OR group.
|
|
4735
|
+
* @private
|
|
4736
|
+
*/
|
|
4737
|
+
interface LimebbLimeQueryFilterOr {
|
|
3671
4738
|
/**
|
|
3672
|
-
*
|
|
3673
|
-
* @inheritdoc
|
|
4739
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
3674
4740
|
*/
|
|
3675
|
-
"
|
|
4741
|
+
"activeLimetype"?: string;
|
|
3676
4742
|
/**
|
|
3677
|
-
*
|
|
4743
|
+
* Component context
|
|
3678
4744
|
*/
|
|
3679
|
-
"
|
|
4745
|
+
"context"?: LimeWebComponentContext;
|
|
3680
4746
|
/**
|
|
3681
|
-
*
|
|
4747
|
+
* The OR expression containing child expressions
|
|
3682
4748
|
*/
|
|
3683
|
-
"
|
|
3684
|
-
}
|
|
3685
|
-
/**
|
|
3686
|
-
* Feed item
|
|
3687
|
-
* @private
|
|
3688
|
-
*/
|
|
3689
|
-
interface LimebbKanbanItem {
|
|
4749
|
+
"expression"?: LimeQueryFilterOr;
|
|
3690
4750
|
/**
|
|
3691
|
-
*
|
|
3692
|
-
* @inheritdoc
|
|
4751
|
+
* Optional label for the OR group
|
|
3693
4752
|
*/
|
|
3694
|
-
"
|
|
4753
|
+
"label"?: string;
|
|
3695
4754
|
/**
|
|
3696
|
-
* The
|
|
4755
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
3697
4756
|
*/
|
|
3698
|
-
"
|
|
4757
|
+
"limetype"?: string;
|
|
3699
4758
|
/**
|
|
3700
|
-
*
|
|
4759
|
+
* Emitted when the OR expression changes (expressions added/removed/modified)
|
|
3701
4760
|
*/
|
|
3702
|
-
"
|
|
4761
|
+
"onExpressionChange"?: (event: LimebbLimeQueryFilterOrCustomEvent<LimeQueryFilterOr | LimeQueryFilterMissing>) => void;
|
|
3703
4762
|
/**
|
|
3704
|
-
*
|
|
3705
|
-
* @inheritdoc
|
|
4763
|
+
* Platform service provider
|
|
3706
4764
|
*/
|
|
3707
|
-
"platform"
|
|
4765
|
+
"platform"?: LimeWebComponentPlatform;
|
|
3708
4766
|
}
|
|
3709
4767
|
/**
|
|
3710
|
-
*
|
|
3711
|
-
*
|
|
3712
|
-
*
|
|
3713
|
-
*
|
|
3714
|
-
*
|
|
3715
|
-
* - **
|
|
3716
|
-
*
|
|
3717
|
-
*
|
|
3718
|
-
*
|
|
3719
|
-
*
|
|
3720
|
-
*
|
|
4768
|
+
* Query Value Input Component
|
|
4769
|
+
* Renders an appropriate input control based on the property type and operator.
|
|
4770
|
+
* This component automatically adapts its UI to match the data type of the selected
|
|
4771
|
+
* property, providing a better user experience and data validation.
|
|
4772
|
+
* Supported input types:
|
|
4773
|
+
* - **String/Text**: Standard text input field
|
|
4774
|
+
* - **Integer/Decimal**: Number input with appropriate step values
|
|
4775
|
+
* - **Date**: Date picker returning ISO date strings
|
|
4776
|
+
* - **Time**: Time input field
|
|
4777
|
+
* - **Boolean (yesno)**: True/False dropdown
|
|
4778
|
+
* - **Option**: Dropdown populated with valid options from property definition
|
|
4779
|
+
* - **IN operator**: Comma-separated input for multiple values (any type)
|
|
4780
|
+
* - **Placeholder mode**: Select properties from active object using %activeObject%
|
|
4781
|
+
* The component handles type conversions automatically:
|
|
4782
|
+
* - Numbers are parsed from string inputs
|
|
4783
|
+
* - Dates are converted to/from ISO strings
|
|
4784
|
+
* - Booleans are converted to/from strings for dropdown compatibility
|
|
3721
4785
|
* @private
|
|
3722
4786
|
*/
|
|
3723
|
-
interface
|
|
4787
|
+
interface LimebbLimeQueryValueInput {
|
|
4788
|
+
/**
|
|
4789
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
4790
|
+
*/
|
|
4791
|
+
"activeLimetype"?: string;
|
|
3724
4792
|
/**
|
|
3725
4793
|
* Component context
|
|
3726
4794
|
*/
|
|
3727
4795
|
"context"?: LimeWebComponentContext;
|
|
3728
4796
|
/**
|
|
3729
|
-
* Optional label for the
|
|
4797
|
+
* Optional label for the input
|
|
3730
4798
|
*/
|
|
3731
4799
|
"label"?: string;
|
|
3732
4800
|
/**
|
|
3733
|
-
*
|
|
4801
|
+
* The limetype being queried
|
|
3734
4802
|
*/
|
|
3735
|
-
"
|
|
4803
|
+
"limetype"?: string;
|
|
4804
|
+
/**
|
|
4805
|
+
* Emitted when the value changes
|
|
4806
|
+
*/
|
|
4807
|
+
"onChange"?: (event: LimebbLimeQueryValueInputCustomEvent<any>) => void;
|
|
4808
|
+
/**
|
|
4809
|
+
* The operator being used
|
|
4810
|
+
*/
|
|
4811
|
+
"operator"?: FilterOperator;
|
|
3736
4812
|
/**
|
|
3737
4813
|
* Platform service provider
|
|
3738
4814
|
*/
|
|
3739
4815
|
"platform"?: LimeWebComponentPlatform;
|
|
3740
4816
|
/**
|
|
3741
|
-
* The
|
|
4817
|
+
* The property path (e.g., "dealstatus", "company.name")
|
|
3742
4818
|
*/
|
|
3743
|
-
"
|
|
4819
|
+
"propertyPath"?: string;
|
|
4820
|
+
/**
|
|
4821
|
+
* The current value
|
|
4822
|
+
*/
|
|
4823
|
+
"value"?: any;
|
|
3744
4824
|
}
|
|
3745
4825
|
/**
|
|
3746
4826
|
* Component for displaying the contents of an attached file on a limeobject
|
|
@@ -3768,6 +4848,89 @@ declare namespace LocalJSX {
|
|
|
3768
4848
|
*/
|
|
3769
4849
|
"property"?: string;
|
|
3770
4850
|
}
|
|
4851
|
+
/**
|
|
4852
|
+
* Limetype Field Component
|
|
4853
|
+
* A dropdown selector for choosing a limetype (object type) from the available
|
|
4854
|
+
* limetypes in the system.
|
|
4855
|
+
* This component:
|
|
4856
|
+
* - Displays all limetypes with their icons and localized names
|
|
4857
|
+
* - Supports restricting to a specific list of limetypes
|
|
4858
|
+
* - Can update dependent property-path fields when selection changes
|
|
4859
|
+
* - Implements the FormComponent interface for use in forms
|
|
4860
|
+
* Common use cases:
|
|
4861
|
+
* - Selecting which object type to query in a lime query builder
|
|
4862
|
+
* - Choosing target limetype for relations
|
|
4863
|
+
* - Configuring limetype-dependent settings
|
|
4864
|
+
* @private
|
|
4865
|
+
*/
|
|
4866
|
+
interface LimebbLimetypeField {
|
|
4867
|
+
/**
|
|
4868
|
+
* The context this component belongs to
|
|
4869
|
+
* @inheritdoc
|
|
4870
|
+
*/
|
|
4871
|
+
"context"?: LimeWebComponentContext;
|
|
4872
|
+
/**
|
|
4873
|
+
* Whether or not the current property is disabled
|
|
4874
|
+
* @inheritdoc
|
|
4875
|
+
*/
|
|
4876
|
+
"disabled"?: boolean;
|
|
4877
|
+
/**
|
|
4878
|
+
* The name of this field. May be used as reference when a property mapping depends on the selected limetype.
|
|
4879
|
+
*/
|
|
4880
|
+
"fieldName"?: string;
|
|
4881
|
+
/**
|
|
4882
|
+
* Additional contextual information about the form
|
|
4883
|
+
* @inheritdoc
|
|
4884
|
+
*/
|
|
4885
|
+
"formInfo"?: FormInfo;
|
|
4886
|
+
/**
|
|
4887
|
+
* The helper text for the current property
|
|
4888
|
+
* @inheritdoc
|
|
4889
|
+
*/
|
|
4890
|
+
"helperText"?: string;
|
|
4891
|
+
/**
|
|
4892
|
+
* @inheritdoc
|
|
4893
|
+
*/
|
|
4894
|
+
"invalid"?: boolean;
|
|
4895
|
+
/**
|
|
4896
|
+
* The label of the current property
|
|
4897
|
+
* @inheritdoc
|
|
4898
|
+
*/
|
|
4899
|
+
"label"?: string;
|
|
4900
|
+
/**
|
|
4901
|
+
* The limetypes to choose from
|
|
4902
|
+
*/
|
|
4903
|
+
"limetypes"?: string[];
|
|
4904
|
+
/**
|
|
4905
|
+
* The event to emit when the value of the current property has changed
|
|
4906
|
+
* @inheritdoc
|
|
4907
|
+
*/
|
|
4908
|
+
"onChange"?: (event: LimebbLimetypeFieldCustomEvent<string>) => void;
|
|
4909
|
+
/**
|
|
4910
|
+
* Reference to the platform
|
|
4911
|
+
* @inheritdoc
|
|
4912
|
+
*/
|
|
4913
|
+
"platform"?: LimeWebComponentPlatform;
|
|
4914
|
+
/**
|
|
4915
|
+
* A list of property fields that should be updated when the selected limetype changes.
|
|
4916
|
+
*/
|
|
4917
|
+
"propertyFields"?: DependentPropertyField[];
|
|
4918
|
+
/**
|
|
4919
|
+
* Whether or not the current property is readonly
|
|
4920
|
+
* @inheritdoc
|
|
4921
|
+
*/
|
|
4922
|
+
"readonly"?: boolean;
|
|
4923
|
+
/**
|
|
4924
|
+
* Whether or not the current property is required
|
|
4925
|
+
* @inheritdoc
|
|
4926
|
+
*/
|
|
4927
|
+
"required"?: boolean;
|
|
4928
|
+
/**
|
|
4929
|
+
* The value of the current property
|
|
4930
|
+
* @inheritdoc
|
|
4931
|
+
*/
|
|
4932
|
+
"value"?: string;
|
|
4933
|
+
}
|
|
3771
4934
|
/**
|
|
3772
4935
|
* @private
|
|
3773
4936
|
*/
|
|
@@ -4064,6 +5227,123 @@ declare namespace LocalJSX {
|
|
|
4064
5227
|
*/
|
|
4065
5228
|
"value"?: number | string;
|
|
4066
5229
|
}
|
|
5230
|
+
/**
|
|
5231
|
+
* Property Selector Component
|
|
5232
|
+
* A menu-based property selector that allows users to navigate through properties
|
|
5233
|
+
* and relations, only emitting complete property paths (not intermediate relations).
|
|
5234
|
+
* Similar to limec-context-expression but specifically for selecting properties
|
|
5235
|
+
* with dot-notation paths.
|
|
5236
|
+
* Features:
|
|
5237
|
+
* - Menu-based navigation through properties
|
|
5238
|
+
* - Submenu support for drilling into relations
|
|
5239
|
+
* - Internal state management during navigation
|
|
5240
|
+
* - Only emits complete paths (leaf properties)
|
|
5241
|
+
* - Chip-set display showing current path
|
|
5242
|
+
* @private
|
|
5243
|
+
*/
|
|
5244
|
+
interface LimebbPropertySelector {
|
|
5245
|
+
/**
|
|
5246
|
+
* Component context
|
|
5247
|
+
*/
|
|
5248
|
+
"context"?: LimeWebComponentContext;
|
|
5249
|
+
/**
|
|
5250
|
+
* Helper text to display
|
|
5251
|
+
*/
|
|
5252
|
+
"helperText"?: string;
|
|
5253
|
+
/**
|
|
5254
|
+
* Label for the input
|
|
5255
|
+
*/
|
|
5256
|
+
"label"?: string;
|
|
5257
|
+
/**
|
|
5258
|
+
* The limetype to select properties from
|
|
5259
|
+
*/
|
|
5260
|
+
"limetype"?: string;
|
|
5261
|
+
/**
|
|
5262
|
+
* Emitted when a complete property path is selected
|
|
5263
|
+
*/
|
|
5264
|
+
"onChange"?: (event: LimebbPropertySelectorCustomEvent<string>) => void;
|
|
5265
|
+
/**
|
|
5266
|
+
* Platform service provider
|
|
5267
|
+
*/
|
|
5268
|
+
"platform"?: LimeWebComponentPlatform;
|
|
5269
|
+
/**
|
|
5270
|
+
* Whether the field is required
|
|
5271
|
+
*/
|
|
5272
|
+
"required"?: boolean;
|
|
5273
|
+
/**
|
|
5274
|
+
* Current complete property path value
|
|
5275
|
+
*/
|
|
5276
|
+
"value"?: string;
|
|
5277
|
+
}
|
|
5278
|
+
/**
|
|
5279
|
+
* Response Format Editor Component
|
|
5280
|
+
* Allows users to select which properties should be returned in the query response.
|
|
5281
|
+
* Supports selecting properties on both the main limetype and related limetypes
|
|
5282
|
+
* through belongsto relations.
|
|
5283
|
+
* Features:
|
|
5284
|
+
* - **Property selection**: Choose properties using dropdown navigation
|
|
5285
|
+
* - **Nested properties**: Select properties on related objects (e.g., company.name)
|
|
5286
|
+
* - **Property aliases**: Optionally rename properties in the response
|
|
5287
|
+
* - **Dynamic list**: Add/remove property selections
|
|
5288
|
+
* - **Real-time updates**: Changes immediately update the responseFormat
|
|
5289
|
+
* The component generates a `ResponseFormat` object with the `object` field
|
|
5290
|
+
* containing the selected properties.
|
|
5291
|
+
* @private
|
|
5292
|
+
*/
|
|
5293
|
+
interface LimebbResponseFormatEditor {
|
|
5294
|
+
/**
|
|
5295
|
+
* Component context
|
|
5296
|
+
*/
|
|
5297
|
+
"context"?: LimeWebComponentContext;
|
|
5298
|
+
/**
|
|
5299
|
+
* Optional label
|
|
5300
|
+
*/
|
|
5301
|
+
"label"?: string;
|
|
5302
|
+
/**
|
|
5303
|
+
* The limetype to select properties from
|
|
5304
|
+
*/
|
|
5305
|
+
"limetype"?: string;
|
|
5306
|
+
/**
|
|
5307
|
+
* Emitted when the response format changes
|
|
5308
|
+
*/
|
|
5309
|
+
"onChange"?: (event: LimebbResponseFormatEditorCustomEvent<ResponseFormat>) => void;
|
|
5310
|
+
/**
|
|
5311
|
+
* Platform service provider
|
|
5312
|
+
*/
|
|
5313
|
+
"platform"?: LimeWebComponentPlatform;
|
|
5314
|
+
/**
|
|
5315
|
+
* Current response format
|
|
5316
|
+
*/
|
|
5317
|
+
"value"?: ResponseFormat;
|
|
5318
|
+
}
|
|
5319
|
+
/**
|
|
5320
|
+
* Response Format Property Item Component
|
|
5321
|
+
* Represents a single property selection with optional alias and description
|
|
5322
|
+
* Part of the response format editor
|
|
5323
|
+
* @private
|
|
5324
|
+
*/
|
|
5325
|
+
interface LimebbResponseFormatItem {
|
|
5326
|
+
/**
|
|
5327
|
+
* Component context
|
|
5328
|
+
*/
|
|
5329
|
+
"context"?: LimeWebComponentContext;
|
|
5330
|
+
/**
|
|
5331
|
+
* The property selection item
|
|
5332
|
+
*/
|
|
5333
|
+
"item"?: PropertySelectionItem;
|
|
5334
|
+
/**
|
|
5335
|
+
* The limetype to select properties from
|
|
5336
|
+
*/
|
|
5337
|
+
"limetype"?: string;
|
|
5338
|
+
/**
|
|
5339
|
+
* Emitted when the item changes
|
|
5340
|
+
*/
|
|
5341
|
+
"onItemChange"?: (event: LimebbResponseFormatItemCustomEvent<PropertySelectionItem | null>) => void;
|
|
5342
|
+
/**
|
|
5343
|
+
* Platform service provider
|
|
5344
|
+
*/
|
|
5345
|
+
"platform"?: LimeWebComponentPlatform;
|
|
5346
|
+
}
|
|
4067
5347
|
/**
|
|
4068
5348
|
* This component uses
|
|
4069
5349
|
* [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)
|
|
@@ -4383,7 +5663,14 @@ declare namespace LocalJSX {
|
|
|
4383
5663
|
"limebb-kanban-group": LimebbKanbanGroup;
|
|
4384
5664
|
"limebb-kanban-item": LimebbKanbanItem;
|
|
4385
5665
|
"limebb-lime-query-builder": LimebbLimeQueryBuilder;
|
|
5666
|
+
"limebb-lime-query-filter-and": LimebbLimeQueryFilterAnd;
|
|
5667
|
+
"limebb-lime-query-filter-comparison": LimebbLimeQueryFilterComparison;
|
|
5668
|
+
"limebb-lime-query-filter-expression": LimebbLimeQueryFilterExpression;
|
|
5669
|
+
"limebb-lime-query-filter-not": LimebbLimeQueryFilterNot;
|
|
5670
|
+
"limebb-lime-query-filter-or": LimebbLimeQueryFilterOr;
|
|
5671
|
+
"limebb-lime-query-value-input": LimebbLimeQueryValueInput;
|
|
4386
5672
|
"limebb-limeobject-file-viewer": LimebbLimeobjectFileViewer;
|
|
5673
|
+
"limebb-limetype-field": LimebbLimetypeField;
|
|
4387
5674
|
"limebb-live-docs-info": LimebbLiveDocsInfo;
|
|
4388
5675
|
"limebb-loader": LimebbLoader;
|
|
4389
5676
|
"limebb-locale-picker": LimebbLocalePicker;
|
|
@@ -4393,6 +5680,9 @@ declare namespace LocalJSX {
|
|
|
4393
5680
|
"limebb-notification-item": LimebbNotificationItem;
|
|
4394
5681
|
"limebb-notification-list": LimebbNotificationList;
|
|
4395
5682
|
"limebb-percentage-visualizer": LimebbPercentageVisualizer;
|
|
5683
|
+
"limebb-property-selector": LimebbPropertySelector;
|
|
5684
|
+
"limebb-response-format-editor": LimebbResponseFormatEditor;
|
|
5685
|
+
"limebb-response-format-item": LimebbResponseFormatItem;
|
|
4396
5686
|
"limebb-summary-popover": LimebbSummaryPopover;
|
|
4397
5687
|
"limebb-text-editor": LimebbTextEditor;
|
|
4398
5688
|
"limebb-text-editor-picker": LimebbTextEditorPicker;
|
|
@@ -4675,19 +5965,116 @@ declare module "@stencil/core" {
|
|
|
4675
5965
|
"limebb-kanban-item": LocalJSX.LimebbKanbanItem & JSXBase.HTMLAttributes<HTMLLimebbKanbanItemElement>;
|
|
4676
5966
|
/**
|
|
4677
5967
|
* Lime Query Builder Component
|
|
4678
|
-
* A
|
|
5968
|
+
* A comprehensive query builder for constructing Lime Query DSL queries.
|
|
5969
|
+
* This is the main component that combines limetype selection with the filter builder.
|
|
4679
5970
|
* Features:
|
|
4680
|
-
* - **
|
|
4681
|
-
* - **
|
|
4682
|
-
* - **
|
|
4683
|
-
*
|
|
5971
|
+
* - **Limetype selection**: Choose which object type to query
|
|
5972
|
+
* - **Filter builder**: Build complex filters with AND/OR/NOT logic
|
|
5973
|
+
* - **Property path selection**: Navigate through relations
|
|
5974
|
+
* - **Type-aware inputs**: Automatic input types based on property type
|
|
5975
|
+
* - **Response format**: Select which properties to return
|
|
5976
|
+
* - **Query options**: Configure limit and other query parameters
|
|
5977
|
+
* - **Real-time output**: See the Lime Query JSON as you build
|
|
5978
|
+
* The component produces a complete `LimeQuery` object that can be sent
|
|
4684
5979
|
* directly to the Lime CRM backend.
|
|
4685
|
-
* When the feature flag `useLimeQueryBuilderGuiMode` is enabled, a mode toggle
|
|
4686
|
-
* becomes available, but GUI mode currently shows a placeholder message.
|
|
4687
5980
|
* @exampleComponent limebb-example-lime-query-builder-basic
|
|
4688
5981
|
* @private
|
|
4689
5982
|
*/
|
|
4690
5983
|
"limebb-lime-query-builder": LocalJSX.LimebbLimeQueryBuilder & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryBuilderElement>;
|
|
5984
|
+
/**
|
|
5985
|
+
* Lime Query Filter AND Component
|
|
5986
|
+
* Renders a group of filter expressions where **all conditions must be true**.
|
|
5987
|
+
* Users can add multiple child expressions, and a record must match all of them
|
|
5988
|
+
* to be included in the result set.
|
|
5989
|
+
* This component displays:
|
|
5990
|
+
* - A header with "All of these conditions are true" when there are multiple conditions
|
|
5991
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
5992
|
+
* - An "Add another condition" button to add more expressions
|
|
5993
|
+
* Clicking the trash icon on a child expression removes it from the AND group.
|
|
5994
|
+
* @private
|
|
5995
|
+
*/
|
|
5996
|
+
"limebb-lime-query-filter-and": LocalJSX.LimebbLimeQueryFilterAnd & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterAndElement>;
|
|
5997
|
+
/**
|
|
5998
|
+
* Lime Query Filter Comparison Component
|
|
5999
|
+
* Renders a single comparison expression with three parts:
|
|
6000
|
+
* 1. **Property** - The field to compare (e.g., "dealstatus", "company.name")
|
|
6001
|
+
* 2. **Operator** - The comparison operator (=, !=, >, <, >=, <=, IN, ?, =?, =$)
|
|
6002
|
+
* 3. **Value** - The value to compare against
|
|
6003
|
+
* This is the most basic building block of a filter. Examples:
|
|
6004
|
+
* - dealstatus = "won"
|
|
6005
|
+
* - value > 100000
|
|
6006
|
+
* - name ? "Big" (contains "Big")
|
|
6007
|
+
* - dealstatus IN ["won", "tender"]
|
|
6008
|
+
* The component displays:
|
|
6009
|
+
* - A text input for the property (Phase 0 - will be replaced with property-path in Phase 1)
|
|
6010
|
+
* - A dropdown for the operator
|
|
6011
|
+
* - A value input (text/number based on operator)
|
|
6012
|
+
* - A trash icon button to remove this condition
|
|
6013
|
+
* @private
|
|
6014
|
+
*/
|
|
6015
|
+
"limebb-lime-query-filter-comparison": LocalJSX.LimebbLimeQueryFilterComparison & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterComparisonElement>;
|
|
6016
|
+
/**
|
|
6017
|
+
* Lime Query Filter Expression Router
|
|
6018
|
+
* This is the main entry point for rendering Lime Query filters.
|
|
6019
|
+
* It routes to the appropriate sub-component based on the filter type:
|
|
6020
|
+
* - `'AND'` → limebb-lime-query-filter-and
|
|
6021
|
+
* - `'OR'` → limebb-lime-query-filter-or
|
|
6022
|
+
* - `'NOT'` → limebb-lime-query-filter-not
|
|
6023
|
+
* - `'comparison'` → limebb-lime-query-filter-comparison
|
|
6024
|
+
* - `''` (missing) → limebb-lime-query-filter-comparison (default)
|
|
6025
|
+
* Use this component when you need to render a complete filter expression
|
|
6026
|
+
* that may contain nested AND/OR/NOT logic.
|
|
6027
|
+
* @private
|
|
6028
|
+
*/
|
|
6029
|
+
"limebb-lime-query-filter-expression": LocalJSX.LimebbLimeQueryFilterExpression & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterExpressionElement>;
|
|
6030
|
+
/**
|
|
6031
|
+
* Lime Query Filter NOT Component
|
|
6032
|
+
* Renders a negated filter expression. This inverts the logic of the child expression,
|
|
6033
|
+
* so records that would normally match will be excluded, and vice versa.
|
|
6034
|
+
* For example:
|
|
6035
|
+
* - NOT (status = "won") → Include all records where status is NOT "won"
|
|
6036
|
+
* - NOT (value > 100000) → Include all records where value is NOT greater than 100000
|
|
6037
|
+
* This component displays:
|
|
6038
|
+
* - A "Not" label
|
|
6039
|
+
* - A single child expression (which can be a comparison or nested AND/OR group)
|
|
6040
|
+
* Clicking the trash icon removes the entire NOT expression.
|
|
6041
|
+
* @private
|
|
6042
|
+
*/
|
|
6043
|
+
"limebb-lime-query-filter-not": LocalJSX.LimebbLimeQueryFilterNot & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterNotElement>;
|
|
6044
|
+
/**
|
|
6045
|
+
* Lime Query Filter OR Component
|
|
6046
|
+
* Renders a group of filter expressions where **at least one condition must be true**.
|
|
6047
|
+
* Users can add multiple alternative expressions, and a record only needs to match
|
|
6048
|
+
* one of them to be included in the result set.
|
|
6049
|
+
* This component displays:
|
|
6050
|
+
* - A header with "Any of these conditions is true" when there are multiple conditions
|
|
6051
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
6052
|
+
* - An "Add alternative" button to add more options
|
|
6053
|
+
* Clicking the trash icon on a child expression removes it from the OR group.
|
|
6054
|
+
* @private
|
|
6055
|
+
*/
|
|
6056
|
+
"limebb-lime-query-filter-or": LocalJSX.LimebbLimeQueryFilterOr & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterOrElement>;
|
|
6057
|
+
/**
|
|
6058
|
+
* Query Value Input Component
|
|
6059
|
+
* Renders an appropriate input control based on the property type and operator.
|
|
6060
|
+
* This component automatically adapts its UI to match the data type of the selected
|
|
6061
|
+
* property, providing a better user experience and data validation.
|
|
6062
|
+
* Supported input types:
|
|
6063
|
+
* - **String/Text**: Standard text input field
|
|
6064
|
+
* - **Integer/Decimal**: Number input with appropriate step values
|
|
6065
|
+
* - **Date**: Date picker returning ISO date strings
|
|
6066
|
+
* - **Time**: Time input field
|
|
6067
|
+
* - **Boolean (yesno)**: True/False dropdown
|
|
6068
|
+
* - **Option**: Dropdown populated with valid options from property definition
|
|
6069
|
+
* - **IN operator**: Comma-separated input for multiple values (any type)
|
|
6070
|
+
* - **Placeholder mode**: Select properties from active object using %activeObject%
|
|
6071
|
+
* The component handles type conversions automatically:
|
|
6072
|
+
* - Numbers are parsed from string inputs
|
|
6073
|
+
* - Dates are converted to/from ISO strings
|
|
6074
|
+
* - Booleans are converted to/from strings for dropdown compatibility
|
|
6075
|
+
* @private
|
|
6076
|
+
*/
|
|
6077
|
+
"limebb-lime-query-value-input": LocalJSX.LimebbLimeQueryValueInput & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryValueInputElement>;
|
|
4691
6078
|
/**
|
|
4692
6079
|
* Component for displaying the contents of an attached file on a limeobject
|
|
4693
6080
|
* Example use case is to use it as a tab on the document card
|
|
@@ -4697,6 +6084,22 @@ declare module "@stencil/core" {
|
|
|
4697
6084
|
* @beta
|
|
4698
6085
|
*/
|
|
4699
6086
|
"limebb-limeobject-file-viewer": LocalJSX.LimebbLimeobjectFileViewer & JSXBase.HTMLAttributes<HTMLLimebbLimeobjectFileViewerElement>;
|
|
6087
|
+
/**
|
|
6088
|
+
* Limetype Field Component
|
|
6089
|
+
* A dropdown selector for choosing a limetype (object type) from the available
|
|
6090
|
+
* limetypes in the system.
|
|
6091
|
+
* This component:
|
|
6092
|
+
* - Displays all limetypes with their icons and localized names
|
|
6093
|
+
* - Supports restricting to a specific list of limetypes
|
|
6094
|
+
* - Can update dependent property-path fields when selection changes
|
|
6095
|
+
* - Implements the FormComponent interface for use in forms
|
|
6096
|
+
* Common use cases:
|
|
6097
|
+
* - Selecting which object type to query in a lime query builder
|
|
6098
|
+
* - Choosing target limetype for relations
|
|
6099
|
+
* - Configuring limetype-dependent settings
|
|
6100
|
+
* @private
|
|
6101
|
+
*/
|
|
6102
|
+
"limebb-limetype-field": LocalJSX.LimebbLimetypeField & JSXBase.HTMLAttributes<HTMLLimebbLimetypeFieldElement>;
|
|
4700
6103
|
/**
|
|
4701
6104
|
* @private
|
|
4702
6105
|
*/
|
|
@@ -4791,6 +6194,44 @@ declare module "@stencil/core" {
|
|
|
4791
6194
|
* @beta
|
|
4792
6195
|
*/
|
|
4793
6196
|
"limebb-percentage-visualizer": LocalJSX.LimebbPercentageVisualizer & JSXBase.HTMLAttributes<HTMLLimebbPercentageVisualizerElement>;
|
|
6197
|
+
/**
|
|
6198
|
+
* Property Selector Component
|
|
6199
|
+
* A menu-based property selector that allows users to navigate through properties
|
|
6200
|
+
* and relations, only emitting complete property paths (not intermediate relations).
|
|
6201
|
+
* Similar to limec-context-expression but specifically for selecting properties
|
|
6202
|
+
* with dot-notation paths.
|
|
6203
|
+
* Features:
|
|
6204
|
+
* - Menu-based navigation through properties
|
|
6205
|
+
* - Submenu support for drilling into relations
|
|
6206
|
+
* - Internal state management during navigation
|
|
6207
|
+
* - Only emits complete paths (leaf properties)
|
|
6208
|
+
* - Chip-set display showing current path
|
|
6209
|
+
* @private
|
|
6210
|
+
*/
|
|
6211
|
+
"limebb-property-selector": LocalJSX.LimebbPropertySelector & JSXBase.HTMLAttributes<HTMLLimebbPropertySelectorElement>;
|
|
6212
|
+
/**
|
|
6213
|
+
* Response Format Editor Component
|
|
6214
|
+
* Allows users to select which properties should be returned in the query response.
|
|
6215
|
+
* Supports selecting properties on both the main limetype and related limetypes
|
|
6216
|
+
* through belongsto relations.
|
|
6217
|
+
* Features:
|
|
6218
|
+
* - **Property selection**: Choose properties using dropdown navigation
|
|
6219
|
+
* - **Nested properties**: Select properties on related objects (e.g., company.name)
|
|
6220
|
+
* - **Property aliases**: Optionally rename properties in the response
|
|
6221
|
+
* - **Dynamic list**: Add/remove property selections
|
|
6222
|
+
* - **Real-time updates**: Changes immediately update the responseFormat
|
|
6223
|
+
* The component generates a `ResponseFormat` object with the `object` field
|
|
6224
|
+
* containing the selected properties.
|
|
6225
|
+
* @private
|
|
6226
|
+
*/
|
|
6227
|
+
"limebb-response-format-editor": LocalJSX.LimebbResponseFormatEditor & JSXBase.HTMLAttributes<HTMLLimebbResponseFormatEditorElement>;
|
|
6228
|
+
/**
|
|
6229
|
+
* Response Format Property Item Component
|
|
6230
|
+
* Represents a single property selection with optional alias and description
|
|
6231
|
+
* Part of the response format editor
|
|
6232
|
+
* @private
|
|
6233
|
+
*/
|
|
6234
|
+
"limebb-response-format-item": LocalJSX.LimebbResponseFormatItem & JSXBase.HTMLAttributes<HTMLLimebbResponseFormatItemElement>;
|
|
4794
6235
|
/**
|
|
4795
6236
|
* This component uses
|
|
4796
6237
|
* [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)
|