@limetech/lime-crm-building-blocks 1.99.0 → 1.100.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
- package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +52 -216
- package/dist/cjs/{limebb-limetype-field_2.cjs.entry.js → limebb-lime-query-filter-builder_3.cjs.entry.js} +72 -1
- package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +1 -1
- package/dist/cjs/{limebb-lime-query-filter-group_4.cjs.entry.js → limebb-lime-query-filter-group_3.cjs.entry.js} +5 -231
- package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
- package/dist/cjs/limebb-locale-picker.cjs.entry.js +1 -1
- 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-text-editor.cjs.entry.js +1 -1
- package/dist/cjs/limebb-trend-indicator.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -2
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-builder.css +5 -0
- package/dist/collection/components/lime-query-builder/expressions/{lime-query-filter-and.js → lime-query-filter-builder.js} +59 -83
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +1 -1
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js +1 -1
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +1 -1
- package/dist/collection/components/lime-query-builder/expressions/lime-query-value-input.js +7 -7
- package/dist/collection/components/lime-query-builder/lime-query-builder.js +9 -39
- package/dist/collection/components/lime-query-builder/lime-query-validation.js +46 -19
- package/dist/collection/components/lime-query-builder/lime-query.types.js +1 -57
- package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +1 -1
- 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/lime-query-filter-builder.js +129 -0
- package/dist/components/lime-query-filter-comparison.js +1 -1
- package/dist/components/lime-query-filter-expression.js +2 -2
- package/dist/components/lime-query-value-input.js +2 -2
- package/dist/components/limebb-lime-query-builder.js +60 -218
- package/dist/components/limebb-lime-query-filter-builder.d.ts +11 -0
- package/dist/components/limebb-lime-query-filter-builder.js +6 -0
- package/dist/components/limebb-locale-picker.js +1 -1
- package/dist/components/limebb-mention-group-counter.js +2 -2
- package/dist/components/limebb-percentage-visualizer.js +2 -2
- package/dist/components/limebb-text-editor.js +1 -1
- package/dist/components/limebb-trend-indicator.js +1 -1
- package/dist/components/limetype-field.js +1 -1
- package/dist/components/live-docs-info.js +2 -2
- package/dist/components/notification-item.js +1 -1
- package/dist/components/summary-popover.js +3 -3
- package/dist/esm/lime-crm-building-blocks.js +1 -1
- package/dist/esm/limebb-lime-query-builder.entry.js +53 -217
- package/dist/esm/{limebb-limetype-field_2.entry.js → limebb-lime-query-filter-builder_3.entry.js} +73 -3
- package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +1 -1
- package/dist/esm/{limebb-lime-query-filter-group_4.entry.js → limebb-lime-query-filter-group_3.entry.js} +7 -232
- package/dist/esm/limebb-live-docs-info.entry.js +2 -2
- package/dist/esm/limebb-locale-picker.entry.js +1 -1
- 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-text-editor.entry.js +1 -1
- package/dist/esm/limebb-trend-indicator.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
- package/dist/lime-crm-building-blocks/{p-b9b954d9.entry.js → p-1034b4a5.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-93cadc1e.entry.js → p-2048ac67.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-323c49bc.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-631ca5a5.entry.js → p-58782467.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-aa646df7.entry.js → p-6aa216ec.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-9cac4de2.entry.js → p-76d81eee.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-e8946134.entry.js → p-79b8b09b.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-569c86b5.entry.js → p-8581245a.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-89a6c396.entry.js +1 -0
- package/dist/lime-crm-building-blocks/{p-36ea13c0.entry.js → p-8fb2e192.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-3122ea05.entry.js → p-b57dafef.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-f22b66f6.entry.js +1 -0
- package/dist/lime-crm-building-blocks/p-f79e354b.entry.js +1 -0
- package/dist/types/components/lime-query-builder/expressions/lime-query-filter-builder.d.ts +50 -0
- package/dist/types/components/lime-query-builder/expressions/lime-query-value-input.d.ts +2 -3
- package/dist/types/components/lime-query-builder/lime-query-builder.d.ts +1 -6
- package/dist/types/components/lime-query-builder/lime-query.types.d.ts +0 -72
- package/dist/types/components.d.ts +58 -198
- package/package.json +1 -1
- package/dist/cjs/limebb-lime-query-filter-and.cjs.entry.js +0 -80
- package/dist/cjs/limebb-lime-query-filter-or.cjs.entry.js +0 -68
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-and.css +0 -121
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-or.css +0 -123
- package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-or.js +0 -237
- package/dist/collection/components/lime-query-builder/filter-conversion.js +0 -255
- package/dist/components/limebb-lime-query-filter-and.d.ts +0 -11
- package/dist/components/limebb-lime-query-filter-and.js +0 -135
- package/dist/components/limebb-lime-query-filter-or.d.ts +0 -11
- package/dist/components/limebb-lime-query-filter-or.js +0 -123
- package/dist/esm/limebb-lime-query-filter-and.entry.js +0 -76
- package/dist/esm/limebb-lime-query-filter-or.entry.js +0 -64
- package/dist/lime-crm-building-blocks/p-03accd53.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-4715210d.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-5f7644b5.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-67dbaa4c.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-91732502.entry.js +0 -1
- package/dist/types/components/lime-query-builder/expressions/lime-query-filter-and.d.ts +0 -57
- package/dist/types/components/lime-query-builder/expressions/lime-query-filter-or.d.ts +0 -56
- package/dist/types/components/lime-query-builder/filter-conversion.d.ts +0 -31
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -8,7 +8,7 @@ const appGlobals = require('./app-globals-3a1e7e63.js');
|
|
|
8
8
|
const defineCustomElements = async (win, options) => {
|
|
9
9
|
if (typeof window === 'undefined') return undefined;
|
|
10
10
|
await appGlobals.globalScripts();
|
|
11
|
-
return index.bootstrapLazy(JSON.parse("[[\"limebb-lime-query-builder.cjs\",[[1,\"limebb-lime-query-builder\",{\"platform\":[16],\"context\":[16],\"value\":[16],\"label\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"limetypes\":[32],\"mode\":[32],\"codeValue\":[32],\"limetype\":[32],\"filter\":[32],\"internalResponseFormat\":[32],\"limit\":[32]}]]],[\"limebb-lime-query-filter-and.cjs\",[[1,\"limebb-lime-query-filter-and\",{\"platform\":[16],\"context\":[16],\"label\":[1],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}]]],[\"limebb-lime-query-filter-or.cjs\",[[1,\"limebb-lime-query-filter-or\",{\"platform\":[16],\"context\":[16],\"label\":[1],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}]]],[\"limebb-feed.cjs\",[[1,\"limebb-feed\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"emptyStateMessage\":[1,\"empty-state-message\"],\"heading\":[1],\"loading\":[4],\"minutesOfProximity\":[2,\"minutes-of-proximity\"],\"totalCount\":[2,\"total-count\"],\"direction\":[513],\"lastVisitedTimestamp\":[1,\"last-visited-timestamp\"],\"highlightedItemId\":[8,\"highlighted-item-id\"]},null,{\"highlightedItemId\":[\"highlightedItemIdChanged\"]}]]],[\"limebb-kanban.cjs\",[[1,\"limebb-kanban\",{\"platform\":[16],\"context\":[16],\"groups\":[16]}]]],[\"limebb-chat-list.cjs\",[[1,\"limebb-chat-list\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"loading\":[516],\"isTypingIndicatorVisible\":[516,\"is-typing-indicator-visible\"],\"lastVisitedTimestamp\":[513,\"last-visited-timestamp\"],\"order\":[513]},null,{\"items\":[\"handleItemsChange\"]}]]],[\"limebb-limeobject-file-viewer.cjs\",[[1,\"limebb-limeobject-file-viewer\",{\"platform\":[16],\"context\":[16],\"property\":[1],\"fileTypes\":[16],\"limeobject\":[32],\"limetype\":[32]}]]],[\"limebb-text-editor.cjs\",[[1,\"limebb-text-editor\",{\"platform\":[16],\"context\":[16],\"allowMentioning\":[4,\"allow-mentioning\"],\"contentType\":[1,\"content-type\"],\"language\":[513],\"disabled\":[516],\"readonly\":[516],\"helperText\":[513,\"helper-text\"],\"placeholder\":[513],\"label\":[513],\"invalid\":[516],\"required\":[516],\"selectedContext\":[16],\"ui\":[513],\"allowResize\":[4,\"allow-resize\"],\"value\":[1],\"draftIdentifier\":[1,\"draft-identifier\"],\"triggerMap\":[16],\"customElements\":[16],\"allowInlineImages\":[4,\"allow-inline-images\"],\"items\":[32],\"highlightedItemIndex\":[32],\"editorPickerQuery\":[32],\"searchableLimetypes\":[32],\"isPickerOpen\":[32],\"isSearching\":[32]},null,{\"isPickerOpen\":[\"watchOpen\"],\"editorPickerQuery\":[\"watchQuery\"]}]]],[\"limebb-date-range.cjs\",[[1,\"limebb-date-range\",{\"platform\":[16],\"context\":[16],\"startTime\":[16],\"endTime\":[16],\"startTimeLabel\":[1,\"start-time-label\"],\"endTimeLabel\":[1,\"end-time-label\"],\"language\":[1],\"timeFormat\":[1,\"time-format\"],\"type\":[1]}]]],[\"limebb-document-picker.cjs\",[[1,\"limebb-document-picker\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"invalid\":[516],\"required\":[516],\"type\":[513]}]]],[\"limebb-info-tile-currency-format.cjs\",[[1,\"limebb-info-tile-currency-format\",{\"platform\":[16],\"context\":[16],\"value\":[16]}]]],[\"limebb-notification-list.cjs\",[[1,\"limebb-notification-list\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"loading\":[4],\"lastVisitedTimestamp\":[1,\"last-visited-timestamp\"]},null,{\"items\":[\"handleItemsChange\"]}]]],[\"limebb-browser.cjs\",[[17,\"limebb-browser\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"layout\":[1],\"filter\":[32]}]]],[\"limebb-component-config.cjs\",[[1,\"limebb-component-config\",{\"platform\":[16],\"context\":[16],\"value\":[16],\"required\":[4],\"readonly\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"],\"formInfo\":[16],\"type\":[1],\"nameField\":[1,\"name-field\"],\"configComponent\":[32],\"configViewType\":[32]},null,{\"formInfo\":[\"watchFormInfo\"],\"configComponent\":[\"watchconfigComponent\"]}]]],[\"limebb-component-picker.cjs\",[[1,\"limebb-component-picker\",{\"platform\":[16],\"context\":[16],\"type\":[1],\"tags\":[16],\"value\":[1],\"copyLabel\":[1,\"copy-label\"],\"hideCopyButton\":[4,\"hide-copy-button\"],\"required\":[4],\"readonly\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"]}]]],[\"limebb-dashboard-widget.cjs\",[[1,\"limebb-dashboard-widget\",{\"heading\":[513],\"subheading\":[513],\"supportingText\":[513,\"supporting-text\"],\"icon\":[513]}]]],[\"limebb-icon-picker.cjs\",[[1,\"limebb-icon-picker\",{\"value\":[1],\"required\":[4],\"readonly\":[4],\"invalid\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"]}]]],[\"limebb-info-tile.cjs\",[[1,\"limebb-info-tile\",{\"platform\":[16],\"context\":[16],\"filterId\":[513,\"filter-id\"],\"disabled\":[4],\"icon\":[513],\"label\":[1],\"prefix\":[1],\"suffix\":[1],\"propertyName\":[1,\"property-name\"],\"aggregateOperator\":[1,\"aggregate-operator\"],\"format\":[16],\"config\":[32],\"filters\":[32],\"value\":[32],\"loading\":[32],\"error\":[32]},null,{\"filterId\":[\"watchFilterId\"],\"propertyName\":[\"watchPropertyName\"],\"aggregateOperator\":[\"watchAggregateOperator\"]}]]],[\"limebb-info-tile-date-format.cjs\",[[1,\"limebb-info-tile-date-format\",{\"value\":[16]}]]],[\"limebb-info-tile-decimal-format.cjs\",[[1,\"limebb-info-tile-decimal-format\",{\"value\":[16]}]]],[\"limebb-info-tile-format.cjs\",[[1,\"limebb-info-tile-format\",{\"platform\":[16],\"context\":[16],\"type\":[1],\"value\":[16]}]]],[\"limebb-info-tile-relative-date-format.cjs\",[[1,\"limebb-info-tile-relative-date-format\",{\"value\":[16]}]]],[\"limebb-info-tile-unit-format.cjs\",[[1,\"limebb-info-tile-unit-format\",{\"value\":[16]}]]],[\"limebb-loader.cjs\",[[1,\"limebb-loader\",{\"platform\":[16],\"context\":[16]}]]],[\"limebb-locale-picker.cjs\",[[1,\"limebb-locale-picker\",{\"platform\":[16],\"context\":[16],\"value\":[1],\"required\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"],\"readonly\":[4],\"multipleChoice\":[4,\"multiple-choice\"],\"allLanguages\":[32]}]]],[\"limebb-mention.cjs\",[[1,\"limebb-mention\",{\"limetype\":[1],\"objectid\":[2],\"limeobject\":[32]}]]],[\"limebb-mention-group-counter.cjs\",[[1,\"limebb-mention-group-counter\",{\"count\":[2],\"limetype\":[16],\"helperLabel\":[1,\"helper-label\"]}]]],[\"limebb-percentage-visualizer.cjs\",[[1,\"limebb-percentage-visualizer\",{\"platform\":[16],\"context\":[16],\"value\":[520],\"rangeMax\":[514,\"range-max\"],\"rangeMin\":[514,\"range-min\"],\"multiplier\":[514],\"label\":[513],\"invalid\":[516],\"required\":[516],\"helperText\":[513,\"helper-text\"],\"reducePresence\":[516,\"reduce-presence\"],\"displayPercentageColors\":[516,\"display-percentage-colors\"]},null,{\"value\":[\"valueChanged\"]}]]],[\"limebb-trend-indicator.cjs\",[[1,\"limebb-trend-indicator\",{\"platform\":[16],\"context\":[16],\"value\":[520],\"formerValue\":[514,\"former-value\"],\"suffix\":[513],\"label\":[513],\"invalid\":[516],\"required\":[516],\"helperText\":[513,\"helper-text\"],\"reducePresence\":[516,\"reduce-presence\"]},null,{\"value\":[\"valueChanged\"]}]]],[\"limebb-feed-item-thumbnail-file-info.cjs\",[[1,\"limebb-feed-item-thumbnail-file-info\",{\"description\":[1]}]]],[\"limebb-feed-timeline-item.cjs\",[[1,\"limebb-feed-timeline-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"ui\":[513],\"helperText\":[1,\"helper-text\"],\"hasError\":[516,\"has-error\"],\"isBundled\":[516,\"is-bundled\"],\"headingCanExpand\":[32],\"isHeadingExpanded\":[32],\"showMore\":[32],\"isTall\":[32]}]]],[\"limebb-kanban-group.cjs\",[[1,\"limebb-kanban-group\",{\"platform\":[16],\"context\":[16],\"identifier\":[1],\"heading\":[513],\"help\":[1],\"items\":[16],\"summary\":[1],\"loading\":[516],\"totalCount\":[514,\"total-count\"]}]]],[\"limebb-empty-state.cjs\",[[1,\"limebb-empty-state\",{\"heading\":[513],\"value\":[513],\"icon\":[16]}]]],[\"limebb-text-editor-picker.cjs\",[[1,\"limebb-text-editor-picker\",{\"items\":[16],\"open\":[516],\"isSearching\":[4,\"is-searching\"],\"emptyMessage\":[1,\"empty-message\"]},null,{\"open\":[\"watchOpen\"]}]]],[\"limebb-currency-picker.cjs\",[[1,\"limebb-currency-picker\",{\"platform\":[16],\"context\":[16],\"label\":[513],\"currencies\":[16],\"helperText\":[513,\"helper-text\"],\"required\":[516],\"readonly\":[516],\"invalid\":[516],\"disabled\":[516],\"value\":[1]}]]],[\"limebb-date-picker.cjs\",[[1,\"limebb-date-picker\",{\"platform\":[16],\"context\":[16],\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"label\":[513],\"placeholder\":[513],\"helperText\":[513,\"helper-text\"],\"required\":[516],\"value\":[1],\"type\":[513]}]]],[\"limebb-document-item.cjs\",[[17,\"limebb-document-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"type\":[513]}]]],[\"limebb-live-docs-info.cjs\",[[1,\"limebb-live-docs-info\"]]],[\"limebb-notification-item.cjs\",[[1,\"limebb-notification-item\",{\"platform\":[16],\"context\":[16],\"item\":[16]}]]],[\"limebb-limetype-field_2.cjs\",[[1,\"limebb-response-format-editor\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[16],\"label\":[1],\"items\":[32]}],[0,\"limebb-limetype-field\",{\"platform\":[16],\"context\":[16],\"label\":[513],\"required\":[516],\"readonly\":[516],\"disabled\":[516],\"value\":[513],\"helperText\":[513,\"helper-text\"],\"invalid\":[4],\"limetypes\":[16],\"propertyFields\":[16],\"fieldName\":[1,\"field-name\"],\"formInfo\":[16]}]]],[\"limebb-kanban-item.cjs\",[[1,\"limebb-kanban-item\",{\"platform\":[16],\"context\":[16],\"item\":[16]}]]],[\"limebb-lime-query-filter-group_4.cjs\",[[1,\"limebb-lime-query-value-input\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"propertyPath\":[1,\"property-path\"],\"operator\":[1],\"value\":[8],\"label\":[1],\"limetypes\":[32],\"inputMode\":[32]}],[1,\"limebb-lime-query-filter-group\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}],[1,\"limebb-lime-query-filter-not\",{\"platform\":[16],\"context\":[16],\"label\":[1],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}],[1,\"limebb-property-selector\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[1],\"label\":[1],\"required\":[4],\"helperText\":[1,\"helper-text\"],\"limetypes\":[32],\"isOpen\":[32],\"navigationPath\":[32]}]]],[\"limebb-response-format-item.cjs\",[[1,\"limebb-response-format-item\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"item\":[16],\"showAliasInput\":[32],\"showDescriptionInput\":[32]}]]],[\"limebb-chat-item_2.cjs\",[[1,\"limebb-chat-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"helperText\":[1,\"helper-text\"],\"hasError\":[516,\"has-error\"]}],[1,\"limebb-typing-indicator\"]]],[\"limebb-navigation-button_2.cjs\",[[1,\"limebb-summary-popover\",{\"triggerDelay\":[514,\"trigger-delay\"],\"heading\":[513],\"subheading\":[513],\"image\":[16],\"icon\":[513],\"value\":[1],\"openDirection\":[513,\"open-direction\"],\"popoverMaxWidth\":[513,\"popover-max-width\"],\"popoverMaxHeight\":[513,\"popover-max-height\"],\"actions\":[16],\"isPopoverOpen\":[32]}],[17,\"limebb-navigation-button\",{\"href\":[513],\"tooltipLabel\":[513,\"tooltip-label\"],\"tooltipHelperLabel\":[513,\"tooltip-helper-label\"],\"type\":[513]}]]],[\"limebb-lime-query-filter-comparison_2.cjs\",[[1,\"limebb-lime-query-filter-expression\",{\"platform\":[16],\"context\":[16],\"label\":[1],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}],[1,\"limebb-lime-query-filter-comparison\",{\"platform\":[16],\"context\":[16],\"label\":[1],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}]]]]"), options);
|
|
11
|
+
return index.bootstrapLazy(JSON.parse("[[\"limebb-lime-query-builder.cjs\",[[1,\"limebb-lime-query-builder\",{\"platform\":[16],\"context\":[16],\"value\":[16],\"label\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"limetypes\":[32],\"mode\":[32],\"codeValue\":[32],\"limetype\":[32],\"filter\":[32],\"internalResponseFormat\":[32],\"limit\":[32]}]]],[\"limebb-feed.cjs\",[[1,\"limebb-feed\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"emptyStateMessage\":[1,\"empty-state-message\"],\"heading\":[1],\"loading\":[4],\"minutesOfProximity\":[2,\"minutes-of-proximity\"],\"totalCount\":[2,\"total-count\"],\"direction\":[513],\"lastVisitedTimestamp\":[1,\"last-visited-timestamp\"],\"highlightedItemId\":[8,\"highlighted-item-id\"]},null,{\"highlightedItemId\":[\"highlightedItemIdChanged\"]}]]],[\"limebb-kanban.cjs\",[[1,\"limebb-kanban\",{\"platform\":[16],\"context\":[16],\"groups\":[16]}]]],[\"limebb-chat-list.cjs\",[[1,\"limebb-chat-list\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"loading\":[516],\"isTypingIndicatorVisible\":[516,\"is-typing-indicator-visible\"],\"lastVisitedTimestamp\":[513,\"last-visited-timestamp\"],\"order\":[513]},null,{\"items\":[\"handleItemsChange\"]}]]],[\"limebb-limeobject-file-viewer.cjs\",[[1,\"limebb-limeobject-file-viewer\",{\"platform\":[16],\"context\":[16],\"property\":[1],\"fileTypes\":[16],\"limeobject\":[32],\"limetype\":[32]}]]],[\"limebb-text-editor.cjs\",[[1,\"limebb-text-editor\",{\"platform\":[16],\"context\":[16],\"allowMentioning\":[4,\"allow-mentioning\"],\"contentType\":[1,\"content-type\"],\"language\":[513],\"disabled\":[516],\"readonly\":[516],\"helperText\":[513,\"helper-text\"],\"placeholder\":[513],\"label\":[513],\"invalid\":[516],\"required\":[516],\"selectedContext\":[16],\"ui\":[513],\"allowResize\":[4,\"allow-resize\"],\"value\":[1],\"draftIdentifier\":[1,\"draft-identifier\"],\"triggerMap\":[16],\"customElements\":[16],\"allowInlineImages\":[4,\"allow-inline-images\"],\"items\":[32],\"highlightedItemIndex\":[32],\"editorPickerQuery\":[32],\"searchableLimetypes\":[32],\"isPickerOpen\":[32],\"isSearching\":[32]},null,{\"isPickerOpen\":[\"watchOpen\"],\"editorPickerQuery\":[\"watchQuery\"]}]]],[\"limebb-date-range.cjs\",[[1,\"limebb-date-range\",{\"platform\":[16],\"context\":[16],\"startTime\":[16],\"endTime\":[16],\"startTimeLabel\":[1,\"start-time-label\"],\"endTimeLabel\":[1,\"end-time-label\"],\"language\":[1],\"timeFormat\":[1,\"time-format\"],\"type\":[1]}]]],[\"limebb-document-picker.cjs\",[[1,\"limebb-document-picker\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"invalid\":[516],\"required\":[516],\"type\":[513]}]]],[\"limebb-info-tile-currency-format.cjs\",[[1,\"limebb-info-tile-currency-format\",{\"platform\":[16],\"context\":[16],\"value\":[16]}]]],[\"limebb-notification-list.cjs\",[[1,\"limebb-notification-list\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"loading\":[4],\"lastVisitedTimestamp\":[1,\"last-visited-timestamp\"]},null,{\"items\":[\"handleItemsChange\"]}]]],[\"limebb-browser.cjs\",[[17,\"limebb-browser\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"layout\":[1],\"filter\":[32]}]]],[\"limebb-component-config.cjs\",[[1,\"limebb-component-config\",{\"platform\":[16],\"context\":[16],\"value\":[16],\"required\":[4],\"readonly\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"],\"formInfo\":[16],\"type\":[1],\"nameField\":[1,\"name-field\"],\"configComponent\":[32],\"configViewType\":[32]},null,{\"formInfo\":[\"watchFormInfo\"],\"configComponent\":[\"watchconfigComponent\"]}]]],[\"limebb-component-picker.cjs\",[[1,\"limebb-component-picker\",{\"platform\":[16],\"context\":[16],\"type\":[1],\"tags\":[16],\"value\":[1],\"copyLabel\":[1,\"copy-label\"],\"hideCopyButton\":[4,\"hide-copy-button\"],\"required\":[4],\"readonly\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"]}]]],[\"limebb-dashboard-widget.cjs\",[[1,\"limebb-dashboard-widget\",{\"heading\":[513],\"subheading\":[513],\"supportingText\":[513,\"supporting-text\"],\"icon\":[513]}]]],[\"limebb-icon-picker.cjs\",[[1,\"limebb-icon-picker\",{\"value\":[1],\"required\":[4],\"readonly\":[4],\"invalid\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"]}]]],[\"limebb-info-tile.cjs\",[[1,\"limebb-info-tile\",{\"platform\":[16],\"context\":[16],\"filterId\":[513,\"filter-id\"],\"disabled\":[4],\"icon\":[513],\"label\":[1],\"prefix\":[1],\"suffix\":[1],\"propertyName\":[1,\"property-name\"],\"aggregateOperator\":[1,\"aggregate-operator\"],\"format\":[16],\"config\":[32],\"filters\":[32],\"value\":[32],\"loading\":[32],\"error\":[32]},null,{\"filterId\":[\"watchFilterId\"],\"propertyName\":[\"watchPropertyName\"],\"aggregateOperator\":[\"watchAggregateOperator\"]}]]],[\"limebb-info-tile-date-format.cjs\",[[1,\"limebb-info-tile-date-format\",{\"value\":[16]}]]],[\"limebb-info-tile-decimal-format.cjs\",[[1,\"limebb-info-tile-decimal-format\",{\"value\":[16]}]]],[\"limebb-info-tile-format.cjs\",[[1,\"limebb-info-tile-format\",{\"platform\":[16],\"context\":[16],\"type\":[1],\"value\":[16]}]]],[\"limebb-info-tile-relative-date-format.cjs\",[[1,\"limebb-info-tile-relative-date-format\",{\"value\":[16]}]]],[\"limebb-info-tile-unit-format.cjs\",[[1,\"limebb-info-tile-unit-format\",{\"value\":[16]}]]],[\"limebb-loader.cjs\",[[1,\"limebb-loader\",{\"platform\":[16],\"context\":[16]}]]],[\"limebb-locale-picker.cjs\",[[1,\"limebb-locale-picker\",{\"platform\":[16],\"context\":[16],\"value\":[1],\"required\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"],\"readonly\":[4],\"multipleChoice\":[4,\"multiple-choice\"],\"allLanguages\":[32]}]]],[\"limebb-mention.cjs\",[[1,\"limebb-mention\",{\"limetype\":[1],\"objectid\":[2],\"limeobject\":[32]}]]],[\"limebb-mention-group-counter.cjs\",[[1,\"limebb-mention-group-counter\",{\"count\":[2],\"limetype\":[16],\"helperLabel\":[1,\"helper-label\"]}]]],[\"limebb-percentage-visualizer.cjs\",[[1,\"limebb-percentage-visualizer\",{\"platform\":[16],\"context\":[16],\"value\":[520],\"rangeMax\":[514,\"range-max\"],\"rangeMin\":[514,\"range-min\"],\"multiplier\":[514],\"label\":[513],\"invalid\":[516],\"required\":[516],\"helperText\":[513,\"helper-text\"],\"reducePresence\":[516,\"reduce-presence\"],\"displayPercentageColors\":[516,\"display-percentage-colors\"]},null,{\"value\":[\"valueChanged\"]}]]],[\"limebb-trend-indicator.cjs\",[[1,\"limebb-trend-indicator\",{\"platform\":[16],\"context\":[16],\"value\":[520],\"formerValue\":[514,\"former-value\"],\"suffix\":[513],\"label\":[513],\"invalid\":[516],\"required\":[516],\"helperText\":[513,\"helper-text\"],\"reducePresence\":[516,\"reduce-presence\"]},null,{\"value\":[\"valueChanged\"]}]]],[\"limebb-feed-timeline-item.cjs\",[[1,\"limebb-feed-timeline-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"ui\":[513],\"helperText\":[1,\"helper-text\"],\"hasError\":[516,\"has-error\"],\"isBundled\":[516,\"is-bundled\"],\"headingCanExpand\":[32],\"isHeadingExpanded\":[32],\"showMore\":[32],\"isTall\":[32]}]]],[\"limebb-kanban-group.cjs\",[[1,\"limebb-kanban-group\",{\"platform\":[16],\"context\":[16],\"identifier\":[1],\"heading\":[513],\"help\":[1],\"items\":[16],\"summary\":[1],\"loading\":[516],\"totalCount\":[514,\"total-count\"]}]]],[\"limebb-text-editor-picker.cjs\",[[1,\"limebb-text-editor-picker\",{\"items\":[16],\"open\":[516],\"isSearching\":[4,\"is-searching\"],\"emptyMessage\":[1,\"empty-message\"]},null,{\"open\":[\"watchOpen\"]}]]],[\"limebb-currency-picker.cjs\",[[1,\"limebb-currency-picker\",{\"platform\":[16],\"context\":[16],\"label\":[513],\"currencies\":[16],\"helperText\":[513,\"helper-text\"],\"required\":[516],\"readonly\":[516],\"invalid\":[516],\"disabled\":[516],\"value\":[1]}]]],[\"limebb-date-picker.cjs\",[[1,\"limebb-date-picker\",{\"platform\":[16],\"context\":[16],\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"label\":[513],\"placeholder\":[513],\"helperText\":[513,\"helper-text\"],\"required\":[516],\"value\":[1],\"type\":[513]}]]],[\"limebb-document-item.cjs\",[[17,\"limebb-document-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"type\":[513]}]]],[\"limebb-live-docs-info.cjs\",[[1,\"limebb-live-docs-info\"]]],[\"limebb-notification-item.cjs\",[[1,\"limebb-notification-item\",{\"platform\":[16],\"context\":[16],\"item\":[16]}]]],[\"limebb-kanban-item.cjs\",[[1,\"limebb-kanban-item\",{\"platform\":[16],\"context\":[16],\"item\":[16]}]]],[\"limebb-property-selector.cjs\",[[1,\"limebb-property-selector\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[1],\"label\":[1],\"required\":[4],\"helperText\":[1,\"helper-text\"],\"limetypes\":[32],\"isOpen\":[32],\"navigationPath\":[32]}]]],[\"limebb-response-format-item.cjs\",[[1,\"limebb-response-format-item\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"item\":[16],\"showAliasInput\":[32],\"showDescriptionInput\":[32]}]]],[\"limebb-chat-item_2.cjs\",[[1,\"limebb-chat-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"helperText\":[1,\"helper-text\"],\"hasError\":[516,\"has-error\"]}],[1,\"limebb-typing-indicator\"]]],[\"limebb-feed-item-thumbnail-file-info.cjs\",[[1,\"limebb-feed-item-thumbnail-file-info\",{\"description\":[1]}]]],[\"limebb-lime-query-filter-group_3.cjs\",[[1,\"limebb-lime-query-value-input\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"propertyPath\":[1,\"property-path\"],\"operator\":[1],\"value\":[8],\"label\":[1],\"limetypes\":[32],\"inputMode\":[32]}],[1,\"limebb-lime-query-filter-group\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}],[1,\"limebb-lime-query-filter-not\",{\"platform\":[16],\"context\":[16],\"label\":[1],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}]]],[\"limebb-lime-query-filter-comparison_2.cjs\",[[1,\"limebb-lime-query-filter-expression\",{\"platform\":[16],\"context\":[16],\"label\":[1],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}],[1,\"limebb-lime-query-filter-comparison\",{\"platform\":[16],\"context\":[16],\"label\":[1],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}]]],[\"limebb-lime-query-filter-builder_3.cjs\",[[1,\"limebb-lime-query-filter-builder\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}],[1,\"limebb-response-format-editor\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[16],\"label\":[1],\"items\":[32]}],[0,\"limebb-limetype-field\",{\"platform\":[16],\"context\":[16],\"label\":[513],\"required\":[516],\"readonly\":[516],\"disabled\":[516],\"value\":[513],\"helperText\":[513,\"helper-text\"],\"invalid\":[4],\"limetypes\":[16],\"propertyFields\":[16],\"fieldName\":[1,\"field-name\"],\"formInfo\":[16]}]]],[\"limebb-empty-state.cjs\",[[1,\"limebb-empty-state\",{\"heading\":[513],\"value\":[513],\"icon\":[16]}]]],[\"limebb-navigation-button_2.cjs\",[[1,\"limebb-summary-popover\",{\"triggerDelay\":[514,\"trigger-delay\"],\"heading\":[513],\"subheading\":[513],\"image\":[16],\"icon\":[513],\"value\":[1],\"openDirection\":[513,\"open-direction\"],\"popoverMaxWidth\":[513,\"popover-max-width\"],\"popoverMaxHeight\":[513,\"popover-max-height\"],\"actions\":[16],\"isPopoverOpen\":[32]}],[17,\"limebb-navigation-button\",{\"href\":[513],\"tooltipLabel\":[513,\"tooltip-label\"],\"tooltipHelperLabel\":[513,\"tooltip-helper-label\"],\"type\":[513]}]]]]"), options);
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
exports.setNonce = index.setNonce;
|
|
@@ -30,12 +30,11 @@
|
|
|
30
30
|
"components/lime-query-builder/lime-query-builder.js",
|
|
31
31
|
"components/lime-query-builder/response-format-editor.js",
|
|
32
32
|
"components/lime-query-builder/response-format-item.js",
|
|
33
|
-
"components/lime-query-builder/expressions/lime-query-filter-
|
|
33
|
+
"components/lime-query-builder/expressions/lime-query-filter-builder.js",
|
|
34
34
|
"components/lime-query-builder/expressions/lime-query-filter-comparison.js",
|
|
35
35
|
"components/lime-query-builder/expressions/lime-query-filter-expression.js",
|
|
36
36
|
"components/lime-query-builder/expressions/lime-query-filter-group.js",
|
|
37
37
|
"components/lime-query-builder/expressions/lime-query-filter-not.js",
|
|
38
|
-
"components/lime-query-builder/expressions/lime-query-filter-or.js",
|
|
39
38
|
"components/lime-query-builder/expressions/lime-query-value-input.js",
|
|
40
39
|
"components/lime-query-builder/limetype-field/limetype-field.js",
|
|
41
40
|
"components/lime-query-builder/property-selector/property-selector.js",
|
|
@@ -1,28 +1,37 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
import { Operator, } from "@limetech/lime-web-components";
|
|
3
3
|
/**
|
|
4
|
-
* Lime Query Filter
|
|
4
|
+
* Lime Query Filter Builder
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Entry component for building Lime Query filter expressions.
|
|
7
|
+
* This component wraps the expression router and adds promotion logic
|
|
8
|
+
* for handling Add buttons and expression structure.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* - An "Add another condition" button to add more expressions
|
|
14
|
-
*
|
|
15
|
-
* Clicking the trash icon on a child expression removes it from the AND group.
|
|
10
|
+
* Unlike the expression router (which is pure routing), this component
|
|
11
|
+
* contains business logic for promoting expressions and managing the
|
|
12
|
+
* filter structure.
|
|
16
13
|
*
|
|
17
14
|
* @private
|
|
18
15
|
*/
|
|
19
|
-
export class
|
|
16
|
+
export class LimeQueryFilterBuilderComponent {
|
|
20
17
|
constructor() {
|
|
21
|
-
this.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
op: Operator.
|
|
18
|
+
this.handleAddFirstCondition = () => {
|
|
19
|
+
const newExpression = {
|
|
20
|
+
key: '',
|
|
21
|
+
op: Operator.EQUALS,
|
|
22
|
+
exp: '',
|
|
23
|
+
};
|
|
24
|
+
this.expressionChange.emit(newExpression);
|
|
25
|
+
};
|
|
26
|
+
this.handlePromoteAndAdd = () => {
|
|
27
|
+
if (!this.expression) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
// Wrap current expression in AND and add a new comparison
|
|
31
|
+
const newExpression = {
|
|
32
|
+
op: Operator.AND,
|
|
25
33
|
exp: [
|
|
34
|
+
this.expression,
|
|
26
35
|
{
|
|
27
36
|
key: '',
|
|
28
37
|
op: Operator.EQUALS,
|
|
@@ -30,66 +39,52 @@ export class LimeQueryFilterAndComponent {
|
|
|
30
39
|
},
|
|
31
40
|
],
|
|
32
41
|
};
|
|
33
|
-
|
|
34
|
-
...this.expression.exp,
|
|
35
|
-
newOrGroup,
|
|
36
|
-
];
|
|
37
|
-
this.expressionChange.emit({
|
|
38
|
-
op: Operator.AND,
|
|
39
|
-
exp: updatedExpressionsList,
|
|
40
|
-
});
|
|
42
|
+
this.expressionChange.emit(newExpression);
|
|
41
43
|
};
|
|
42
|
-
this.handleExpressionChange = (
|
|
44
|
+
this.handleExpressionChange = (event) => {
|
|
43
45
|
var _a;
|
|
44
46
|
event.stopPropagation();
|
|
45
|
-
|
|
46
|
-
const expressions = [...this.expression.exp];
|
|
47
|
-
if (updatedExpression === undefined) {
|
|
48
|
-
expressions.splice(updatedChildIndex, 1);
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
expressions[updatedChildIndex] = updatedExpression;
|
|
52
|
-
}
|
|
53
|
-
if (expressions.length === 0) {
|
|
54
|
-
this.expressionChange.emit(undefined);
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
if (expressions.length === 1) {
|
|
58
|
-
this.expressionChange.emit(expressions[0]);
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
this.expressionChange.emit({
|
|
62
|
-
op: Operator.AND,
|
|
63
|
-
exp: expressions,
|
|
64
|
-
});
|
|
47
|
+
this.expressionChange.emit((_a = event.detail) !== null && _a !== void 0 ? _a : undefined);
|
|
65
48
|
};
|
|
66
49
|
}
|
|
67
50
|
render() {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
subheading = '';
|
|
51
|
+
if (!this.expression) {
|
|
52
|
+
return this.renderEmptyState();
|
|
71
53
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
54
|
+
// Check if we need to show promotion UI (comparison or NOT)
|
|
55
|
+
if (this.needsPromotion()) {
|
|
56
|
+
return this.renderWithPromotionButton();
|
|
57
|
+
}
|
|
58
|
+
// AND/OR groups handle their own Add buttons
|
|
59
|
+
return (h("limebb-lime-query-filter-expression", { platform: this.platform, context: this.context, limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression, onExpressionChange: this.handleExpressionChange }));
|
|
76
60
|
}
|
|
77
|
-
|
|
78
|
-
if (this.expression
|
|
79
|
-
return
|
|
61
|
+
needsPromotion() {
|
|
62
|
+
if (!this.expression) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
// Basic comparison needs promotion
|
|
66
|
+
if ('key' in this.expression) {
|
|
67
|
+
return true;
|
|
80
68
|
}
|
|
81
|
-
|
|
69
|
+
// NOT needs promotion
|
|
70
|
+
return this.expression.op === Operator.NOT;
|
|
71
|
+
}
|
|
72
|
+
renderEmptyState() {
|
|
73
|
+
return (h("limel-button", { label: "Add a condition", icon: "plus_math", onClick: this.handleAddFirstCondition }));
|
|
82
74
|
}
|
|
83
|
-
|
|
75
|
+
renderWithPromotionButton() {
|
|
76
|
+
return (h("div", { class: "expression-with-promotion" }, h("limebb-lime-query-filter-expression", { platform: this.platform, context: this.context, limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression, onExpressionChange: this.handleExpressionChange }), h("limel-button", { label: "Add another condition", icon: "plus_math", onClick: this.handlePromoteAndAdd })));
|
|
77
|
+
}
|
|
78
|
+
static get is() { return "limebb-lime-query-filter-builder"; }
|
|
84
79
|
static get encapsulation() { return "shadow"; }
|
|
85
80
|
static get originalStyleUrls() {
|
|
86
81
|
return {
|
|
87
|
-
"$": ["lime-query-filter-
|
|
82
|
+
"$": ["lime-query-filter-builder.scss"]
|
|
88
83
|
};
|
|
89
84
|
}
|
|
90
85
|
static get styleUrls() {
|
|
91
86
|
return {
|
|
92
|
-
"$": ["lime-query-filter-
|
|
87
|
+
"$": ["lime-query-filter-builder.css"]
|
|
93
88
|
};
|
|
94
89
|
}
|
|
95
90
|
static get properties() {
|
|
@@ -140,25 +135,6 @@ export class LimeQueryFilterAndComponent {
|
|
|
140
135
|
"getter": false,
|
|
141
136
|
"setter": false
|
|
142
137
|
},
|
|
143
|
-
"label": {
|
|
144
|
-
"type": "string",
|
|
145
|
-
"mutable": false,
|
|
146
|
-
"complexType": {
|
|
147
|
-
"original": "string",
|
|
148
|
-
"resolved": "string",
|
|
149
|
-
"references": {}
|
|
150
|
-
},
|
|
151
|
-
"required": false,
|
|
152
|
-
"optional": false,
|
|
153
|
-
"docs": {
|
|
154
|
-
"tags": [],
|
|
155
|
-
"text": "Optional label for the AND group"
|
|
156
|
-
},
|
|
157
|
-
"getter": false,
|
|
158
|
-
"setter": false,
|
|
159
|
-
"attribute": "label",
|
|
160
|
-
"reflect": false
|
|
161
|
-
},
|
|
162
138
|
"limetype": {
|
|
163
139
|
"type": "string",
|
|
164
140
|
"mutable": false,
|
|
@@ -201,13 +177,13 @@ export class LimeQueryFilterAndComponent {
|
|
|
201
177
|
"type": "unknown",
|
|
202
178
|
"mutable": false,
|
|
203
179
|
"complexType": {
|
|
204
|
-
"original": "
|
|
205
|
-
"resolved": "{ op: Operator.AND | Operator.OR; exp: Expression[]; }",
|
|
180
|
+
"original": "Expression | undefined",
|
|
181
|
+
"resolved": "undefined | { key: string; op: BasicOperator; exp: ExpressionValue; } | { key: string; op: Operator.IN; exp: ExpressionValue[]; } | { op: Operator.AND | Operator.OR; exp: Expression[]; } | { op: Operator.NOT; exp: Expression; } | { type: \"filter\"; key: string; op: Operator.IN; exp: string; }",
|
|
206
182
|
"references": {
|
|
207
|
-
"
|
|
183
|
+
"Expression": {
|
|
208
184
|
"location": "import",
|
|
209
185
|
"path": "@limetech/lime-web-components",
|
|
210
|
-
"id": "node_modules::
|
|
186
|
+
"id": "node_modules::Expression"
|
|
211
187
|
}
|
|
212
188
|
}
|
|
213
189
|
},
|
|
@@ -215,7 +191,7 @@ export class LimeQueryFilterAndComponent {
|
|
|
215
191
|
"optional": false,
|
|
216
192
|
"docs": {
|
|
217
193
|
"tags": [],
|
|
218
|
-
"text": "The
|
|
194
|
+
"text": "The filter expression to build"
|
|
219
195
|
},
|
|
220
196
|
"getter": false,
|
|
221
197
|
"setter": false
|
|
@@ -231,7 +207,7 @@ export class LimeQueryFilterAndComponent {
|
|
|
231
207
|
"composed": true,
|
|
232
208
|
"docs": {
|
|
233
209
|
"tags": [],
|
|
234
|
-
"text": "Emitted when the
|
|
210
|
+
"text": "Emitted when the filter expression changes\nEmits undefined when expression should be removed"
|
|
235
211
|
},
|
|
236
212
|
"complexType": {
|
|
237
213
|
"original": "Expression | undefined",
|
package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js
CHANGED
|
@@ -94,7 +94,7 @@ export class LimeQueryFilterComparisonComponent {
|
|
|
94
94
|
};
|
|
95
95
|
}
|
|
96
96
|
render() {
|
|
97
|
-
return (h("div", { key: '
|
|
97
|
+
return (h("div", { key: 'a077c982ced9840beec3e574cd3e2e336cff6071', class: "expression" }, this.label && h("limel-header", { key: 'fbcb5cf515aac2c8e68d29947c7560684f30822c', heading: this.label }), h("div", { key: 'ffea426ea1295ae11aaa3c910f835acbeed24cd9', class: "expression-container" }, this.renderPropertySelector(), this.renderOperator(), this.renderValueInput(), h("limel-icon-button", { key: '20064f9fe42a4dfa71b2e1e2d393d50bbe20e2cb', class: "remove", icon: "trash", label: "Remove condition", onClick: this.removeExpression }))));
|
|
98
98
|
}
|
|
99
99
|
renderPropertySelector() {
|
|
100
100
|
return (h("limebb-property-selector", { platform: this.platform, context: this.context, label: "Property", limetype: this.limetype, value: this.expression.key, required: true, onChange: this.handlePropertyChange }));
|
package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js
CHANGED
|
@@ -87,7 +87,7 @@ export class LimeQueryFilterGroupComponent {
|
|
|
87
87
|
}
|
|
88
88
|
render() {
|
|
89
89
|
const subheading = this.getSubheading();
|
|
90
|
-
return (h("div", { key: '
|
|
90
|
+
return (h("div", { key: '0ed5a1403d9641926cd6d474910cedf9c7bba89e', class: "expression" }, subheading && (h("limel-header", { key: 'ea88a97df09f0fb5a21bf9afb4745256a611c7f8', subheading: subheading, onClick: this.handleToggleOperator, class: "clickable-header" })), h("ul", { key: 'cfbcdd539e84f79bf1d778e075cd3317d7409647' }, this.expression.exp.map(this.renderChildExpression), h("li", { key: 'ec443459245bf5852920bb4d3e341f2490a7b75b', class: "add-button" }, this.renderAddButton(), this.renderAddGroupButton()))));
|
|
91
91
|
}
|
|
92
92
|
getSubheading() {
|
|
93
93
|
if (this.expression.exp.length <= 1) {
|
|
@@ -35,7 +35,7 @@ export class LimeQueryFilterNotComponent {
|
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
render() {
|
|
38
|
-
return (h("div", { key: '
|
|
38
|
+
return (h("div", { key: '9ab4a6b1e99668a0bcee3e3ba8cbbbe5185222e0', class: "expression" }, this.label && h("limel-header", { key: '85e997b0f96db306dd7a4433da959a74303aacfa', heading: this.label }), h("limebb-lime-query-filter-expression", { key: '14f634e125ee78f2aa70c7537b270a31699ba7c2', platform: this.platform, context: this.context, label: "Not", limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression.exp, onExpressionChange: this.handleExpressionChange })));
|
|
39
39
|
}
|
|
40
40
|
static get is() { return "limebb-lime-query-filter-not"; }
|
|
41
41
|
static get encapsulation() { return "shadow"; }
|
|
@@ -9,7 +9,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
9
9
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
10
10
|
};
|
|
11
11
|
import { h } from "@stencil/core";
|
|
12
|
-
import { SelectLimeTypes as Limetypes, } from "@limetech/lime-web-components";
|
|
12
|
+
import { Operator, SelectLimeTypes as Limetypes, } from "@limetech/lime-web-components";
|
|
13
13
|
import { getPropertyFromPath } from "../property-resolution";
|
|
14
14
|
/**
|
|
15
15
|
* Query Value Input Component
|
|
@@ -165,7 +165,7 @@ export class LimeQueryValueInput {
|
|
|
165
165
|
}
|
|
166
166
|
renderValueInputByType() {
|
|
167
167
|
// Special handling for IN operator - always use chip set for arrays
|
|
168
|
-
if (this.operator ===
|
|
168
|
+
if (this.operator === Operator.IN) {
|
|
169
169
|
return this.renderMultiValueInput();
|
|
170
170
|
}
|
|
171
171
|
const property = this.getProperty();
|
|
@@ -365,13 +365,13 @@ export class LimeQueryValueInput {
|
|
|
365
365
|
"type": "string",
|
|
366
366
|
"mutable": false,
|
|
367
367
|
"complexType": {
|
|
368
|
-
"original": "
|
|
369
|
-
"resolved": "
|
|
368
|
+
"original": "Operator",
|
|
369
|
+
"resolved": "Operator.AND | Operator.BEGINS | Operator.ENDS | Operator.EQUALS | Operator.GREATER | Operator.GREATER_OR_EQUAL | Operator.IN | Operator.LESS | Operator.LESS_OR_EQUAL | Operator.LIKE | Operator.NOT | Operator.NOT_EQUALS | Operator.OR",
|
|
370
370
|
"references": {
|
|
371
|
-
"
|
|
371
|
+
"Operator": {
|
|
372
372
|
"location": "import",
|
|
373
|
-
"path": "
|
|
374
|
-
"id": "
|
|
373
|
+
"path": "@limetech/lime-web-components",
|
|
374
|
+
"id": "node_modules::Operator"
|
|
375
375
|
}
|
|
376
376
|
}
|
|
377
377
|
},
|
|
@@ -9,7 +9,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
9
9
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
10
10
|
};
|
|
11
11
|
import { h } from "@stencil/core";
|
|
12
|
-
import {
|
|
12
|
+
import { SelectLimeTypes as Limetypes, } from "@limetech/lime-web-components";
|
|
13
13
|
import { isLimeQuerySupported, } from "./lime-query-validation";
|
|
14
14
|
/**
|
|
15
15
|
* Lime Query Builder Component
|
|
@@ -37,6 +37,7 @@ import { isLimeQuerySupported, } from "./lime-query-validation";
|
|
|
37
37
|
* (e.g., `%activeObject%.company` references the company of the active object).
|
|
38
38
|
*
|
|
39
39
|
* @exampleComponent limebb-example-lime-query-builder-basic
|
|
40
|
+
* @exampleComponent limebb-example-lime-query-builder-with-active-limetype
|
|
40
41
|
* @private
|
|
41
42
|
*/
|
|
42
43
|
export class LimeQueryBuilder {
|
|
@@ -44,18 +45,11 @@ export class LimeQueryBuilder {
|
|
|
44
45
|
this.mode = 'gui';
|
|
45
46
|
this.codeValue = '';
|
|
46
47
|
this.limetype = '';
|
|
47
|
-
this.filter = {
|
|
48
|
-
op: Operator.AND,
|
|
49
|
-
exp: [],
|
|
50
|
-
};
|
|
51
48
|
this.handleLimetypeChange = (event) => {
|
|
52
49
|
event.stopPropagation();
|
|
53
50
|
this.limetype = event.detail;
|
|
54
51
|
// Reset filter when limetype changes
|
|
55
|
-
this.filter =
|
|
56
|
-
op: Operator.AND,
|
|
57
|
-
exp: [],
|
|
58
|
-
};
|
|
52
|
+
this.filter = undefined;
|
|
59
53
|
// Reset response format when limetype changes
|
|
60
54
|
this.internalResponseFormat = {
|
|
61
55
|
object: {
|
|
@@ -65,17 +59,9 @@ export class LimeQueryBuilder {
|
|
|
65
59
|
this.emitChange();
|
|
66
60
|
};
|
|
67
61
|
this.handleFilterChange = (event) => {
|
|
62
|
+
var _a;
|
|
68
63
|
event.stopPropagation();
|
|
69
|
-
|
|
70
|
-
if (expression === undefined) {
|
|
71
|
-
this.filter = {
|
|
72
|
-
op: Operator.AND,
|
|
73
|
-
exp: [],
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
this.filter = expression;
|
|
78
|
-
}
|
|
64
|
+
this.filter = (_a = event.detail) !== null && _a !== void 0 ? _a : undefined;
|
|
79
65
|
this.emitChange();
|
|
80
66
|
};
|
|
81
67
|
this.handleResponseFormatChange = (event) => {
|
|
@@ -101,7 +87,7 @@ export class LimeQueryBuilder {
|
|
|
101
87
|
}
|
|
102
88
|
// Update internal state from parsed query
|
|
103
89
|
this.limetype = parsed.limetype || '';
|
|
104
|
-
this.filter =
|
|
90
|
+
this.filter = parsed.filter;
|
|
105
91
|
this.internalResponseFormat = parsed.responseFormat;
|
|
106
92
|
this.limit = parsed.limit;
|
|
107
93
|
this.mode = 'gui';
|
|
@@ -142,7 +128,7 @@ export class LimeQueryBuilder {
|
|
|
142
128
|
}
|
|
143
129
|
if (this.value) {
|
|
144
130
|
this.limetype = this.value.limetype || '';
|
|
145
|
-
this.filter = this.
|
|
131
|
+
this.filter = this.value.filter;
|
|
146
132
|
this.internalResponseFormat = this.value.responseFormat;
|
|
147
133
|
this.limit = this.value.limit;
|
|
148
134
|
}
|
|
@@ -157,26 +143,10 @@ export class LimeQueryBuilder {
|
|
|
157
143
|
render() {
|
|
158
144
|
const guiSupported = this.checkGuiSupport();
|
|
159
145
|
const showCodeMode = !this.guiModeEnabled || this.mode === 'code';
|
|
160
|
-
return (h("div", { key: '
|
|
146
|
+
return (h("div", { key: '0b4d2bb5b4d503a775d8d3215e1e4c74fdb1eceb', class: "lime-query-builder" }, this.renderLabel(), this.renderModeControls(guiSupported), showCodeMode
|
|
161
147
|
? this.renderCodeMode(guiSupported)
|
|
162
148
|
: this.renderGuiMode()));
|
|
163
149
|
}
|
|
164
|
-
/**
|
|
165
|
-
* Normalize filter to ensure top-level is an AND group.
|
|
166
|
-
* This ensures Add buttons are available in the UI.
|
|
167
|
-
* @param filter
|
|
168
|
-
*/
|
|
169
|
-
normalizeFilter(filter) {
|
|
170
|
-
if (!filter) {
|
|
171
|
-
return { op: Operator.AND, exp: [] };
|
|
172
|
-
}
|
|
173
|
-
// If it's already an AND at the top level, keep it
|
|
174
|
-
if ('op' in filter && filter.op === Operator.AND) {
|
|
175
|
-
return filter;
|
|
176
|
-
}
|
|
177
|
-
// Otherwise wrap in AND
|
|
178
|
-
return { op: Operator.AND, exp: [filter] };
|
|
179
|
-
}
|
|
180
150
|
emitChange() {
|
|
181
151
|
// Only emit in GUI mode
|
|
182
152
|
if (this.mode === 'code') {
|
|
@@ -298,7 +268,7 @@ export class LimeQueryBuilder {
|
|
|
298
268
|
if (!this.limetype) {
|
|
299
269
|
return;
|
|
300
270
|
}
|
|
301
|
-
return (h("div", { class: "filter-section" }, h("h4", { class: "section-label" }, "Filter Conditions"), h("limebb-lime-query-filter-
|
|
271
|
+
return (h("div", { class: "filter-section" }, h("h4", { class: "section-label" }, "Filter Conditions"), h("limebb-lime-query-filter-builder", { platform: this.platform, context: this.context, limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.filter, onExpressionChange: this.handleFilterChange })));
|
|
302
272
|
}
|
|
303
273
|
renderQueryOptionsSection() {
|
|
304
274
|
var _a;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { Operator } from "@limetech/lime-web-components";
|
|
1
2
|
import { getNormalizedProperties } from "./property-resolution";
|
|
2
|
-
import { limeQueryToGuiFilter } from "./filter-conversion";
|
|
3
3
|
import { getPropertyFromPath } from "./property-resolution";
|
|
4
4
|
/**
|
|
5
5
|
* Dynamic filter values and placeholders that are valid in Lime Query
|
|
@@ -248,6 +248,49 @@ export function validatePropertySelection(selection, limetypes, limetype, guiMod
|
|
|
248
248
|
}
|
|
249
249
|
return allGuiLimitations;
|
|
250
250
|
}
|
|
251
|
+
/**
|
|
252
|
+
* Validate a comparison expression (has 'key' property)
|
|
253
|
+
* @param filter
|
|
254
|
+
* @param activeLimetype
|
|
255
|
+
* @param limetypes
|
|
256
|
+
*/
|
|
257
|
+
function validateComparisonExpression(filter, activeLimetype, limetypes) {
|
|
258
|
+
// Validate operator
|
|
259
|
+
const allValidOperators = Object.values(Operator);
|
|
260
|
+
if (!allValidOperators.includes(filter.op)) {
|
|
261
|
+
throw new Error(`Unsupported filter operator: ${filter.op}`);
|
|
262
|
+
}
|
|
263
|
+
// Validate placeholder
|
|
264
|
+
const result = validatePlaceholder(filter.exp, activeLimetype, limetypes);
|
|
265
|
+
if (!result.valid) {
|
|
266
|
+
throw new Error(`Invalid placeholder in filter '${filter.key}': ${result.error}`);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Validate a group expression (AND/OR/NOT)
|
|
271
|
+
* @param filter
|
|
272
|
+
* @param activeLimetype
|
|
273
|
+
* @param limetypes
|
|
274
|
+
* @param guiModeEnabled
|
|
275
|
+
*/
|
|
276
|
+
function validateGroupExpression(filter, activeLimetype, limetypes, guiModeEnabled) {
|
|
277
|
+
// Validate operator
|
|
278
|
+
if (filter.op !== Operator.AND &&
|
|
279
|
+
filter.op !== Operator.OR &&
|
|
280
|
+
filter.op !== Operator.NOT) {
|
|
281
|
+
throw new Error(`Unsupported group operator: ${filter.op}`);
|
|
282
|
+
}
|
|
283
|
+
// Recursively validate children
|
|
284
|
+
if (filter.op === Operator.NOT) {
|
|
285
|
+
validateFilterPlaceholders(filter.exp, activeLimetype, limetypes, guiModeEnabled);
|
|
286
|
+
}
|
|
287
|
+
else if (filter.op === Operator.AND || filter.op === Operator.OR) {
|
|
288
|
+
const expressions = filter.exp;
|
|
289
|
+
for (const expr of expressions) {
|
|
290
|
+
validateFilterPlaceholders(expr, activeLimetype, limetypes, guiModeEnabled);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
251
294
|
/**
|
|
252
295
|
* Validate placeholders in a filter expression
|
|
253
296
|
* @param filter Filter expression to validate
|
|
@@ -259,27 +302,12 @@ function validateFilterPlaceholders(filter, activeLimetype, limetypes, guiModeEn
|
|
|
259
302
|
if (!filter) {
|
|
260
303
|
return;
|
|
261
304
|
}
|
|
262
|
-
// Check if it's a FilterExpression (has 'key' property)
|
|
263
305
|
if ('key' in filter) {
|
|
264
|
-
|
|
265
|
-
if (!result.valid) {
|
|
266
|
-
throw new Error(`Invalid placeholder in filter '${filter.key}': ${result.error}`);
|
|
267
|
-
}
|
|
306
|
+
validateComparisonExpression(filter, activeLimetype, limetypes);
|
|
268
307
|
return;
|
|
269
308
|
}
|
|
270
|
-
// It's a FilterGroup - recursively validate children
|
|
271
309
|
if ('exp' in filter) {
|
|
272
|
-
|
|
273
|
-
// NOT has a single expression
|
|
274
|
-
validateFilterPlaceholders(filter.exp, activeLimetype, limetypes, guiModeEnabled);
|
|
275
|
-
}
|
|
276
|
-
else if (filter.op === 'AND' || filter.op === 'OR') {
|
|
277
|
-
// AND/OR have array of expressions
|
|
278
|
-
const expressions = filter.exp;
|
|
279
|
-
for (const expr of expressions) {
|
|
280
|
-
validateFilterPlaceholders(expr, activeLimetype, limetypes, guiModeEnabled);
|
|
281
|
-
}
|
|
282
|
-
}
|
|
310
|
+
validateGroupExpression(filter, activeLimetype, limetypes, guiModeEnabled);
|
|
283
311
|
}
|
|
284
312
|
}
|
|
285
313
|
/**
|
|
@@ -293,7 +321,6 @@ function validateFilterPlaceholders(filter, activeLimetype, limetypes, guiModeEn
|
|
|
293
321
|
function validateLimeQueryFilterInternal(filter, activeLimetype, limetypes, guiModeEnabled) {
|
|
294
322
|
const errors = [];
|
|
295
323
|
try {
|
|
296
|
-
limeQueryToGuiFilter(filter);
|
|
297
324
|
validateFilterPlaceholders(filter, activeLimetype, limetypes, guiModeEnabled);
|
|
298
325
|
}
|
|
299
326
|
catch (error) {
|