@limetech/lime-crm-building-blocks 1.96.0 → 1.98.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 +14 -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 +378 -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 +253 -27
- 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 +437 -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 +375 -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-0957b2a6.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-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 +40 -7
- 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 +1587 -114
- 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,19 +949,32 @@ 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
|
+
* - **Placeholder support**: Use `%activeObject%` placeholders in filter values
|
|
962
|
+
* - **Real-time output**: See the Lime Query JSON as you build
|
|
963
|
+
* The component produces a complete `LimeQuery` object that can be sent
|
|
956
964
|
* directly to the Lime CRM backend.
|
|
957
|
-
*
|
|
958
|
-
*
|
|
965
|
+
* **Active Object Placeholders**:
|
|
966
|
+
* When the `activeLimetype` prop is provided, the component enables validation
|
|
967
|
+
* and UI support for `%activeObject%` placeholders in filter expressions.
|
|
968
|
+
* These placeholders reference properties of a contextual "active object"
|
|
969
|
+
* (e.g., `%activeObject%.company` references the company of the active object).
|
|
959
970
|
* @exampleComponent limebb-example-lime-query-builder-basic
|
|
960
971
|
* @private
|
|
961
972
|
*/
|
|
962
973
|
interface LimebbLimeQueryBuilder {
|
|
974
|
+
/**
|
|
975
|
+
* The limetype of the active object (for %activeObject% placeholder validation). When provided, enables placeholder validation and the placeholder input mode. When omitted, placeholders are accepted without validation.
|
|
976
|
+
*/
|
|
977
|
+
"activeLimetype"?: string;
|
|
963
978
|
/**
|
|
964
979
|
* Component context
|
|
965
980
|
*/
|
|
@@ -977,6 +992,258 @@ export namespace Components {
|
|
|
977
992
|
*/
|
|
978
993
|
"value": LimeQuery;
|
|
979
994
|
}
|
|
995
|
+
/**
|
|
996
|
+
* Lime Query Filter AND Component
|
|
997
|
+
* Renders a group of filter expressions where **all conditions must be true**.
|
|
998
|
+
* Users can add multiple child expressions, and a record must match all of them
|
|
999
|
+
* to be included in the result set.
|
|
1000
|
+
* This component displays:
|
|
1001
|
+
* - A header with "All of these conditions are true" when there are multiple conditions
|
|
1002
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
1003
|
+
* - An "Add another condition" button to add more expressions
|
|
1004
|
+
* Clicking the trash icon on a child expression removes it from the AND group.
|
|
1005
|
+
* @private
|
|
1006
|
+
*/
|
|
1007
|
+
interface LimebbLimeQueryFilterAnd {
|
|
1008
|
+
/**
|
|
1009
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
1010
|
+
*/
|
|
1011
|
+
"activeLimetype"?: string;
|
|
1012
|
+
/**
|
|
1013
|
+
* Component context
|
|
1014
|
+
*/
|
|
1015
|
+
"context": LimeWebComponentContext;
|
|
1016
|
+
/**
|
|
1017
|
+
* The AND expression containing child expressions
|
|
1018
|
+
*/
|
|
1019
|
+
"expression": LimeQueryFilterAnd;
|
|
1020
|
+
/**
|
|
1021
|
+
* Optional label for the AND group
|
|
1022
|
+
*/
|
|
1023
|
+
"label": string;
|
|
1024
|
+
/**
|
|
1025
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
1026
|
+
*/
|
|
1027
|
+
"limetype": string;
|
|
1028
|
+
/**
|
|
1029
|
+
* Platform service provider
|
|
1030
|
+
*/
|
|
1031
|
+
"platform": LimeWebComponentPlatform;
|
|
1032
|
+
}
|
|
1033
|
+
/**
|
|
1034
|
+
* Lime Query Filter Comparison Component
|
|
1035
|
+
* Renders a single comparison expression with three parts:
|
|
1036
|
+
* 1. **Property** - The field to compare (e.g., "dealstatus", "company.name")
|
|
1037
|
+
* 2. **Operator** - The comparison operator (=, !=, >, <, >=, <=, IN, ?, =?, =$)
|
|
1038
|
+
* 3. **Value** - The value to compare against
|
|
1039
|
+
* This is the most basic building block of a filter. Examples:
|
|
1040
|
+
* - dealstatus = "won"
|
|
1041
|
+
* - value > 100000
|
|
1042
|
+
* - name ? "Big" (contains "Big")
|
|
1043
|
+
* - dealstatus IN ["won", "tender"]
|
|
1044
|
+
* The component displays:
|
|
1045
|
+
* - A text input for the property (Phase 0 - will be replaced with property-path in Phase 1)
|
|
1046
|
+
* - A dropdown for the operator
|
|
1047
|
+
* - A value input (text/number based on operator)
|
|
1048
|
+
* - A trash icon button to remove this condition
|
|
1049
|
+
* @private
|
|
1050
|
+
*/
|
|
1051
|
+
interface LimebbLimeQueryFilterComparison {
|
|
1052
|
+
/**
|
|
1053
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
1054
|
+
*/
|
|
1055
|
+
"activeLimetype"?: string;
|
|
1056
|
+
/**
|
|
1057
|
+
* Component context
|
|
1058
|
+
*/
|
|
1059
|
+
"context": LimeWebComponentContext;
|
|
1060
|
+
/**
|
|
1061
|
+
* The comparison expression to render
|
|
1062
|
+
*/
|
|
1063
|
+
"expression": LimeQueryFilterComparison;
|
|
1064
|
+
/**
|
|
1065
|
+
* Optional label for the comparison
|
|
1066
|
+
*/
|
|
1067
|
+
"label": string;
|
|
1068
|
+
/**
|
|
1069
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
1070
|
+
*/
|
|
1071
|
+
"limetype": string;
|
|
1072
|
+
/**
|
|
1073
|
+
* Platform service provider
|
|
1074
|
+
*/
|
|
1075
|
+
"platform": LimeWebComponentPlatform;
|
|
1076
|
+
}
|
|
1077
|
+
/**
|
|
1078
|
+
* Lime Query Filter Expression Router
|
|
1079
|
+
* This is the main entry point for rendering Lime Query filters.
|
|
1080
|
+
* It routes to the appropriate sub-component based on the filter type:
|
|
1081
|
+
* - `'AND'` → limebb-lime-query-filter-and
|
|
1082
|
+
* - `'OR'` → limebb-lime-query-filter-or
|
|
1083
|
+
* - `'NOT'` → limebb-lime-query-filter-not
|
|
1084
|
+
* - `'comparison'` → limebb-lime-query-filter-comparison
|
|
1085
|
+
* - `''` (missing) → limebb-lime-query-filter-comparison (default)
|
|
1086
|
+
* Use this component when you need to render a complete filter expression
|
|
1087
|
+
* that may contain nested AND/OR/NOT logic.
|
|
1088
|
+
* @private
|
|
1089
|
+
*/
|
|
1090
|
+
interface LimebbLimeQueryFilterExpression {
|
|
1091
|
+
/**
|
|
1092
|
+
* The limetype of the active object (for %activeObject% placeholders) Optional - used for validation and property suggestions
|
|
1093
|
+
*/
|
|
1094
|
+
"activeLimetype"?: string;
|
|
1095
|
+
/**
|
|
1096
|
+
* Component context
|
|
1097
|
+
*/
|
|
1098
|
+
"context": LimeWebComponentContext;
|
|
1099
|
+
/**
|
|
1100
|
+
* The filter expression to render
|
|
1101
|
+
*/
|
|
1102
|
+
"expression": LimeQueryFilterExpression;
|
|
1103
|
+
/**
|
|
1104
|
+
* Optional label for the expression
|
|
1105
|
+
*/
|
|
1106
|
+
"label": string;
|
|
1107
|
+
/**
|
|
1108
|
+
* The limetype being queried (e.g., "deal", "company") Used for property validation and type-aware inputs
|
|
1109
|
+
*/
|
|
1110
|
+
"limetype": string;
|
|
1111
|
+
/**
|
|
1112
|
+
* Platform service provider
|
|
1113
|
+
*/
|
|
1114
|
+
"platform": LimeWebComponentPlatform;
|
|
1115
|
+
}
|
|
1116
|
+
/**
|
|
1117
|
+
* Lime Query Filter NOT Component
|
|
1118
|
+
* Renders a negated filter expression. This inverts the logic of the child expression,
|
|
1119
|
+
* so records that would normally match will be excluded, and vice versa.
|
|
1120
|
+
* For example:
|
|
1121
|
+
* - NOT (status = "won") → Include all records where status is NOT "won"
|
|
1122
|
+
* - NOT (value > 100000) → Include all records where value is NOT greater than 100000
|
|
1123
|
+
* This component displays:
|
|
1124
|
+
* - A "Not" label
|
|
1125
|
+
* - A single child expression (which can be a comparison or nested AND/OR group)
|
|
1126
|
+
* Clicking the trash icon removes the entire NOT expression.
|
|
1127
|
+
* @private
|
|
1128
|
+
*/
|
|
1129
|
+
interface LimebbLimeQueryFilterNot {
|
|
1130
|
+
/**
|
|
1131
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
1132
|
+
*/
|
|
1133
|
+
"activeLimetype"?: string;
|
|
1134
|
+
/**
|
|
1135
|
+
* Component context
|
|
1136
|
+
*/
|
|
1137
|
+
"context": LimeWebComponentContext;
|
|
1138
|
+
/**
|
|
1139
|
+
* The NOT expression containing the child expression to negate
|
|
1140
|
+
*/
|
|
1141
|
+
"expression": LimeQueryFilterNot;
|
|
1142
|
+
/**
|
|
1143
|
+
* Optional label for the NOT expression
|
|
1144
|
+
*/
|
|
1145
|
+
"label": string;
|
|
1146
|
+
/**
|
|
1147
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
1148
|
+
*/
|
|
1149
|
+
"limetype": string;
|
|
1150
|
+
/**
|
|
1151
|
+
* Platform service provider
|
|
1152
|
+
*/
|
|
1153
|
+
"platform": LimeWebComponentPlatform;
|
|
1154
|
+
}
|
|
1155
|
+
/**
|
|
1156
|
+
* Lime Query Filter OR Component
|
|
1157
|
+
* Renders a group of filter expressions where **at least one condition must be true**.
|
|
1158
|
+
* Users can add multiple alternative expressions, and a record only needs to match
|
|
1159
|
+
* one of them to be included in the result set.
|
|
1160
|
+
* This component displays:
|
|
1161
|
+
* - A header with "Any of these conditions is true" when there are multiple conditions
|
|
1162
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
1163
|
+
* - An "Add alternative" button to add more options
|
|
1164
|
+
* Clicking the trash icon on a child expression removes it from the OR group.
|
|
1165
|
+
* @private
|
|
1166
|
+
*/
|
|
1167
|
+
interface LimebbLimeQueryFilterOr {
|
|
1168
|
+
/**
|
|
1169
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
1170
|
+
*/
|
|
1171
|
+
"activeLimetype"?: string;
|
|
1172
|
+
/**
|
|
1173
|
+
* Component context
|
|
1174
|
+
*/
|
|
1175
|
+
"context": LimeWebComponentContext;
|
|
1176
|
+
/**
|
|
1177
|
+
* The OR expression containing child expressions
|
|
1178
|
+
*/
|
|
1179
|
+
"expression": LimeQueryFilterOr;
|
|
1180
|
+
/**
|
|
1181
|
+
* Optional label for the OR group
|
|
1182
|
+
*/
|
|
1183
|
+
"label": string;
|
|
1184
|
+
/**
|
|
1185
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
1186
|
+
*/
|
|
1187
|
+
"limetype": string;
|
|
1188
|
+
/**
|
|
1189
|
+
* Platform service provider
|
|
1190
|
+
*/
|
|
1191
|
+
"platform": LimeWebComponentPlatform;
|
|
1192
|
+
}
|
|
1193
|
+
/**
|
|
1194
|
+
* Query Value Input Component
|
|
1195
|
+
* Renders an appropriate input control based on the property type and operator.
|
|
1196
|
+
* This component automatically adapts its UI to match the data type of the selected
|
|
1197
|
+
* property, providing a better user experience and data validation.
|
|
1198
|
+
* Supported input types:
|
|
1199
|
+
* - **String/Text**: Standard text input field
|
|
1200
|
+
* - **Integer/Decimal**: Number input with appropriate step values
|
|
1201
|
+
* - **Date**: Date picker returning ISO date strings
|
|
1202
|
+
* - **Time**: Time input field
|
|
1203
|
+
* - **Boolean (yesno)**: True/False dropdown
|
|
1204
|
+
* - **Option**: Dropdown populated with valid options from property definition
|
|
1205
|
+
* - **IN operator**: Comma-separated input for multiple values (any type)
|
|
1206
|
+
* - **Placeholder mode**: Select properties from active object using %activeObject%
|
|
1207
|
+
* The component handles type conversions automatically:
|
|
1208
|
+
* - Numbers are parsed from string inputs
|
|
1209
|
+
* - Dates are converted to/from ISO strings
|
|
1210
|
+
* - Booleans are converted to/from strings for dropdown compatibility
|
|
1211
|
+
* @private
|
|
1212
|
+
*/
|
|
1213
|
+
interface LimebbLimeQueryValueInput {
|
|
1214
|
+
/**
|
|
1215
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
1216
|
+
*/
|
|
1217
|
+
"activeLimetype"?: string;
|
|
1218
|
+
/**
|
|
1219
|
+
* Component context
|
|
1220
|
+
*/
|
|
1221
|
+
"context": LimeWebComponentContext;
|
|
1222
|
+
/**
|
|
1223
|
+
* Optional label for the input
|
|
1224
|
+
*/
|
|
1225
|
+
"label": string;
|
|
1226
|
+
/**
|
|
1227
|
+
* The limetype being queried
|
|
1228
|
+
*/
|
|
1229
|
+
"limetype": string;
|
|
1230
|
+
/**
|
|
1231
|
+
* The operator being used
|
|
1232
|
+
*/
|
|
1233
|
+
"operator": FilterOperator;
|
|
1234
|
+
/**
|
|
1235
|
+
* Platform service provider
|
|
1236
|
+
*/
|
|
1237
|
+
"platform": LimeWebComponentPlatform;
|
|
1238
|
+
/**
|
|
1239
|
+
* The property path (e.g., "dealstatus", "company.name")
|
|
1240
|
+
*/
|
|
1241
|
+
"propertyPath": string;
|
|
1242
|
+
/**
|
|
1243
|
+
* The current value
|
|
1244
|
+
*/
|
|
1245
|
+
"value": any;
|
|
1246
|
+
}
|
|
980
1247
|
/**
|
|
981
1248
|
* Component for displaying the contents of an attached file on a limeobject
|
|
982
1249
|
* Example use case is to use it as a tab on the document card
|
|
@@ -1003,6 +1270,84 @@ export namespace Components {
|
|
|
1003
1270
|
*/
|
|
1004
1271
|
"property": string;
|
|
1005
1272
|
}
|
|
1273
|
+
/**
|
|
1274
|
+
* Limetype Field Component
|
|
1275
|
+
* A dropdown selector for choosing a limetype (object type) from the available
|
|
1276
|
+
* limetypes in the system.
|
|
1277
|
+
* This component:
|
|
1278
|
+
* - Displays all limetypes with their icons and localized names
|
|
1279
|
+
* - Supports restricting to a specific list of limetypes
|
|
1280
|
+
* - Can update dependent property-path fields when selection changes
|
|
1281
|
+
* - Implements the FormComponent interface for use in forms
|
|
1282
|
+
* Common use cases:
|
|
1283
|
+
* - Selecting which object type to query in a lime query builder
|
|
1284
|
+
* - Choosing target limetype for relations
|
|
1285
|
+
* - Configuring limetype-dependent settings
|
|
1286
|
+
* @private
|
|
1287
|
+
*/
|
|
1288
|
+
interface LimebbLimetypeField {
|
|
1289
|
+
/**
|
|
1290
|
+
* The context this component belongs to
|
|
1291
|
+
* @inheritdoc
|
|
1292
|
+
*/
|
|
1293
|
+
"context": LimeWebComponentContext;
|
|
1294
|
+
/**
|
|
1295
|
+
* Whether or not the current property is disabled
|
|
1296
|
+
* @inheritdoc
|
|
1297
|
+
*/
|
|
1298
|
+
"disabled": boolean;
|
|
1299
|
+
/**
|
|
1300
|
+
* The name of this field. May be used as reference when a property mapping depends on the selected limetype.
|
|
1301
|
+
*/
|
|
1302
|
+
"fieldName": string;
|
|
1303
|
+
/**
|
|
1304
|
+
* Additional contextual information about the form
|
|
1305
|
+
* @inheritdoc
|
|
1306
|
+
*/
|
|
1307
|
+
"formInfo"?: FormInfo;
|
|
1308
|
+
/**
|
|
1309
|
+
* The helper text for the current property
|
|
1310
|
+
* @inheritdoc
|
|
1311
|
+
*/
|
|
1312
|
+
"helperText": string;
|
|
1313
|
+
/**
|
|
1314
|
+
* @inheritdoc
|
|
1315
|
+
*/
|
|
1316
|
+
"invalid": boolean;
|
|
1317
|
+
/**
|
|
1318
|
+
* The label of the current property
|
|
1319
|
+
* @inheritdoc
|
|
1320
|
+
*/
|
|
1321
|
+
"label": string;
|
|
1322
|
+
/**
|
|
1323
|
+
* The limetypes to choose from
|
|
1324
|
+
*/
|
|
1325
|
+
"limetypes"?: string[];
|
|
1326
|
+
/**
|
|
1327
|
+
* Reference to the platform
|
|
1328
|
+
* @inheritdoc
|
|
1329
|
+
*/
|
|
1330
|
+
"platform": LimeWebComponentPlatform;
|
|
1331
|
+
/**
|
|
1332
|
+
* A list of property fields that should be updated when the selected limetype changes.
|
|
1333
|
+
*/
|
|
1334
|
+
"propertyFields": DependentPropertyField[];
|
|
1335
|
+
/**
|
|
1336
|
+
* Whether or not the current property is readonly
|
|
1337
|
+
* @inheritdoc
|
|
1338
|
+
*/
|
|
1339
|
+
"readonly": boolean;
|
|
1340
|
+
/**
|
|
1341
|
+
* Whether or not the current property is required
|
|
1342
|
+
* @inheritdoc
|
|
1343
|
+
*/
|
|
1344
|
+
"required": boolean;
|
|
1345
|
+
/**
|
|
1346
|
+
* The value of the current property
|
|
1347
|
+
* @inheritdoc
|
|
1348
|
+
*/
|
|
1349
|
+
"value": string;
|
|
1350
|
+
}
|
|
1006
1351
|
/**
|
|
1007
1352
|
* @private
|
|
1008
1353
|
*/
|
|
@@ -1282,6 +1627,111 @@ export namespace Components {
|
|
|
1282
1627
|
*/
|
|
1283
1628
|
"value": number | string;
|
|
1284
1629
|
}
|
|
1630
|
+
/**
|
|
1631
|
+
* Property Selector Component
|
|
1632
|
+
* A menu-based property selector that allows users to navigate through properties
|
|
1633
|
+
* and relations, only emitting complete property paths (not intermediate relations).
|
|
1634
|
+
* Similar to limec-context-expression but specifically for selecting properties
|
|
1635
|
+
* with dot-notation paths.
|
|
1636
|
+
* Features:
|
|
1637
|
+
* - Menu-based navigation through properties
|
|
1638
|
+
* - Submenu support for drilling into relations
|
|
1639
|
+
* - Internal state management during navigation
|
|
1640
|
+
* - Only emits complete paths (leaf properties)
|
|
1641
|
+
* - Chip-set display showing current path
|
|
1642
|
+
* @private
|
|
1643
|
+
*/
|
|
1644
|
+
interface LimebbPropertySelector {
|
|
1645
|
+
/**
|
|
1646
|
+
* Component context
|
|
1647
|
+
*/
|
|
1648
|
+
"context": LimeWebComponentContext;
|
|
1649
|
+
/**
|
|
1650
|
+
* Helper text to display
|
|
1651
|
+
*/
|
|
1652
|
+
"helperText": string;
|
|
1653
|
+
/**
|
|
1654
|
+
* Label for the input
|
|
1655
|
+
*/
|
|
1656
|
+
"label": string;
|
|
1657
|
+
/**
|
|
1658
|
+
* The limetype to select properties from
|
|
1659
|
+
*/
|
|
1660
|
+
"limetype": string;
|
|
1661
|
+
/**
|
|
1662
|
+
* Platform service provider
|
|
1663
|
+
*/
|
|
1664
|
+
"platform": LimeWebComponentPlatform;
|
|
1665
|
+
/**
|
|
1666
|
+
* Whether the field is required
|
|
1667
|
+
*/
|
|
1668
|
+
"required": boolean;
|
|
1669
|
+
/**
|
|
1670
|
+
* Current complete property path value
|
|
1671
|
+
*/
|
|
1672
|
+
"value": string;
|
|
1673
|
+
}
|
|
1674
|
+
/**
|
|
1675
|
+
* Response Format Editor Component
|
|
1676
|
+
* Allows users to select which properties should be returned in the query response.
|
|
1677
|
+
* Supports selecting properties on both the main limetype and related limetypes
|
|
1678
|
+
* through belongsto relations.
|
|
1679
|
+
* Features:
|
|
1680
|
+
* - **Property selection**: Choose properties using dropdown navigation
|
|
1681
|
+
* - **Nested properties**: Select properties on related objects (e.g., company.name)
|
|
1682
|
+
* - **Property aliases**: Optionally rename properties in the response
|
|
1683
|
+
* - **Dynamic list**: Add/remove property selections
|
|
1684
|
+
* - **Real-time updates**: Changes immediately update the responseFormat
|
|
1685
|
+
* The component generates a `ResponseFormat` object with the `object` field
|
|
1686
|
+
* containing the selected properties.
|
|
1687
|
+
* @private
|
|
1688
|
+
*/
|
|
1689
|
+
interface LimebbResponseFormatEditor {
|
|
1690
|
+
/**
|
|
1691
|
+
* Component context
|
|
1692
|
+
*/
|
|
1693
|
+
"context": LimeWebComponentContext;
|
|
1694
|
+
/**
|
|
1695
|
+
* Optional label
|
|
1696
|
+
*/
|
|
1697
|
+
"label": string;
|
|
1698
|
+
/**
|
|
1699
|
+
* The limetype to select properties from
|
|
1700
|
+
*/
|
|
1701
|
+
"limetype": string;
|
|
1702
|
+
/**
|
|
1703
|
+
* Platform service provider
|
|
1704
|
+
*/
|
|
1705
|
+
"platform": LimeWebComponentPlatform;
|
|
1706
|
+
/**
|
|
1707
|
+
* Current response format
|
|
1708
|
+
*/
|
|
1709
|
+
"value": ResponseFormat;
|
|
1710
|
+
}
|
|
1711
|
+
/**
|
|
1712
|
+
* Response Format Property Item Component
|
|
1713
|
+
* Represents a single property selection with optional alias and description
|
|
1714
|
+
* Part of the response format editor
|
|
1715
|
+
* @private
|
|
1716
|
+
*/
|
|
1717
|
+
interface LimebbResponseFormatItem {
|
|
1718
|
+
/**
|
|
1719
|
+
* Component context
|
|
1720
|
+
*/
|
|
1721
|
+
"context": LimeWebComponentContext;
|
|
1722
|
+
/**
|
|
1723
|
+
* The property selection item
|
|
1724
|
+
*/
|
|
1725
|
+
"item": PropertySelectionItem;
|
|
1726
|
+
/**
|
|
1727
|
+
* The limetype to select properties from
|
|
1728
|
+
*/
|
|
1729
|
+
"limetype": string;
|
|
1730
|
+
/**
|
|
1731
|
+
* Platform service provider
|
|
1732
|
+
*/
|
|
1733
|
+
"platform": LimeWebComponentPlatform;
|
|
1734
|
+
}
|
|
1285
1735
|
/**
|
|
1286
1736
|
* This component uses
|
|
1287
1737
|
* [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)
|
|
@@ -1637,6 +2087,34 @@ export interface LimebbLimeQueryBuilderCustomEvent<T> extends CustomEvent<T> {
|
|
|
1637
2087
|
detail: T;
|
|
1638
2088
|
target: HTMLLimebbLimeQueryBuilderElement;
|
|
1639
2089
|
}
|
|
2090
|
+
export interface LimebbLimeQueryFilterAndCustomEvent<T> extends CustomEvent<T> {
|
|
2091
|
+
detail: T;
|
|
2092
|
+
target: HTMLLimebbLimeQueryFilterAndElement;
|
|
2093
|
+
}
|
|
2094
|
+
export interface LimebbLimeQueryFilterComparisonCustomEvent<T> extends CustomEvent<T> {
|
|
2095
|
+
detail: T;
|
|
2096
|
+
target: HTMLLimebbLimeQueryFilterComparisonElement;
|
|
2097
|
+
}
|
|
2098
|
+
export interface LimebbLimeQueryFilterExpressionCustomEvent<T> extends CustomEvent<T> {
|
|
2099
|
+
detail: T;
|
|
2100
|
+
target: HTMLLimebbLimeQueryFilterExpressionElement;
|
|
2101
|
+
}
|
|
2102
|
+
export interface LimebbLimeQueryFilterNotCustomEvent<T> extends CustomEvent<T> {
|
|
2103
|
+
detail: T;
|
|
2104
|
+
target: HTMLLimebbLimeQueryFilterNotElement;
|
|
2105
|
+
}
|
|
2106
|
+
export interface LimebbLimeQueryFilterOrCustomEvent<T> extends CustomEvent<T> {
|
|
2107
|
+
detail: T;
|
|
2108
|
+
target: HTMLLimebbLimeQueryFilterOrElement;
|
|
2109
|
+
}
|
|
2110
|
+
export interface LimebbLimeQueryValueInputCustomEvent<T> extends CustomEvent<T> {
|
|
2111
|
+
detail: T;
|
|
2112
|
+
target: HTMLLimebbLimeQueryValueInputElement;
|
|
2113
|
+
}
|
|
2114
|
+
export interface LimebbLimetypeFieldCustomEvent<T> extends CustomEvent<T> {
|
|
2115
|
+
detail: T;
|
|
2116
|
+
target: HTMLLimebbLimetypeFieldElement;
|
|
2117
|
+
}
|
|
1640
2118
|
export interface LimebbLoaderCustomEvent<T> extends CustomEvent<T> {
|
|
1641
2119
|
detail: T;
|
|
1642
2120
|
target: HTMLLimebbLoaderElement;
|
|
@@ -1653,6 +2131,18 @@ export interface LimebbNotificationListCustomEvent<T> extends CustomEvent<T> {
|
|
|
1653
2131
|
detail: T;
|
|
1654
2132
|
target: HTMLLimebbNotificationListElement;
|
|
1655
2133
|
}
|
|
2134
|
+
export interface LimebbPropertySelectorCustomEvent<T> extends CustomEvent<T> {
|
|
2135
|
+
detail: T;
|
|
2136
|
+
target: HTMLLimebbPropertySelectorElement;
|
|
2137
|
+
}
|
|
2138
|
+
export interface LimebbResponseFormatEditorCustomEvent<T> extends CustomEvent<T> {
|
|
2139
|
+
detail: T;
|
|
2140
|
+
target: HTMLLimebbResponseFormatEditorElement;
|
|
2141
|
+
}
|
|
2142
|
+
export interface LimebbResponseFormatItemCustomEvent<T> extends CustomEvent<T> {
|
|
2143
|
+
detail: T;
|
|
2144
|
+
target: HTMLLimebbResponseFormatItemElement;
|
|
2145
|
+
}
|
|
1656
2146
|
export interface LimebbSummaryPopoverCustomEvent<T> extends CustomEvent<T> {
|
|
1657
2147
|
detail: T;
|
|
1658
2148
|
target: HTMLLimebbSummaryPopoverElement;
|
|
@@ -2248,66 +2738,265 @@ declare global {
|
|
|
2248
2738
|
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2249
2739
|
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2250
2740
|
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2251
|
-
removeEventListener<K extends keyof HTMLLimebbKanbanGroupElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanGroupElement, ev: LimebbKanbanGroupCustomEvent<HTMLLimebbKanbanGroupElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2741
|
+
removeEventListener<K extends keyof HTMLLimebbKanbanGroupElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanGroupElement, ev: LimebbKanbanGroupCustomEvent<HTMLLimebbKanbanGroupElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2742
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2743
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2744
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2745
|
+
}
|
|
2746
|
+
var HTMLLimebbKanbanGroupElement: {
|
|
2747
|
+
prototype: HTMLLimebbKanbanGroupElement;
|
|
2748
|
+
new (): HTMLLimebbKanbanGroupElement;
|
|
2749
|
+
};
|
|
2750
|
+
interface HTMLLimebbKanbanItemElementEventMap {
|
|
2751
|
+
"interact": KanbanItem;
|
|
2752
|
+
}
|
|
2753
|
+
/**
|
|
2754
|
+
* Feed item
|
|
2755
|
+
* @private
|
|
2756
|
+
*/
|
|
2757
|
+
interface HTMLLimebbKanbanItemElement extends Components.LimebbKanbanItem, HTMLStencilElement {
|
|
2758
|
+
addEventListener<K extends keyof HTMLLimebbKanbanItemElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanItemElement, ev: LimebbKanbanItemCustomEvent<HTMLLimebbKanbanItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2759
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2760
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2761
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2762
|
+
removeEventListener<K extends keyof HTMLLimebbKanbanItemElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanItemElement, ev: LimebbKanbanItemCustomEvent<HTMLLimebbKanbanItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2763
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2764
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2765
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2766
|
+
}
|
|
2767
|
+
var HTMLLimebbKanbanItemElement: {
|
|
2768
|
+
prototype: HTMLLimebbKanbanItemElement;
|
|
2769
|
+
new (): HTMLLimebbKanbanItemElement;
|
|
2770
|
+
};
|
|
2771
|
+
interface HTMLLimebbLimeQueryBuilderElementEventMap {
|
|
2772
|
+
"change": LimeQuery;
|
|
2773
|
+
}
|
|
2774
|
+
/**
|
|
2775
|
+
* Lime Query Builder Component
|
|
2776
|
+
* A comprehensive query builder for constructing Lime Query DSL queries.
|
|
2777
|
+
* This is the main component that combines limetype selection with the filter builder.
|
|
2778
|
+
* Features:
|
|
2779
|
+
* - **Limetype selection**: Choose which object type to query
|
|
2780
|
+
* - **Filter builder**: Build complex filters with AND/OR/NOT logic
|
|
2781
|
+
* - **Property path selection**: Navigate through relations
|
|
2782
|
+
* - **Type-aware inputs**: Automatic input types based on property type
|
|
2783
|
+
* - **Response format**: Select which properties to return
|
|
2784
|
+
* - **Query options**: Configure limit and other query parameters
|
|
2785
|
+
* - **Placeholder support**: Use `%activeObject%` placeholders in filter values
|
|
2786
|
+
* - **Real-time output**: See the Lime Query JSON as you build
|
|
2787
|
+
* The component produces a complete `LimeQuery` object that can be sent
|
|
2788
|
+
* directly to the Lime CRM backend.
|
|
2789
|
+
* **Active Object Placeholders**:
|
|
2790
|
+
* When the `activeLimetype` prop is provided, the component enables validation
|
|
2791
|
+
* and UI support for `%activeObject%` placeholders in filter expressions.
|
|
2792
|
+
* These placeholders reference properties of a contextual "active object"
|
|
2793
|
+
* (e.g., `%activeObject%.company` references the company of the active object).
|
|
2794
|
+
* @exampleComponent limebb-example-lime-query-builder-basic
|
|
2795
|
+
* @private
|
|
2796
|
+
*/
|
|
2797
|
+
interface HTMLLimebbLimeQueryBuilderElement extends Components.LimebbLimeQueryBuilder, HTMLStencilElement {
|
|
2798
|
+
addEventListener<K extends keyof HTMLLimebbLimeQueryBuilderElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryBuilderElement, ev: LimebbLimeQueryBuilderCustomEvent<HTMLLimebbLimeQueryBuilderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2799
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2800
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2801
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2802
|
+
removeEventListener<K extends keyof HTMLLimebbLimeQueryBuilderElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryBuilderElement, ev: LimebbLimeQueryBuilderCustomEvent<HTMLLimebbLimeQueryBuilderElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2803
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2804
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2805
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2806
|
+
}
|
|
2807
|
+
var HTMLLimebbLimeQueryBuilderElement: {
|
|
2808
|
+
prototype: HTMLLimebbLimeQueryBuilderElement;
|
|
2809
|
+
new (): HTMLLimebbLimeQueryBuilderElement;
|
|
2810
|
+
};
|
|
2811
|
+
interface HTMLLimebbLimeQueryFilterAndElementEventMap {
|
|
2812
|
+
"expressionChange": LimeQueryFilterAnd | LimeQueryFilterMissing;
|
|
2813
|
+
}
|
|
2814
|
+
/**
|
|
2815
|
+
* Lime Query Filter AND Component
|
|
2816
|
+
* Renders a group of filter expressions where **all conditions must be true**.
|
|
2817
|
+
* Users can add multiple child expressions, and a record must match all of them
|
|
2818
|
+
* to be included in the result set.
|
|
2819
|
+
* This component displays:
|
|
2820
|
+
* - A header with "All of these conditions are true" when there are multiple conditions
|
|
2821
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
2822
|
+
* - An "Add another condition" button to add more expressions
|
|
2823
|
+
* Clicking the trash icon on a child expression removes it from the AND group.
|
|
2824
|
+
* @private
|
|
2825
|
+
*/
|
|
2826
|
+
interface HTMLLimebbLimeQueryFilterAndElement extends Components.LimebbLimeQueryFilterAnd, HTMLStencilElement {
|
|
2827
|
+
addEventListener<K extends keyof HTMLLimebbLimeQueryFilterAndElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterAndElement, ev: LimebbLimeQueryFilterAndCustomEvent<HTMLLimebbLimeQueryFilterAndElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2828
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2829
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2830
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2831
|
+
removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterAndElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterAndElement, ev: LimebbLimeQueryFilterAndCustomEvent<HTMLLimebbLimeQueryFilterAndElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2832
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2833
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2834
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2835
|
+
}
|
|
2836
|
+
var HTMLLimebbLimeQueryFilterAndElement: {
|
|
2837
|
+
prototype: HTMLLimebbLimeQueryFilterAndElement;
|
|
2838
|
+
new (): HTMLLimebbLimeQueryFilterAndElement;
|
|
2839
|
+
};
|
|
2840
|
+
interface HTMLLimebbLimeQueryFilterComparisonElementEventMap {
|
|
2841
|
+
"expressionChange": LimeQueryFilterComparison | LimeQueryFilterMissing;
|
|
2842
|
+
}
|
|
2843
|
+
/**
|
|
2844
|
+
* Lime Query Filter Comparison Component
|
|
2845
|
+
* Renders a single comparison expression with three parts:
|
|
2846
|
+
* 1. **Property** - The field to compare (e.g., "dealstatus", "company.name")
|
|
2847
|
+
* 2. **Operator** - The comparison operator (=, !=, >, <, >=, <=, IN, ?, =?, =$)
|
|
2848
|
+
* 3. **Value** - The value to compare against
|
|
2849
|
+
* This is the most basic building block of a filter. Examples:
|
|
2850
|
+
* - dealstatus = "won"
|
|
2851
|
+
* - value > 100000
|
|
2852
|
+
* - name ? "Big" (contains "Big")
|
|
2853
|
+
* - dealstatus IN ["won", "tender"]
|
|
2854
|
+
* The component displays:
|
|
2855
|
+
* - A text input for the property (Phase 0 - will be replaced with property-path in Phase 1)
|
|
2856
|
+
* - A dropdown for the operator
|
|
2857
|
+
* - A value input (text/number based on operator)
|
|
2858
|
+
* - A trash icon button to remove this condition
|
|
2859
|
+
* @private
|
|
2860
|
+
*/
|
|
2861
|
+
interface HTMLLimebbLimeQueryFilterComparisonElement extends Components.LimebbLimeQueryFilterComparison, HTMLStencilElement {
|
|
2862
|
+
addEventListener<K extends keyof HTMLLimebbLimeQueryFilterComparisonElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterComparisonElement, ev: LimebbLimeQueryFilterComparisonCustomEvent<HTMLLimebbLimeQueryFilterComparisonElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2863
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2864
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2865
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2866
|
+
removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterComparisonElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterComparisonElement, ev: LimebbLimeQueryFilterComparisonCustomEvent<HTMLLimebbLimeQueryFilterComparisonElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2867
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2868
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2869
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2870
|
+
}
|
|
2871
|
+
var HTMLLimebbLimeQueryFilterComparisonElement: {
|
|
2872
|
+
prototype: HTMLLimebbLimeQueryFilterComparisonElement;
|
|
2873
|
+
new (): HTMLLimebbLimeQueryFilterComparisonElement;
|
|
2874
|
+
};
|
|
2875
|
+
interface HTMLLimebbLimeQueryFilterExpressionElementEventMap {
|
|
2876
|
+
"expressionChange": LimeQueryFilterExpression;
|
|
2877
|
+
}
|
|
2878
|
+
/**
|
|
2879
|
+
* Lime Query Filter Expression Router
|
|
2880
|
+
* This is the main entry point for rendering Lime Query filters.
|
|
2881
|
+
* It routes to the appropriate sub-component based on the filter type:
|
|
2882
|
+
* - `'AND'` → limebb-lime-query-filter-and
|
|
2883
|
+
* - `'OR'` → limebb-lime-query-filter-or
|
|
2884
|
+
* - `'NOT'` → limebb-lime-query-filter-not
|
|
2885
|
+
* - `'comparison'` → limebb-lime-query-filter-comparison
|
|
2886
|
+
* - `''` (missing) → limebb-lime-query-filter-comparison (default)
|
|
2887
|
+
* Use this component when you need to render a complete filter expression
|
|
2888
|
+
* that may contain nested AND/OR/NOT logic.
|
|
2889
|
+
* @private
|
|
2890
|
+
*/
|
|
2891
|
+
interface HTMLLimebbLimeQueryFilterExpressionElement extends Components.LimebbLimeQueryFilterExpression, HTMLStencilElement {
|
|
2892
|
+
addEventListener<K extends keyof HTMLLimebbLimeQueryFilterExpressionElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterExpressionElement, ev: LimebbLimeQueryFilterExpressionCustomEvent<HTMLLimebbLimeQueryFilterExpressionElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2893
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2894
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2895
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2896
|
+
removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterExpressionElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterExpressionElement, ev: LimebbLimeQueryFilterExpressionCustomEvent<HTMLLimebbLimeQueryFilterExpressionElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2897
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2898
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2899
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2900
|
+
}
|
|
2901
|
+
var HTMLLimebbLimeQueryFilterExpressionElement: {
|
|
2902
|
+
prototype: HTMLLimebbLimeQueryFilterExpressionElement;
|
|
2903
|
+
new (): HTMLLimebbLimeQueryFilterExpressionElement;
|
|
2904
|
+
};
|
|
2905
|
+
interface HTMLLimebbLimeQueryFilterNotElementEventMap {
|
|
2906
|
+
"expressionChange": LimeQueryFilterNot | LimeQueryFilterMissing;
|
|
2907
|
+
}
|
|
2908
|
+
/**
|
|
2909
|
+
* Lime Query Filter NOT Component
|
|
2910
|
+
* Renders a negated filter expression. This inverts the logic of the child expression,
|
|
2911
|
+
* so records that would normally match will be excluded, and vice versa.
|
|
2912
|
+
* For example:
|
|
2913
|
+
* - NOT (status = "won") → Include all records where status is NOT "won"
|
|
2914
|
+
* - NOT (value > 100000) → Include all records where value is NOT greater than 100000
|
|
2915
|
+
* This component displays:
|
|
2916
|
+
* - A "Not" label
|
|
2917
|
+
* - A single child expression (which can be a comparison or nested AND/OR group)
|
|
2918
|
+
* Clicking the trash icon removes the entire NOT expression.
|
|
2919
|
+
* @private
|
|
2920
|
+
*/
|
|
2921
|
+
interface HTMLLimebbLimeQueryFilterNotElement extends Components.LimebbLimeQueryFilterNot, HTMLStencilElement {
|
|
2922
|
+
addEventListener<K extends keyof HTMLLimebbLimeQueryFilterNotElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterNotElement, ev: LimebbLimeQueryFilterNotCustomEvent<HTMLLimebbLimeQueryFilterNotElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2923
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2924
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2925
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2926
|
+
removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterNotElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterNotElement, ev: LimebbLimeQueryFilterNotCustomEvent<HTMLLimebbLimeQueryFilterNotElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2252
2927
|
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2253
2928
|
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2254
2929
|
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2255
2930
|
}
|
|
2256
|
-
var
|
|
2257
|
-
prototype:
|
|
2258
|
-
new ():
|
|
2931
|
+
var HTMLLimebbLimeQueryFilterNotElement: {
|
|
2932
|
+
prototype: HTMLLimebbLimeQueryFilterNotElement;
|
|
2933
|
+
new (): HTMLLimebbLimeQueryFilterNotElement;
|
|
2259
2934
|
};
|
|
2260
|
-
interface
|
|
2261
|
-
"
|
|
2935
|
+
interface HTMLLimebbLimeQueryFilterOrElementEventMap {
|
|
2936
|
+
"expressionChange": LimeQueryFilterOr | LimeQueryFilterMissing;
|
|
2262
2937
|
}
|
|
2263
2938
|
/**
|
|
2264
|
-
*
|
|
2939
|
+
* Lime Query Filter OR Component
|
|
2940
|
+
* Renders a group of filter expressions where **at least one condition must be true**.
|
|
2941
|
+
* Users can add multiple alternative expressions, and a record only needs to match
|
|
2942
|
+
* one of them to be included in the result set.
|
|
2943
|
+
* This component displays:
|
|
2944
|
+
* - A header with "Any of these conditions is true" when there are multiple conditions
|
|
2945
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
2946
|
+
* - An "Add alternative" button to add more options
|
|
2947
|
+
* Clicking the trash icon on a child expression removes it from the OR group.
|
|
2265
2948
|
* @private
|
|
2266
2949
|
*/
|
|
2267
|
-
interface
|
|
2268
|
-
addEventListener<K extends keyof
|
|
2950
|
+
interface HTMLLimebbLimeQueryFilterOrElement extends Components.LimebbLimeQueryFilterOr, HTMLStencilElement {
|
|
2951
|
+
addEventListener<K extends keyof HTMLLimebbLimeQueryFilterOrElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterOrElement, ev: LimebbLimeQueryFilterOrCustomEvent<HTMLLimebbLimeQueryFilterOrElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2269
2952
|
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2270
2953
|
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2271
2954
|
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2272
|
-
removeEventListener<K extends keyof
|
|
2955
|
+
removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterOrElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterOrElement, ev: LimebbLimeQueryFilterOrCustomEvent<HTMLLimebbLimeQueryFilterOrElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2273
2956
|
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2274
2957
|
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2275
2958
|
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2276
2959
|
}
|
|
2277
|
-
var
|
|
2278
|
-
prototype:
|
|
2279
|
-
new ():
|
|
2960
|
+
var HTMLLimebbLimeQueryFilterOrElement: {
|
|
2961
|
+
prototype: HTMLLimebbLimeQueryFilterOrElement;
|
|
2962
|
+
new (): HTMLLimebbLimeQueryFilterOrElement;
|
|
2280
2963
|
};
|
|
2281
|
-
interface
|
|
2282
|
-
"change":
|
|
2964
|
+
interface HTMLLimebbLimeQueryValueInputElementEventMap {
|
|
2965
|
+
"change": any;
|
|
2283
2966
|
}
|
|
2284
2967
|
/**
|
|
2285
|
-
*
|
|
2286
|
-
*
|
|
2287
|
-
*
|
|
2288
|
-
*
|
|
2289
|
-
*
|
|
2290
|
-
* - **
|
|
2291
|
-
*
|
|
2292
|
-
*
|
|
2293
|
-
*
|
|
2294
|
-
*
|
|
2295
|
-
*
|
|
2968
|
+
* Query Value Input Component
|
|
2969
|
+
* Renders an appropriate input control based on the property type and operator.
|
|
2970
|
+
* This component automatically adapts its UI to match the data type of the selected
|
|
2971
|
+
* property, providing a better user experience and data validation.
|
|
2972
|
+
* Supported input types:
|
|
2973
|
+
* - **String/Text**: Standard text input field
|
|
2974
|
+
* - **Integer/Decimal**: Number input with appropriate step values
|
|
2975
|
+
* - **Date**: Date picker returning ISO date strings
|
|
2976
|
+
* - **Time**: Time input field
|
|
2977
|
+
* - **Boolean (yesno)**: True/False dropdown
|
|
2978
|
+
* - **Option**: Dropdown populated with valid options from property definition
|
|
2979
|
+
* - **IN operator**: Comma-separated input for multiple values (any type)
|
|
2980
|
+
* - **Placeholder mode**: Select properties from active object using %activeObject%
|
|
2981
|
+
* The component handles type conversions automatically:
|
|
2982
|
+
* - Numbers are parsed from string inputs
|
|
2983
|
+
* - Dates are converted to/from ISO strings
|
|
2984
|
+
* - Booleans are converted to/from strings for dropdown compatibility
|
|
2296
2985
|
* @private
|
|
2297
2986
|
*/
|
|
2298
|
-
interface
|
|
2299
|
-
addEventListener<K extends keyof
|
|
2987
|
+
interface HTMLLimebbLimeQueryValueInputElement extends Components.LimebbLimeQueryValueInput, HTMLStencilElement {
|
|
2988
|
+
addEventListener<K extends keyof HTMLLimebbLimeQueryValueInputElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryValueInputElement, ev: LimebbLimeQueryValueInputCustomEvent<HTMLLimebbLimeQueryValueInputElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2300
2989
|
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2301
2990
|
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2302
2991
|
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2303
|
-
removeEventListener<K extends keyof
|
|
2992
|
+
removeEventListener<K extends keyof HTMLLimebbLimeQueryValueInputElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryValueInputElement, ev: LimebbLimeQueryValueInputCustomEvent<HTMLLimebbLimeQueryValueInputElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2304
2993
|
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2305
2994
|
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2306
2995
|
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2307
2996
|
}
|
|
2308
|
-
var
|
|
2309
|
-
prototype:
|
|
2310
|
-
new ():
|
|
2997
|
+
var HTMLLimebbLimeQueryValueInputElement: {
|
|
2998
|
+
prototype: HTMLLimebbLimeQueryValueInputElement;
|
|
2999
|
+
new (): HTMLLimebbLimeQueryValueInputElement;
|
|
2311
3000
|
};
|
|
2312
3001
|
/**
|
|
2313
3002
|
* Component for displaying the contents of an attached file on a limeobject
|
|
@@ -2323,6 +3012,38 @@ declare global {
|
|
|
2323
3012
|
prototype: HTMLLimebbLimeobjectFileViewerElement;
|
|
2324
3013
|
new (): HTMLLimebbLimeobjectFileViewerElement;
|
|
2325
3014
|
};
|
|
3015
|
+
interface HTMLLimebbLimetypeFieldElementEventMap {
|
|
3016
|
+
"change": string;
|
|
3017
|
+
}
|
|
3018
|
+
/**
|
|
3019
|
+
* Limetype Field Component
|
|
3020
|
+
* A dropdown selector for choosing a limetype (object type) from the available
|
|
3021
|
+
* limetypes in the system.
|
|
3022
|
+
* This component:
|
|
3023
|
+
* - Displays all limetypes with their icons and localized names
|
|
3024
|
+
* - Supports restricting to a specific list of limetypes
|
|
3025
|
+
* - Can update dependent property-path fields when selection changes
|
|
3026
|
+
* - Implements the FormComponent interface for use in forms
|
|
3027
|
+
* Common use cases:
|
|
3028
|
+
* - Selecting which object type to query in a lime query builder
|
|
3029
|
+
* - Choosing target limetype for relations
|
|
3030
|
+
* - Configuring limetype-dependent settings
|
|
3031
|
+
* @private
|
|
3032
|
+
*/
|
|
3033
|
+
interface HTMLLimebbLimetypeFieldElement extends Components.LimebbLimetypeField, HTMLStencilElement {
|
|
3034
|
+
addEventListener<K extends keyof HTMLLimebbLimetypeFieldElementEventMap>(type: K, listener: (this: HTMLLimebbLimetypeFieldElement, ev: LimebbLimetypeFieldCustomEvent<HTMLLimebbLimetypeFieldElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3035
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3036
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3037
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
3038
|
+
removeEventListener<K extends keyof HTMLLimebbLimetypeFieldElementEventMap>(type: K, listener: (this: HTMLLimebbLimetypeFieldElement, ev: LimebbLimetypeFieldCustomEvent<HTMLLimebbLimetypeFieldElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
3039
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3040
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3041
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
3042
|
+
}
|
|
3043
|
+
var HTMLLimebbLimetypeFieldElement: {
|
|
3044
|
+
prototype: HTMLLimebbLimetypeFieldElement;
|
|
3045
|
+
new (): HTMLLimebbLimetypeFieldElement;
|
|
3046
|
+
};
|
|
2326
3047
|
/**
|
|
2327
3048
|
* @private
|
|
2328
3049
|
*/
|
|
@@ -2506,6 +3227,92 @@ declare global {
|
|
|
2506
3227
|
prototype: HTMLLimebbPercentageVisualizerElement;
|
|
2507
3228
|
new (): HTMLLimebbPercentageVisualizerElement;
|
|
2508
3229
|
};
|
|
3230
|
+
interface HTMLLimebbPropertySelectorElementEventMap {
|
|
3231
|
+
"change": string;
|
|
3232
|
+
}
|
|
3233
|
+
/**
|
|
3234
|
+
* Property Selector Component
|
|
3235
|
+
* A menu-based property selector that allows users to navigate through properties
|
|
3236
|
+
* and relations, only emitting complete property paths (not intermediate relations).
|
|
3237
|
+
* Similar to limec-context-expression but specifically for selecting properties
|
|
3238
|
+
* with dot-notation paths.
|
|
3239
|
+
* Features:
|
|
3240
|
+
* - Menu-based navigation through properties
|
|
3241
|
+
* - Submenu support for drilling into relations
|
|
3242
|
+
* - Internal state management during navigation
|
|
3243
|
+
* - Only emits complete paths (leaf properties)
|
|
3244
|
+
* - Chip-set display showing current path
|
|
3245
|
+
* @private
|
|
3246
|
+
*/
|
|
3247
|
+
interface HTMLLimebbPropertySelectorElement extends Components.LimebbPropertySelector, HTMLStencilElement {
|
|
3248
|
+
addEventListener<K extends keyof HTMLLimebbPropertySelectorElementEventMap>(type: K, listener: (this: HTMLLimebbPropertySelectorElement, ev: LimebbPropertySelectorCustomEvent<HTMLLimebbPropertySelectorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3249
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3250
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3251
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
3252
|
+
removeEventListener<K extends keyof HTMLLimebbPropertySelectorElementEventMap>(type: K, listener: (this: HTMLLimebbPropertySelectorElement, ev: LimebbPropertySelectorCustomEvent<HTMLLimebbPropertySelectorElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
3253
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3254
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3255
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
3256
|
+
}
|
|
3257
|
+
var HTMLLimebbPropertySelectorElement: {
|
|
3258
|
+
prototype: HTMLLimebbPropertySelectorElement;
|
|
3259
|
+
new (): HTMLLimebbPropertySelectorElement;
|
|
3260
|
+
};
|
|
3261
|
+
interface HTMLLimebbResponseFormatEditorElementEventMap {
|
|
3262
|
+
"change": ResponseFormat;
|
|
3263
|
+
}
|
|
3264
|
+
/**
|
|
3265
|
+
* Response Format Editor Component
|
|
3266
|
+
* Allows users to select which properties should be returned in the query response.
|
|
3267
|
+
* Supports selecting properties on both the main limetype and related limetypes
|
|
3268
|
+
* through belongsto relations.
|
|
3269
|
+
* Features:
|
|
3270
|
+
* - **Property selection**: Choose properties using dropdown navigation
|
|
3271
|
+
* - **Nested properties**: Select properties on related objects (e.g., company.name)
|
|
3272
|
+
* - **Property aliases**: Optionally rename properties in the response
|
|
3273
|
+
* - **Dynamic list**: Add/remove property selections
|
|
3274
|
+
* - **Real-time updates**: Changes immediately update the responseFormat
|
|
3275
|
+
* The component generates a `ResponseFormat` object with the `object` field
|
|
3276
|
+
* containing the selected properties.
|
|
3277
|
+
* @private
|
|
3278
|
+
*/
|
|
3279
|
+
interface HTMLLimebbResponseFormatEditorElement extends Components.LimebbResponseFormatEditor, HTMLStencilElement {
|
|
3280
|
+
addEventListener<K extends keyof HTMLLimebbResponseFormatEditorElementEventMap>(type: K, listener: (this: HTMLLimebbResponseFormatEditorElement, ev: LimebbResponseFormatEditorCustomEvent<HTMLLimebbResponseFormatEditorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3281
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3282
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3283
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
3284
|
+
removeEventListener<K extends keyof HTMLLimebbResponseFormatEditorElementEventMap>(type: K, listener: (this: HTMLLimebbResponseFormatEditorElement, ev: LimebbResponseFormatEditorCustomEvent<HTMLLimebbResponseFormatEditorElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
3285
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3286
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3287
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
3288
|
+
}
|
|
3289
|
+
var HTMLLimebbResponseFormatEditorElement: {
|
|
3290
|
+
prototype: HTMLLimebbResponseFormatEditorElement;
|
|
3291
|
+
new (): HTMLLimebbResponseFormatEditorElement;
|
|
3292
|
+
};
|
|
3293
|
+
interface HTMLLimebbResponseFormatItemElementEventMap {
|
|
3294
|
+
"itemChange": PropertySelectionItem | null;
|
|
3295
|
+
}
|
|
3296
|
+
/**
|
|
3297
|
+
* Response Format Property Item Component
|
|
3298
|
+
* Represents a single property selection with optional alias and description
|
|
3299
|
+
* Part of the response format editor
|
|
3300
|
+
* @private
|
|
3301
|
+
*/
|
|
3302
|
+
interface HTMLLimebbResponseFormatItemElement extends Components.LimebbResponseFormatItem, HTMLStencilElement {
|
|
3303
|
+
addEventListener<K extends keyof HTMLLimebbResponseFormatItemElementEventMap>(type: K, listener: (this: HTMLLimebbResponseFormatItemElement, ev: LimebbResponseFormatItemCustomEvent<HTMLLimebbResponseFormatItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3304
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3305
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3306
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
3307
|
+
removeEventListener<K extends keyof HTMLLimebbResponseFormatItemElementEventMap>(type: K, listener: (this: HTMLLimebbResponseFormatItemElement, ev: LimebbResponseFormatItemCustomEvent<HTMLLimebbResponseFormatItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
3308
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3309
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3310
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
3311
|
+
}
|
|
3312
|
+
var HTMLLimebbResponseFormatItemElement: {
|
|
3313
|
+
prototype: HTMLLimebbResponseFormatItemElement;
|
|
3314
|
+
new (): HTMLLimebbResponseFormatItemElement;
|
|
3315
|
+
};
|
|
2509
3316
|
interface HTMLLimebbSummaryPopoverElementEventMap {
|
|
2510
3317
|
"actionSelected": ActionBarItem;
|
|
2511
3318
|
}
|
|
@@ -2693,7 +3500,14 @@ declare global {
|
|
|
2693
3500
|
"limebb-kanban-group": HTMLLimebbKanbanGroupElement;
|
|
2694
3501
|
"limebb-kanban-item": HTMLLimebbKanbanItemElement;
|
|
2695
3502
|
"limebb-lime-query-builder": HTMLLimebbLimeQueryBuilderElement;
|
|
3503
|
+
"limebb-lime-query-filter-and": HTMLLimebbLimeQueryFilterAndElement;
|
|
3504
|
+
"limebb-lime-query-filter-comparison": HTMLLimebbLimeQueryFilterComparisonElement;
|
|
3505
|
+
"limebb-lime-query-filter-expression": HTMLLimebbLimeQueryFilterExpressionElement;
|
|
3506
|
+
"limebb-lime-query-filter-not": HTMLLimebbLimeQueryFilterNotElement;
|
|
3507
|
+
"limebb-lime-query-filter-or": HTMLLimebbLimeQueryFilterOrElement;
|
|
3508
|
+
"limebb-lime-query-value-input": HTMLLimebbLimeQueryValueInputElement;
|
|
2696
3509
|
"limebb-limeobject-file-viewer": HTMLLimebbLimeobjectFileViewerElement;
|
|
3510
|
+
"limebb-limetype-field": HTMLLimebbLimetypeFieldElement;
|
|
2697
3511
|
"limebb-live-docs-info": HTMLLimebbLiveDocsInfoElement;
|
|
2698
3512
|
"limebb-loader": HTMLLimebbLoaderElement;
|
|
2699
3513
|
"limebb-locale-picker": HTMLLimebbLocalePickerElement;
|
|
@@ -2703,6 +3517,9 @@ declare global {
|
|
|
2703
3517
|
"limebb-notification-item": HTMLLimebbNotificationItemElement;
|
|
2704
3518
|
"limebb-notification-list": HTMLLimebbNotificationListElement;
|
|
2705
3519
|
"limebb-percentage-visualizer": HTMLLimebbPercentageVisualizerElement;
|
|
3520
|
+
"limebb-property-selector": HTMLLimebbPropertySelectorElement;
|
|
3521
|
+
"limebb-response-format-editor": HTMLLimebbResponseFormatEditorElement;
|
|
3522
|
+
"limebb-response-format-item": HTMLLimebbResponseFormatItemElement;
|
|
2706
3523
|
"limebb-summary-popover": HTMLLimebbSummaryPopoverElement;
|
|
2707
3524
|
"limebb-text-editor": HTMLLimebbTextEditorElement;
|
|
2708
3525
|
"limebb-text-editor-picker": HTMLLimebbTextEditorPickerElement;
|
|
@@ -3617,130 +4434,419 @@ declare namespace LocalJSX {
|
|
|
3617
4434
|
*/
|
|
3618
4435
|
"context"?: LimeWebComponentContext;
|
|
3619
4436
|
/**
|
|
3620
|
-
* List of groups to display in the kanban board. Each group contains a list of items belonging to that group.
|
|
4437
|
+
* List of groups to display in the kanban board. Each group contains a list of items belonging to that group.
|
|
4438
|
+
*/
|
|
4439
|
+
"groups"?: KanbanGroup[];
|
|
4440
|
+
/**
|
|
4441
|
+
* Emitted when an item is interacted with
|
|
4442
|
+
*/
|
|
4443
|
+
"onInteract"?: (event: LimebbKanbanCustomEvent<KanbanItem>) => void;
|
|
4444
|
+
/**
|
|
4445
|
+
* Emitted when the load more button is clicked
|
|
4446
|
+
*/
|
|
4447
|
+
"onLoadMore"?: (event: LimebbKanbanCustomEvent<KanbanGroup>) => void;
|
|
4448
|
+
/**
|
|
4449
|
+
* Reference to the platform
|
|
4450
|
+
* @inheritdoc
|
|
4451
|
+
*/
|
|
4452
|
+
"platform": LimeWebComponentPlatform;
|
|
4453
|
+
}
|
|
4454
|
+
/**
|
|
4455
|
+
* This component generates the groups for `limebb-kanban`.
|
|
4456
|
+
* @private
|
|
4457
|
+
*/
|
|
4458
|
+
interface LimebbKanbanGroup {
|
|
4459
|
+
/**
|
|
4460
|
+
* The context this component belongs to
|
|
4461
|
+
* @inheritdoc
|
|
4462
|
+
*/
|
|
4463
|
+
"context"?: LimeWebComponentContext;
|
|
4464
|
+
/**
|
|
4465
|
+
* The title of the group, which is taken from the `groupBy` property of the `limebb-kanban` component.
|
|
4466
|
+
*/
|
|
4467
|
+
"heading"?: string;
|
|
4468
|
+
/**
|
|
4469
|
+
* Description of the group
|
|
4470
|
+
*/
|
|
4471
|
+
"help"?: string;
|
|
4472
|
+
/**
|
|
4473
|
+
* A unique identifier for the group.
|
|
4474
|
+
*/
|
|
4475
|
+
"identifier"?: string;
|
|
4476
|
+
/**
|
|
4477
|
+
* List of items to display in the group.
|
|
4478
|
+
*/
|
|
4479
|
+
"items"?: KanbanItem[];
|
|
4480
|
+
/**
|
|
4481
|
+
* True if items have not finished loading.
|
|
4482
|
+
*/
|
|
4483
|
+
"loading"?: boolean;
|
|
4484
|
+
/**
|
|
4485
|
+
* Emitted when the load more button is clicked
|
|
4486
|
+
*/
|
|
4487
|
+
"onLoadMore"?: (event: LimebbKanbanGroupCustomEvent<KanbanGroup['identifier']>) => void;
|
|
4488
|
+
/**
|
|
4489
|
+
* Reference to the platform
|
|
4490
|
+
* @inheritdoc
|
|
4491
|
+
*/
|
|
4492
|
+
"platform": LimeWebComponentPlatform;
|
|
4493
|
+
/**
|
|
4494
|
+
* The summary of the group.
|
|
4495
|
+
*/
|
|
4496
|
+
"summary"?: string;
|
|
4497
|
+
/**
|
|
4498
|
+
* Total number of items available for the group. This is used to determine if the "load more" button should be displayed.
|
|
4499
|
+
*/
|
|
4500
|
+
"totalCount"?: number;
|
|
4501
|
+
}
|
|
4502
|
+
/**
|
|
4503
|
+
* Feed item
|
|
4504
|
+
* @private
|
|
4505
|
+
*/
|
|
4506
|
+
interface LimebbKanbanItem {
|
|
4507
|
+
/**
|
|
4508
|
+
* The context this component belongs to
|
|
4509
|
+
* @inheritdoc
|
|
4510
|
+
*/
|
|
4511
|
+
"context"?: LimeWebComponentContext;
|
|
4512
|
+
/**
|
|
4513
|
+
* The item to display in the Kanban group.
|
|
4514
|
+
*/
|
|
4515
|
+
"item"?: KanbanItem;
|
|
4516
|
+
/**
|
|
4517
|
+
* Fired when clicking on the Kanban item.
|
|
4518
|
+
*/
|
|
4519
|
+
"onInteract"?: (event: LimebbKanbanItemCustomEvent<KanbanItem>) => void;
|
|
4520
|
+
/**
|
|
4521
|
+
* Reference to the platform
|
|
4522
|
+
* @inheritdoc
|
|
4523
|
+
*/
|
|
4524
|
+
"platform": LimeWebComponentPlatform;
|
|
4525
|
+
}
|
|
4526
|
+
/**
|
|
4527
|
+
* Lime Query Builder Component
|
|
4528
|
+
* A comprehensive query builder for constructing Lime Query DSL queries.
|
|
4529
|
+
* This is the main component that combines limetype selection with the filter builder.
|
|
4530
|
+
* Features:
|
|
4531
|
+
* - **Limetype selection**: Choose which object type to query
|
|
4532
|
+
* - **Filter builder**: Build complex filters with AND/OR/NOT logic
|
|
4533
|
+
* - **Property path selection**: Navigate through relations
|
|
4534
|
+
* - **Type-aware inputs**: Automatic input types based on property type
|
|
4535
|
+
* - **Response format**: Select which properties to return
|
|
4536
|
+
* - **Query options**: Configure limit and other query parameters
|
|
4537
|
+
* - **Placeholder support**: Use `%activeObject%` placeholders in filter values
|
|
4538
|
+
* - **Real-time output**: See the Lime Query JSON as you build
|
|
4539
|
+
* The component produces a complete `LimeQuery` object that can be sent
|
|
4540
|
+
* directly to the Lime CRM backend.
|
|
4541
|
+
* **Active Object Placeholders**:
|
|
4542
|
+
* When the `activeLimetype` prop is provided, the component enables validation
|
|
4543
|
+
* and UI support for `%activeObject%` placeholders in filter expressions.
|
|
4544
|
+
* These placeholders reference properties of a contextual "active object"
|
|
4545
|
+
* (e.g., `%activeObject%.company` references the company of the active object).
|
|
4546
|
+
* @exampleComponent limebb-example-lime-query-builder-basic
|
|
4547
|
+
* @private
|
|
4548
|
+
*/
|
|
4549
|
+
interface LimebbLimeQueryBuilder {
|
|
4550
|
+
/**
|
|
4551
|
+
* The limetype of the active object (for %activeObject% placeholder validation). When provided, enables placeholder validation and the placeholder input mode. When omitted, placeholders are accepted without validation.
|
|
4552
|
+
*/
|
|
4553
|
+
"activeLimetype"?: string;
|
|
4554
|
+
/**
|
|
4555
|
+
* Component context
|
|
4556
|
+
*/
|
|
4557
|
+
"context"?: LimeWebComponentContext;
|
|
4558
|
+
/**
|
|
4559
|
+
* Optional label for the Lime Query builder
|
|
4560
|
+
*/
|
|
4561
|
+
"label"?: string;
|
|
4562
|
+
/**
|
|
4563
|
+
* Emitted when the Lime Query changes
|
|
4564
|
+
*/
|
|
4565
|
+
"onChange"?: (event: LimebbLimeQueryBuilderCustomEvent<LimeQuery>) => void;
|
|
4566
|
+
/**
|
|
4567
|
+
* Platform service provider
|
|
4568
|
+
*/
|
|
4569
|
+
"platform"?: LimeWebComponentPlatform;
|
|
4570
|
+
/**
|
|
4571
|
+
* The complete Lime Query object
|
|
4572
|
+
*/
|
|
4573
|
+
"value"?: LimeQuery;
|
|
4574
|
+
}
|
|
4575
|
+
/**
|
|
4576
|
+
* Lime Query Filter AND Component
|
|
4577
|
+
* Renders a group of filter expressions where **all conditions must be true**.
|
|
4578
|
+
* Users can add multiple child expressions, and a record must match all of them
|
|
4579
|
+
* to be included in the result set.
|
|
4580
|
+
* This component displays:
|
|
4581
|
+
* - A header with "All of these conditions are true" when there are multiple conditions
|
|
4582
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
4583
|
+
* - An "Add another condition" button to add more expressions
|
|
4584
|
+
* Clicking the trash icon on a child expression removes it from the AND group.
|
|
4585
|
+
* @private
|
|
4586
|
+
*/
|
|
4587
|
+
interface LimebbLimeQueryFilterAnd {
|
|
4588
|
+
/**
|
|
4589
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
4590
|
+
*/
|
|
4591
|
+
"activeLimetype"?: string;
|
|
4592
|
+
/**
|
|
4593
|
+
* Component context
|
|
4594
|
+
*/
|
|
4595
|
+
"context"?: LimeWebComponentContext;
|
|
4596
|
+
/**
|
|
4597
|
+
* The AND expression containing child expressions
|
|
4598
|
+
*/
|
|
4599
|
+
"expression"?: LimeQueryFilterAnd;
|
|
4600
|
+
/**
|
|
4601
|
+
* Optional label for the AND group
|
|
4602
|
+
*/
|
|
4603
|
+
"label"?: string;
|
|
4604
|
+
/**
|
|
4605
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
4606
|
+
*/
|
|
4607
|
+
"limetype"?: string;
|
|
4608
|
+
/**
|
|
4609
|
+
* Emitted when the AND expression changes (expressions added/removed/modified)
|
|
4610
|
+
*/
|
|
4611
|
+
"onExpressionChange"?: (event: LimebbLimeQueryFilterAndCustomEvent<LimeQueryFilterAnd | LimeQueryFilterMissing>) => void;
|
|
4612
|
+
/**
|
|
4613
|
+
* Platform service provider
|
|
4614
|
+
*/
|
|
4615
|
+
"platform"?: LimeWebComponentPlatform;
|
|
4616
|
+
}
|
|
4617
|
+
/**
|
|
4618
|
+
* Lime Query Filter Comparison Component
|
|
4619
|
+
* Renders a single comparison expression with three parts:
|
|
4620
|
+
* 1. **Property** - The field to compare (e.g., "dealstatus", "company.name")
|
|
4621
|
+
* 2. **Operator** - The comparison operator (=, !=, >, <, >=, <=, IN, ?, =?, =$)
|
|
4622
|
+
* 3. **Value** - The value to compare against
|
|
4623
|
+
* This is the most basic building block of a filter. Examples:
|
|
4624
|
+
* - dealstatus = "won"
|
|
4625
|
+
* - value > 100000
|
|
4626
|
+
* - name ? "Big" (contains "Big")
|
|
4627
|
+
* - dealstatus IN ["won", "tender"]
|
|
4628
|
+
* The component displays:
|
|
4629
|
+
* - A text input for the property (Phase 0 - will be replaced with property-path in Phase 1)
|
|
4630
|
+
* - A dropdown for the operator
|
|
4631
|
+
* - A value input (text/number based on operator)
|
|
4632
|
+
* - A trash icon button to remove this condition
|
|
4633
|
+
* @private
|
|
4634
|
+
*/
|
|
4635
|
+
interface LimebbLimeQueryFilterComparison {
|
|
4636
|
+
/**
|
|
4637
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
4638
|
+
*/
|
|
4639
|
+
"activeLimetype"?: string;
|
|
4640
|
+
/**
|
|
4641
|
+
* Component context
|
|
4642
|
+
*/
|
|
4643
|
+
"context"?: LimeWebComponentContext;
|
|
4644
|
+
/**
|
|
4645
|
+
* The comparison expression to render
|
|
4646
|
+
*/
|
|
4647
|
+
"expression"?: LimeQueryFilterComparison;
|
|
4648
|
+
/**
|
|
4649
|
+
* Optional label for the comparison
|
|
4650
|
+
*/
|
|
4651
|
+
"label"?: string;
|
|
4652
|
+
/**
|
|
4653
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
4654
|
+
*/
|
|
4655
|
+
"limetype"?: string;
|
|
4656
|
+
/**
|
|
4657
|
+
* Emitted when the comparison expression changes (property/operator/value modified)
|
|
4658
|
+
*/
|
|
4659
|
+
"onExpressionChange"?: (event: LimebbLimeQueryFilterComparisonCustomEvent<LimeQueryFilterComparison | LimeQueryFilterMissing>) => void;
|
|
4660
|
+
/**
|
|
4661
|
+
* Platform service provider
|
|
4662
|
+
*/
|
|
4663
|
+
"platform"?: LimeWebComponentPlatform;
|
|
4664
|
+
}
|
|
4665
|
+
/**
|
|
4666
|
+
* Lime Query Filter Expression Router
|
|
4667
|
+
* This is the main entry point for rendering Lime Query filters.
|
|
4668
|
+
* It routes to the appropriate sub-component based on the filter type:
|
|
4669
|
+
* - `'AND'` → limebb-lime-query-filter-and
|
|
4670
|
+
* - `'OR'` → limebb-lime-query-filter-or
|
|
4671
|
+
* - `'NOT'` → limebb-lime-query-filter-not
|
|
4672
|
+
* - `'comparison'` → limebb-lime-query-filter-comparison
|
|
4673
|
+
* - `''` (missing) → limebb-lime-query-filter-comparison (default)
|
|
4674
|
+
* Use this component when you need to render a complete filter expression
|
|
4675
|
+
* that may contain nested AND/OR/NOT logic.
|
|
4676
|
+
* @private
|
|
4677
|
+
*/
|
|
4678
|
+
interface LimebbLimeQueryFilterExpression {
|
|
4679
|
+
/**
|
|
4680
|
+
* The limetype of the active object (for %activeObject% placeholders) Optional - used for validation and property suggestions
|
|
4681
|
+
*/
|
|
4682
|
+
"activeLimetype"?: string;
|
|
4683
|
+
/**
|
|
4684
|
+
* Component context
|
|
4685
|
+
*/
|
|
4686
|
+
"context"?: LimeWebComponentContext;
|
|
4687
|
+
/**
|
|
4688
|
+
* The filter expression to render
|
|
3621
4689
|
*/
|
|
3622
|
-
"
|
|
4690
|
+
"expression"?: LimeQueryFilterExpression;
|
|
3623
4691
|
/**
|
|
3624
|
-
*
|
|
4692
|
+
* Optional label for the expression
|
|
3625
4693
|
*/
|
|
3626
|
-
"
|
|
4694
|
+
"label"?: string;
|
|
3627
4695
|
/**
|
|
3628
|
-
*
|
|
4696
|
+
* The limetype being queried (e.g., "deal", "company") Used for property validation and type-aware inputs
|
|
3629
4697
|
*/
|
|
3630
|
-
"
|
|
4698
|
+
"limetype"?: string;
|
|
3631
4699
|
/**
|
|
3632
|
-
*
|
|
3633
|
-
* @inheritdoc
|
|
4700
|
+
* Emitted when the filter expression changes
|
|
3634
4701
|
*/
|
|
3635
|
-
"
|
|
4702
|
+
"onExpressionChange"?: (event: LimebbLimeQueryFilterExpressionCustomEvent<LimeQueryFilterExpression>) => void;
|
|
4703
|
+
/**
|
|
4704
|
+
* Platform service provider
|
|
4705
|
+
*/
|
|
4706
|
+
"platform"?: LimeWebComponentPlatform;
|
|
3636
4707
|
}
|
|
3637
4708
|
/**
|
|
3638
|
-
*
|
|
4709
|
+
* Lime Query Filter NOT Component
|
|
4710
|
+
* Renders a negated filter expression. This inverts the logic of the child expression,
|
|
4711
|
+
* so records that would normally match will be excluded, and vice versa.
|
|
4712
|
+
* For example:
|
|
4713
|
+
* - NOT (status = "won") → Include all records where status is NOT "won"
|
|
4714
|
+
* - NOT (value > 100000) → Include all records where value is NOT greater than 100000
|
|
4715
|
+
* This component displays:
|
|
4716
|
+
* - A "Not" label
|
|
4717
|
+
* - A single child expression (which can be a comparison or nested AND/OR group)
|
|
4718
|
+
* Clicking the trash icon removes the entire NOT expression.
|
|
3639
4719
|
* @private
|
|
3640
4720
|
*/
|
|
3641
|
-
interface
|
|
4721
|
+
interface LimebbLimeQueryFilterNot {
|
|
3642
4722
|
/**
|
|
3643
|
-
* The
|
|
3644
|
-
* @inheritdoc
|
|
4723
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
3645
4724
|
*/
|
|
3646
|
-
"
|
|
4725
|
+
"activeLimetype"?: string;
|
|
3647
4726
|
/**
|
|
3648
|
-
*
|
|
4727
|
+
* Component context
|
|
3649
4728
|
*/
|
|
3650
|
-
"
|
|
4729
|
+
"context"?: LimeWebComponentContext;
|
|
3651
4730
|
/**
|
|
3652
|
-
*
|
|
4731
|
+
* The NOT expression containing the child expression to negate
|
|
3653
4732
|
*/
|
|
3654
|
-
"
|
|
4733
|
+
"expression"?: LimeQueryFilterNot;
|
|
3655
4734
|
/**
|
|
3656
|
-
*
|
|
4735
|
+
* Optional label for the NOT expression
|
|
3657
4736
|
*/
|
|
3658
|
-
"
|
|
4737
|
+
"label"?: string;
|
|
3659
4738
|
/**
|
|
3660
|
-
*
|
|
4739
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
3661
4740
|
*/
|
|
3662
|
-
"
|
|
4741
|
+
"limetype"?: string;
|
|
3663
4742
|
/**
|
|
3664
|
-
*
|
|
4743
|
+
* Emitted when the NOT expression changes (child expression modified or removed)
|
|
3665
4744
|
*/
|
|
3666
|
-
"
|
|
4745
|
+
"onExpressionChange"?: (event: LimebbLimeQueryFilterNotCustomEvent<LimeQueryFilterNot | LimeQueryFilterMissing>) => void;
|
|
3667
4746
|
/**
|
|
3668
|
-
*
|
|
4747
|
+
* Platform service provider
|
|
3669
4748
|
*/
|
|
3670
|
-
"
|
|
4749
|
+
"platform"?: LimeWebComponentPlatform;
|
|
4750
|
+
}
|
|
4751
|
+
/**
|
|
4752
|
+
* Lime Query Filter OR Component
|
|
4753
|
+
* Renders a group of filter expressions where **at least one condition must be true**.
|
|
4754
|
+
* Users can add multiple alternative expressions, and a record only needs to match
|
|
4755
|
+
* one of them to be included in the result set.
|
|
4756
|
+
* This component displays:
|
|
4757
|
+
* - A header with "Any of these conditions is true" when there are multiple conditions
|
|
4758
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
4759
|
+
* - An "Add alternative" button to add more options
|
|
4760
|
+
* Clicking the trash icon on a child expression removes it from the OR group.
|
|
4761
|
+
* @private
|
|
4762
|
+
*/
|
|
4763
|
+
interface LimebbLimeQueryFilterOr {
|
|
3671
4764
|
/**
|
|
3672
|
-
*
|
|
3673
|
-
* @inheritdoc
|
|
4765
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
3674
4766
|
*/
|
|
3675
|
-
"
|
|
4767
|
+
"activeLimetype"?: string;
|
|
3676
4768
|
/**
|
|
3677
|
-
*
|
|
4769
|
+
* Component context
|
|
3678
4770
|
*/
|
|
3679
|
-
"
|
|
4771
|
+
"context"?: LimeWebComponentContext;
|
|
3680
4772
|
/**
|
|
3681
|
-
*
|
|
4773
|
+
* The OR expression containing child expressions
|
|
3682
4774
|
*/
|
|
3683
|
-
"
|
|
3684
|
-
}
|
|
3685
|
-
/**
|
|
3686
|
-
* Feed item
|
|
3687
|
-
* @private
|
|
3688
|
-
*/
|
|
3689
|
-
interface LimebbKanbanItem {
|
|
4775
|
+
"expression"?: LimeQueryFilterOr;
|
|
3690
4776
|
/**
|
|
3691
|
-
*
|
|
3692
|
-
* @inheritdoc
|
|
4777
|
+
* Optional label for the OR group
|
|
3693
4778
|
*/
|
|
3694
|
-
"
|
|
4779
|
+
"label"?: string;
|
|
3695
4780
|
/**
|
|
3696
|
-
* The
|
|
4781
|
+
* The limetype being queried (e.g., "deal", "company")
|
|
3697
4782
|
*/
|
|
3698
|
-
"
|
|
4783
|
+
"limetype"?: string;
|
|
3699
4784
|
/**
|
|
3700
|
-
*
|
|
4785
|
+
* Emitted when the OR expression changes (expressions added/removed/modified)
|
|
3701
4786
|
*/
|
|
3702
|
-
"
|
|
4787
|
+
"onExpressionChange"?: (event: LimebbLimeQueryFilterOrCustomEvent<LimeQueryFilterOr | LimeQueryFilterMissing>) => void;
|
|
3703
4788
|
/**
|
|
3704
|
-
*
|
|
3705
|
-
* @inheritdoc
|
|
4789
|
+
* Platform service provider
|
|
3706
4790
|
*/
|
|
3707
|
-
"platform"
|
|
4791
|
+
"platform"?: LimeWebComponentPlatform;
|
|
3708
4792
|
}
|
|
3709
4793
|
/**
|
|
3710
|
-
*
|
|
3711
|
-
*
|
|
3712
|
-
*
|
|
3713
|
-
*
|
|
3714
|
-
*
|
|
3715
|
-
* - **
|
|
3716
|
-
*
|
|
3717
|
-
*
|
|
3718
|
-
*
|
|
3719
|
-
*
|
|
3720
|
-
*
|
|
4794
|
+
* Query Value Input Component
|
|
4795
|
+
* Renders an appropriate input control based on the property type and operator.
|
|
4796
|
+
* This component automatically adapts its UI to match the data type of the selected
|
|
4797
|
+
* property, providing a better user experience and data validation.
|
|
4798
|
+
* Supported input types:
|
|
4799
|
+
* - **String/Text**: Standard text input field
|
|
4800
|
+
* - **Integer/Decimal**: Number input with appropriate step values
|
|
4801
|
+
* - **Date**: Date picker returning ISO date strings
|
|
4802
|
+
* - **Time**: Time input field
|
|
4803
|
+
* - **Boolean (yesno)**: True/False dropdown
|
|
4804
|
+
* - **Option**: Dropdown populated with valid options from property definition
|
|
4805
|
+
* - **IN operator**: Comma-separated input for multiple values (any type)
|
|
4806
|
+
* - **Placeholder mode**: Select properties from active object using %activeObject%
|
|
4807
|
+
* The component handles type conversions automatically:
|
|
4808
|
+
* - Numbers are parsed from string inputs
|
|
4809
|
+
* - Dates are converted to/from ISO strings
|
|
4810
|
+
* - Booleans are converted to/from strings for dropdown compatibility
|
|
3721
4811
|
* @private
|
|
3722
4812
|
*/
|
|
3723
|
-
interface
|
|
4813
|
+
interface LimebbLimeQueryValueInput {
|
|
4814
|
+
/**
|
|
4815
|
+
* The limetype of the active object (for %activeObject% placeholders)
|
|
4816
|
+
*/
|
|
4817
|
+
"activeLimetype"?: string;
|
|
3724
4818
|
/**
|
|
3725
4819
|
* Component context
|
|
3726
4820
|
*/
|
|
3727
4821
|
"context"?: LimeWebComponentContext;
|
|
3728
4822
|
/**
|
|
3729
|
-
* Optional label for the
|
|
4823
|
+
* Optional label for the input
|
|
3730
4824
|
*/
|
|
3731
4825
|
"label"?: string;
|
|
3732
4826
|
/**
|
|
3733
|
-
*
|
|
4827
|
+
* The limetype being queried
|
|
3734
4828
|
*/
|
|
3735
|
-
"
|
|
4829
|
+
"limetype"?: string;
|
|
4830
|
+
/**
|
|
4831
|
+
* Emitted when the value changes
|
|
4832
|
+
*/
|
|
4833
|
+
"onChange"?: (event: LimebbLimeQueryValueInputCustomEvent<any>) => void;
|
|
4834
|
+
/**
|
|
4835
|
+
* The operator being used
|
|
4836
|
+
*/
|
|
4837
|
+
"operator"?: FilterOperator;
|
|
3736
4838
|
/**
|
|
3737
4839
|
* Platform service provider
|
|
3738
4840
|
*/
|
|
3739
4841
|
"platform"?: LimeWebComponentPlatform;
|
|
3740
4842
|
/**
|
|
3741
|
-
* The
|
|
4843
|
+
* The property path (e.g., "dealstatus", "company.name")
|
|
3742
4844
|
*/
|
|
3743
|
-
"
|
|
4845
|
+
"propertyPath"?: string;
|
|
4846
|
+
/**
|
|
4847
|
+
* The current value
|
|
4848
|
+
*/
|
|
4849
|
+
"value"?: any;
|
|
3744
4850
|
}
|
|
3745
4851
|
/**
|
|
3746
4852
|
* Component for displaying the contents of an attached file on a limeobject
|
|
@@ -3768,6 +4874,89 @@ declare namespace LocalJSX {
|
|
|
3768
4874
|
*/
|
|
3769
4875
|
"property"?: string;
|
|
3770
4876
|
}
|
|
4877
|
+
/**
|
|
4878
|
+
* Limetype Field Component
|
|
4879
|
+
* A dropdown selector for choosing a limetype (object type) from the available
|
|
4880
|
+
* limetypes in the system.
|
|
4881
|
+
* This component:
|
|
4882
|
+
* - Displays all limetypes with their icons and localized names
|
|
4883
|
+
* - Supports restricting to a specific list of limetypes
|
|
4884
|
+
* - Can update dependent property-path fields when selection changes
|
|
4885
|
+
* - Implements the FormComponent interface for use in forms
|
|
4886
|
+
* Common use cases:
|
|
4887
|
+
* - Selecting which object type to query in a lime query builder
|
|
4888
|
+
* - Choosing target limetype for relations
|
|
4889
|
+
* - Configuring limetype-dependent settings
|
|
4890
|
+
* @private
|
|
4891
|
+
*/
|
|
4892
|
+
interface LimebbLimetypeField {
|
|
4893
|
+
/**
|
|
4894
|
+
* The context this component belongs to
|
|
4895
|
+
* @inheritdoc
|
|
4896
|
+
*/
|
|
4897
|
+
"context"?: LimeWebComponentContext;
|
|
4898
|
+
/**
|
|
4899
|
+
* Whether or not the current property is disabled
|
|
4900
|
+
* @inheritdoc
|
|
4901
|
+
*/
|
|
4902
|
+
"disabled"?: boolean;
|
|
4903
|
+
/**
|
|
4904
|
+
* The name of this field. May be used as reference when a property mapping depends on the selected limetype.
|
|
4905
|
+
*/
|
|
4906
|
+
"fieldName"?: string;
|
|
4907
|
+
/**
|
|
4908
|
+
* Additional contextual information about the form
|
|
4909
|
+
* @inheritdoc
|
|
4910
|
+
*/
|
|
4911
|
+
"formInfo"?: FormInfo;
|
|
4912
|
+
/**
|
|
4913
|
+
* The helper text for the current property
|
|
4914
|
+
* @inheritdoc
|
|
4915
|
+
*/
|
|
4916
|
+
"helperText"?: string;
|
|
4917
|
+
/**
|
|
4918
|
+
* @inheritdoc
|
|
4919
|
+
*/
|
|
4920
|
+
"invalid"?: boolean;
|
|
4921
|
+
/**
|
|
4922
|
+
* The label of the current property
|
|
4923
|
+
* @inheritdoc
|
|
4924
|
+
*/
|
|
4925
|
+
"label"?: string;
|
|
4926
|
+
/**
|
|
4927
|
+
* The limetypes to choose from
|
|
4928
|
+
*/
|
|
4929
|
+
"limetypes"?: string[];
|
|
4930
|
+
/**
|
|
4931
|
+
* The event to emit when the value of the current property has changed
|
|
4932
|
+
* @inheritdoc
|
|
4933
|
+
*/
|
|
4934
|
+
"onChange"?: (event: LimebbLimetypeFieldCustomEvent<string>) => void;
|
|
4935
|
+
/**
|
|
4936
|
+
* Reference to the platform
|
|
4937
|
+
* @inheritdoc
|
|
4938
|
+
*/
|
|
4939
|
+
"platform"?: LimeWebComponentPlatform;
|
|
4940
|
+
/**
|
|
4941
|
+
* A list of property fields that should be updated when the selected limetype changes.
|
|
4942
|
+
*/
|
|
4943
|
+
"propertyFields"?: DependentPropertyField[];
|
|
4944
|
+
/**
|
|
4945
|
+
* Whether or not the current property is readonly
|
|
4946
|
+
* @inheritdoc
|
|
4947
|
+
*/
|
|
4948
|
+
"readonly"?: boolean;
|
|
4949
|
+
/**
|
|
4950
|
+
* Whether or not the current property is required
|
|
4951
|
+
* @inheritdoc
|
|
4952
|
+
*/
|
|
4953
|
+
"required"?: boolean;
|
|
4954
|
+
/**
|
|
4955
|
+
* The value of the current property
|
|
4956
|
+
* @inheritdoc
|
|
4957
|
+
*/
|
|
4958
|
+
"value"?: string;
|
|
4959
|
+
}
|
|
3771
4960
|
/**
|
|
3772
4961
|
* @private
|
|
3773
4962
|
*/
|
|
@@ -4064,6 +5253,123 @@ declare namespace LocalJSX {
|
|
|
4064
5253
|
*/
|
|
4065
5254
|
"value"?: number | string;
|
|
4066
5255
|
}
|
|
5256
|
+
/**
|
|
5257
|
+
* Property Selector Component
|
|
5258
|
+
* A menu-based property selector that allows users to navigate through properties
|
|
5259
|
+
* and relations, only emitting complete property paths (not intermediate relations).
|
|
5260
|
+
* Similar to limec-context-expression but specifically for selecting properties
|
|
5261
|
+
* with dot-notation paths.
|
|
5262
|
+
* Features:
|
|
5263
|
+
* - Menu-based navigation through properties
|
|
5264
|
+
* - Submenu support for drilling into relations
|
|
5265
|
+
* - Internal state management during navigation
|
|
5266
|
+
* - Only emits complete paths (leaf properties)
|
|
5267
|
+
* - Chip-set display showing current path
|
|
5268
|
+
* @private
|
|
5269
|
+
*/
|
|
5270
|
+
interface LimebbPropertySelector {
|
|
5271
|
+
/**
|
|
5272
|
+
* Component context
|
|
5273
|
+
*/
|
|
5274
|
+
"context"?: LimeWebComponentContext;
|
|
5275
|
+
/**
|
|
5276
|
+
* Helper text to display
|
|
5277
|
+
*/
|
|
5278
|
+
"helperText"?: string;
|
|
5279
|
+
/**
|
|
5280
|
+
* Label for the input
|
|
5281
|
+
*/
|
|
5282
|
+
"label"?: string;
|
|
5283
|
+
/**
|
|
5284
|
+
* The limetype to select properties from
|
|
5285
|
+
*/
|
|
5286
|
+
"limetype"?: string;
|
|
5287
|
+
/**
|
|
5288
|
+
* Emitted when a complete property path is selected
|
|
5289
|
+
*/
|
|
5290
|
+
"onChange"?: (event: LimebbPropertySelectorCustomEvent<string>) => void;
|
|
5291
|
+
/**
|
|
5292
|
+
* Platform service provider
|
|
5293
|
+
*/
|
|
5294
|
+
"platform"?: LimeWebComponentPlatform;
|
|
5295
|
+
/**
|
|
5296
|
+
* Whether the field is required
|
|
5297
|
+
*/
|
|
5298
|
+
"required"?: boolean;
|
|
5299
|
+
/**
|
|
5300
|
+
* Current complete property path value
|
|
5301
|
+
*/
|
|
5302
|
+
"value"?: string;
|
|
5303
|
+
}
|
|
5304
|
+
/**
|
|
5305
|
+
* Response Format Editor Component
|
|
5306
|
+
* Allows users to select which properties should be returned in the query response.
|
|
5307
|
+
* Supports selecting properties on both the main limetype and related limetypes
|
|
5308
|
+
* through belongsto relations.
|
|
5309
|
+
* Features:
|
|
5310
|
+
* - **Property selection**: Choose properties using dropdown navigation
|
|
5311
|
+
* - **Nested properties**: Select properties on related objects (e.g., company.name)
|
|
5312
|
+
* - **Property aliases**: Optionally rename properties in the response
|
|
5313
|
+
* - **Dynamic list**: Add/remove property selections
|
|
5314
|
+
* - **Real-time updates**: Changes immediately update the responseFormat
|
|
5315
|
+
* The component generates a `ResponseFormat` object with the `object` field
|
|
5316
|
+
* containing the selected properties.
|
|
5317
|
+
* @private
|
|
5318
|
+
*/
|
|
5319
|
+
interface LimebbResponseFormatEditor {
|
|
5320
|
+
/**
|
|
5321
|
+
* Component context
|
|
5322
|
+
*/
|
|
5323
|
+
"context"?: LimeWebComponentContext;
|
|
5324
|
+
/**
|
|
5325
|
+
* Optional label
|
|
5326
|
+
*/
|
|
5327
|
+
"label"?: string;
|
|
5328
|
+
/**
|
|
5329
|
+
* The limetype to select properties from
|
|
5330
|
+
*/
|
|
5331
|
+
"limetype"?: string;
|
|
5332
|
+
/**
|
|
5333
|
+
* Emitted when the response format changes
|
|
5334
|
+
*/
|
|
5335
|
+
"onChange"?: (event: LimebbResponseFormatEditorCustomEvent<ResponseFormat>) => void;
|
|
5336
|
+
/**
|
|
5337
|
+
* Platform service provider
|
|
5338
|
+
*/
|
|
5339
|
+
"platform"?: LimeWebComponentPlatform;
|
|
5340
|
+
/**
|
|
5341
|
+
* Current response format
|
|
5342
|
+
*/
|
|
5343
|
+
"value"?: ResponseFormat;
|
|
5344
|
+
}
|
|
5345
|
+
/**
|
|
5346
|
+
* Response Format Property Item Component
|
|
5347
|
+
* Represents a single property selection with optional alias and description
|
|
5348
|
+
* Part of the response format editor
|
|
5349
|
+
* @private
|
|
5350
|
+
*/
|
|
5351
|
+
interface LimebbResponseFormatItem {
|
|
5352
|
+
/**
|
|
5353
|
+
* Component context
|
|
5354
|
+
*/
|
|
5355
|
+
"context"?: LimeWebComponentContext;
|
|
5356
|
+
/**
|
|
5357
|
+
* The property selection item
|
|
5358
|
+
*/
|
|
5359
|
+
"item"?: PropertySelectionItem;
|
|
5360
|
+
/**
|
|
5361
|
+
* The limetype to select properties from
|
|
5362
|
+
*/
|
|
5363
|
+
"limetype"?: string;
|
|
5364
|
+
/**
|
|
5365
|
+
* Emitted when the item changes
|
|
5366
|
+
*/
|
|
5367
|
+
"onItemChange"?: (event: LimebbResponseFormatItemCustomEvent<PropertySelectionItem | null>) => void;
|
|
5368
|
+
/**
|
|
5369
|
+
* Platform service provider
|
|
5370
|
+
*/
|
|
5371
|
+
"platform"?: LimeWebComponentPlatform;
|
|
5372
|
+
}
|
|
4067
5373
|
/**
|
|
4068
5374
|
* This component uses
|
|
4069
5375
|
* [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)
|
|
@@ -4383,7 +5689,14 @@ declare namespace LocalJSX {
|
|
|
4383
5689
|
"limebb-kanban-group": LimebbKanbanGroup;
|
|
4384
5690
|
"limebb-kanban-item": LimebbKanbanItem;
|
|
4385
5691
|
"limebb-lime-query-builder": LimebbLimeQueryBuilder;
|
|
5692
|
+
"limebb-lime-query-filter-and": LimebbLimeQueryFilterAnd;
|
|
5693
|
+
"limebb-lime-query-filter-comparison": LimebbLimeQueryFilterComparison;
|
|
5694
|
+
"limebb-lime-query-filter-expression": LimebbLimeQueryFilterExpression;
|
|
5695
|
+
"limebb-lime-query-filter-not": LimebbLimeQueryFilterNot;
|
|
5696
|
+
"limebb-lime-query-filter-or": LimebbLimeQueryFilterOr;
|
|
5697
|
+
"limebb-lime-query-value-input": LimebbLimeQueryValueInput;
|
|
4386
5698
|
"limebb-limeobject-file-viewer": LimebbLimeobjectFileViewer;
|
|
5699
|
+
"limebb-limetype-field": LimebbLimetypeField;
|
|
4387
5700
|
"limebb-live-docs-info": LimebbLiveDocsInfo;
|
|
4388
5701
|
"limebb-loader": LimebbLoader;
|
|
4389
5702
|
"limebb-locale-picker": LimebbLocalePicker;
|
|
@@ -4393,6 +5706,9 @@ declare namespace LocalJSX {
|
|
|
4393
5706
|
"limebb-notification-item": LimebbNotificationItem;
|
|
4394
5707
|
"limebb-notification-list": LimebbNotificationList;
|
|
4395
5708
|
"limebb-percentage-visualizer": LimebbPercentageVisualizer;
|
|
5709
|
+
"limebb-property-selector": LimebbPropertySelector;
|
|
5710
|
+
"limebb-response-format-editor": LimebbResponseFormatEditor;
|
|
5711
|
+
"limebb-response-format-item": LimebbResponseFormatItem;
|
|
4396
5712
|
"limebb-summary-popover": LimebbSummaryPopover;
|
|
4397
5713
|
"limebb-text-editor": LimebbTextEditor;
|
|
4398
5714
|
"limebb-text-editor-picker": LimebbTextEditorPicker;
|
|
@@ -4675,19 +5991,122 @@ declare module "@stencil/core" {
|
|
|
4675
5991
|
"limebb-kanban-item": LocalJSX.LimebbKanbanItem & JSXBase.HTMLAttributes<HTMLLimebbKanbanItemElement>;
|
|
4676
5992
|
/**
|
|
4677
5993
|
* Lime Query Builder Component
|
|
4678
|
-
* A
|
|
5994
|
+
* A comprehensive query builder for constructing Lime Query DSL queries.
|
|
5995
|
+
* This is the main component that combines limetype selection with the filter builder.
|
|
4679
5996
|
* Features:
|
|
4680
|
-
* - **
|
|
4681
|
-
* - **
|
|
4682
|
-
* - **
|
|
4683
|
-
*
|
|
5997
|
+
* - **Limetype selection**: Choose which object type to query
|
|
5998
|
+
* - **Filter builder**: Build complex filters with AND/OR/NOT logic
|
|
5999
|
+
* - **Property path selection**: Navigate through relations
|
|
6000
|
+
* - **Type-aware inputs**: Automatic input types based on property type
|
|
6001
|
+
* - **Response format**: Select which properties to return
|
|
6002
|
+
* - **Query options**: Configure limit and other query parameters
|
|
6003
|
+
* - **Placeholder support**: Use `%activeObject%` placeholders in filter values
|
|
6004
|
+
* - **Real-time output**: See the Lime Query JSON as you build
|
|
6005
|
+
* The component produces a complete `LimeQuery` object that can be sent
|
|
4684
6006
|
* directly to the Lime CRM backend.
|
|
4685
|
-
*
|
|
4686
|
-
*
|
|
6007
|
+
* **Active Object Placeholders**:
|
|
6008
|
+
* When the `activeLimetype` prop is provided, the component enables validation
|
|
6009
|
+
* and UI support for `%activeObject%` placeholders in filter expressions.
|
|
6010
|
+
* These placeholders reference properties of a contextual "active object"
|
|
6011
|
+
* (e.g., `%activeObject%.company` references the company of the active object).
|
|
4687
6012
|
* @exampleComponent limebb-example-lime-query-builder-basic
|
|
4688
6013
|
* @private
|
|
4689
6014
|
*/
|
|
4690
6015
|
"limebb-lime-query-builder": LocalJSX.LimebbLimeQueryBuilder & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryBuilderElement>;
|
|
6016
|
+
/**
|
|
6017
|
+
* Lime Query Filter AND Component
|
|
6018
|
+
* Renders a group of filter expressions where **all conditions must be true**.
|
|
6019
|
+
* Users can add multiple child expressions, and a record must match all of them
|
|
6020
|
+
* to be included in the result set.
|
|
6021
|
+
* This component displays:
|
|
6022
|
+
* - A header with "All of these conditions are true" when there are multiple conditions
|
|
6023
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
6024
|
+
* - An "Add another condition" button to add more expressions
|
|
6025
|
+
* Clicking the trash icon on a child expression removes it from the AND group.
|
|
6026
|
+
* @private
|
|
6027
|
+
*/
|
|
6028
|
+
"limebb-lime-query-filter-and": LocalJSX.LimebbLimeQueryFilterAnd & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterAndElement>;
|
|
6029
|
+
/**
|
|
6030
|
+
* Lime Query Filter Comparison Component
|
|
6031
|
+
* Renders a single comparison expression with three parts:
|
|
6032
|
+
* 1. **Property** - The field to compare (e.g., "dealstatus", "company.name")
|
|
6033
|
+
* 2. **Operator** - The comparison operator (=, !=, >, <, >=, <=, IN, ?, =?, =$)
|
|
6034
|
+
* 3. **Value** - The value to compare against
|
|
6035
|
+
* This is the most basic building block of a filter. Examples:
|
|
6036
|
+
* - dealstatus = "won"
|
|
6037
|
+
* - value > 100000
|
|
6038
|
+
* - name ? "Big" (contains "Big")
|
|
6039
|
+
* - dealstatus IN ["won", "tender"]
|
|
6040
|
+
* The component displays:
|
|
6041
|
+
* - A text input for the property (Phase 0 - will be replaced with property-path in Phase 1)
|
|
6042
|
+
* - A dropdown for the operator
|
|
6043
|
+
* - A value input (text/number based on operator)
|
|
6044
|
+
* - A trash icon button to remove this condition
|
|
6045
|
+
* @private
|
|
6046
|
+
*/
|
|
6047
|
+
"limebb-lime-query-filter-comparison": LocalJSX.LimebbLimeQueryFilterComparison & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterComparisonElement>;
|
|
6048
|
+
/**
|
|
6049
|
+
* Lime Query Filter Expression Router
|
|
6050
|
+
* This is the main entry point for rendering Lime Query filters.
|
|
6051
|
+
* It routes to the appropriate sub-component based on the filter type:
|
|
6052
|
+
* - `'AND'` → limebb-lime-query-filter-and
|
|
6053
|
+
* - `'OR'` → limebb-lime-query-filter-or
|
|
6054
|
+
* - `'NOT'` → limebb-lime-query-filter-not
|
|
6055
|
+
* - `'comparison'` → limebb-lime-query-filter-comparison
|
|
6056
|
+
* - `''` (missing) → limebb-lime-query-filter-comparison (default)
|
|
6057
|
+
* Use this component when you need to render a complete filter expression
|
|
6058
|
+
* that may contain nested AND/OR/NOT logic.
|
|
6059
|
+
* @private
|
|
6060
|
+
*/
|
|
6061
|
+
"limebb-lime-query-filter-expression": LocalJSX.LimebbLimeQueryFilterExpression & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterExpressionElement>;
|
|
6062
|
+
/**
|
|
6063
|
+
* Lime Query Filter NOT Component
|
|
6064
|
+
* Renders a negated filter expression. This inverts the logic of the child expression,
|
|
6065
|
+
* so records that would normally match will be excluded, and vice versa.
|
|
6066
|
+
* For example:
|
|
6067
|
+
* - NOT (status = "won") → Include all records where status is NOT "won"
|
|
6068
|
+
* - NOT (value > 100000) → Include all records where value is NOT greater than 100000
|
|
6069
|
+
* This component displays:
|
|
6070
|
+
* - A "Not" label
|
|
6071
|
+
* - A single child expression (which can be a comparison or nested AND/OR group)
|
|
6072
|
+
* Clicking the trash icon removes the entire NOT expression.
|
|
6073
|
+
* @private
|
|
6074
|
+
*/
|
|
6075
|
+
"limebb-lime-query-filter-not": LocalJSX.LimebbLimeQueryFilterNot & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterNotElement>;
|
|
6076
|
+
/**
|
|
6077
|
+
* Lime Query Filter OR Component
|
|
6078
|
+
* Renders a group of filter expressions where **at least one condition must be true**.
|
|
6079
|
+
* Users can add multiple alternative expressions, and a record only needs to match
|
|
6080
|
+
* one of them to be included in the result set.
|
|
6081
|
+
* This component displays:
|
|
6082
|
+
* - A header with "Any of these conditions is true" when there are multiple conditions
|
|
6083
|
+
* - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
|
|
6084
|
+
* - An "Add alternative" button to add more options
|
|
6085
|
+
* Clicking the trash icon on a child expression removes it from the OR group.
|
|
6086
|
+
* @private
|
|
6087
|
+
*/
|
|
6088
|
+
"limebb-lime-query-filter-or": LocalJSX.LimebbLimeQueryFilterOr & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterOrElement>;
|
|
6089
|
+
/**
|
|
6090
|
+
* Query Value Input Component
|
|
6091
|
+
* Renders an appropriate input control based on the property type and operator.
|
|
6092
|
+
* This component automatically adapts its UI to match the data type of the selected
|
|
6093
|
+
* property, providing a better user experience and data validation.
|
|
6094
|
+
* Supported input types:
|
|
6095
|
+
* - **String/Text**: Standard text input field
|
|
6096
|
+
* - **Integer/Decimal**: Number input with appropriate step values
|
|
6097
|
+
* - **Date**: Date picker returning ISO date strings
|
|
6098
|
+
* - **Time**: Time input field
|
|
6099
|
+
* - **Boolean (yesno)**: True/False dropdown
|
|
6100
|
+
* - **Option**: Dropdown populated with valid options from property definition
|
|
6101
|
+
* - **IN operator**: Comma-separated input for multiple values (any type)
|
|
6102
|
+
* - **Placeholder mode**: Select properties from active object using %activeObject%
|
|
6103
|
+
* The component handles type conversions automatically:
|
|
6104
|
+
* - Numbers are parsed from string inputs
|
|
6105
|
+
* - Dates are converted to/from ISO strings
|
|
6106
|
+
* - Booleans are converted to/from strings for dropdown compatibility
|
|
6107
|
+
* @private
|
|
6108
|
+
*/
|
|
6109
|
+
"limebb-lime-query-value-input": LocalJSX.LimebbLimeQueryValueInput & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryValueInputElement>;
|
|
4691
6110
|
/**
|
|
4692
6111
|
* Component for displaying the contents of an attached file on a limeobject
|
|
4693
6112
|
* Example use case is to use it as a tab on the document card
|
|
@@ -4697,6 +6116,22 @@ declare module "@stencil/core" {
|
|
|
4697
6116
|
* @beta
|
|
4698
6117
|
*/
|
|
4699
6118
|
"limebb-limeobject-file-viewer": LocalJSX.LimebbLimeobjectFileViewer & JSXBase.HTMLAttributes<HTMLLimebbLimeobjectFileViewerElement>;
|
|
6119
|
+
/**
|
|
6120
|
+
* Limetype Field Component
|
|
6121
|
+
* A dropdown selector for choosing a limetype (object type) from the available
|
|
6122
|
+
* limetypes in the system.
|
|
6123
|
+
* This component:
|
|
6124
|
+
* - Displays all limetypes with their icons and localized names
|
|
6125
|
+
* - Supports restricting to a specific list of limetypes
|
|
6126
|
+
* - Can update dependent property-path fields when selection changes
|
|
6127
|
+
* - Implements the FormComponent interface for use in forms
|
|
6128
|
+
* Common use cases:
|
|
6129
|
+
* - Selecting which object type to query in a lime query builder
|
|
6130
|
+
* - Choosing target limetype for relations
|
|
6131
|
+
* - Configuring limetype-dependent settings
|
|
6132
|
+
* @private
|
|
6133
|
+
*/
|
|
6134
|
+
"limebb-limetype-field": LocalJSX.LimebbLimetypeField & JSXBase.HTMLAttributes<HTMLLimebbLimetypeFieldElement>;
|
|
4700
6135
|
/**
|
|
4701
6136
|
* @private
|
|
4702
6137
|
*/
|
|
@@ -4791,6 +6226,44 @@ declare module "@stencil/core" {
|
|
|
4791
6226
|
* @beta
|
|
4792
6227
|
*/
|
|
4793
6228
|
"limebb-percentage-visualizer": LocalJSX.LimebbPercentageVisualizer & JSXBase.HTMLAttributes<HTMLLimebbPercentageVisualizerElement>;
|
|
6229
|
+
/**
|
|
6230
|
+
* Property Selector Component
|
|
6231
|
+
* A menu-based property selector that allows users to navigate through properties
|
|
6232
|
+
* and relations, only emitting complete property paths (not intermediate relations).
|
|
6233
|
+
* Similar to limec-context-expression but specifically for selecting properties
|
|
6234
|
+
* with dot-notation paths.
|
|
6235
|
+
* Features:
|
|
6236
|
+
* - Menu-based navigation through properties
|
|
6237
|
+
* - Submenu support for drilling into relations
|
|
6238
|
+
* - Internal state management during navigation
|
|
6239
|
+
* - Only emits complete paths (leaf properties)
|
|
6240
|
+
* - Chip-set display showing current path
|
|
6241
|
+
* @private
|
|
6242
|
+
*/
|
|
6243
|
+
"limebb-property-selector": LocalJSX.LimebbPropertySelector & JSXBase.HTMLAttributes<HTMLLimebbPropertySelectorElement>;
|
|
6244
|
+
/**
|
|
6245
|
+
* Response Format Editor Component
|
|
6246
|
+
* Allows users to select which properties should be returned in the query response.
|
|
6247
|
+
* Supports selecting properties on both the main limetype and related limetypes
|
|
6248
|
+
* through belongsto relations.
|
|
6249
|
+
* Features:
|
|
6250
|
+
* - **Property selection**: Choose properties using dropdown navigation
|
|
6251
|
+
* - **Nested properties**: Select properties on related objects (e.g., company.name)
|
|
6252
|
+
* - **Property aliases**: Optionally rename properties in the response
|
|
6253
|
+
* - **Dynamic list**: Add/remove property selections
|
|
6254
|
+
* - **Real-time updates**: Changes immediately update the responseFormat
|
|
6255
|
+
* The component generates a `ResponseFormat` object with the `object` field
|
|
6256
|
+
* containing the selected properties.
|
|
6257
|
+
* @private
|
|
6258
|
+
*/
|
|
6259
|
+
"limebb-response-format-editor": LocalJSX.LimebbResponseFormatEditor & JSXBase.HTMLAttributes<HTMLLimebbResponseFormatEditorElement>;
|
|
6260
|
+
/**
|
|
6261
|
+
* Response Format Property Item Component
|
|
6262
|
+
* Represents a single property selection with optional alias and description
|
|
6263
|
+
* Part of the response format editor
|
|
6264
|
+
* @private
|
|
6265
|
+
*/
|
|
6266
|
+
"limebb-response-format-item": LocalJSX.LimebbResponseFormatItem & JSXBase.HTMLAttributes<HTMLLimebbResponseFormatItemElement>;
|
|
4794
6267
|
/**
|
|
4795
6268
|
* This component uses
|
|
4796
6269
|
* [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)
|