@limetech/lime-crm-building-blocks 1.100.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 +7 -0
- package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
- package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +45 -178
- package/dist/cjs/limebb-lime-query-filter-builder_3.cjs.entry.js +1 -1
- package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +147 -0
- package/dist/cjs/{limebb-lime-query-filter-comparison_5.cjs.entry.js → limebb-lime-query-filter-group_3.cjs.entry.js} +5 -333
- 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 +0 -2
- 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-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-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 +46 -179
- 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 +46 -179
- package/dist/esm/limebb-lime-query-filter-builder_3.entry.js +1 -1
- package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +142 -0
- package/dist/esm/{limebb-lime-query-filter-comparison_5.entry.js → limebb-lime-query-filter-group_3.entry.js} +7 -333
- 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-6d119dab.entry.js → p-323c49bc.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/{p-631ca5a5.entry.js → p-58782467.entry.js} +1 -1
- package/dist/lime-crm-building-blocks/p-6aa216ec.entry.js +1 -0
- 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-value-input.d.ts +2 -3
- package/dist/types/components/lime-query-builder/lime-query.types.d.ts +0 -72
- package/dist/types/components.d.ts +6 -262
- 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-expression.cjs.entry.js +0 -45
- 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-and.js +0 -249
- 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-expression.entry.js +0 -41
- package/dist/esm/limebb-lime-query-filter-or.entry.js +0 -64
- package/dist/lime-crm-building-blocks/p-24aeb928.entry.js +0 -1
- package/dist/lime-crm-building-blocks/p-422f6d51.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/lime-crm-building-blocks/p-b198194a.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
|
@@ -1,107 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h } from './index-96dd111f.js';
|
|
2
2
|
import { Z as Zt, T as Te } from './index.esm-bb569663.js';
|
|
3
|
-
import { a as getPropertyFromPath
|
|
4
|
-
|
|
5
|
-
const limeQueryFilterComparisonCss = ".expression-container{display:flex;flex-direction:row;align-items:flex-start;gap:1rem;flex-wrap:wrap}.expression-container>*{flex-grow:2;width:30%;max-width:calc(100% - 3.25rem)}.expression-container>.operator{flex-grow:1;width:calc(30% + 1rem);min-width:4rem}.expression-container>.remove{flex-grow:0;width:auto;margin-left:auto}@media (max-width: 768px){.expression-container{flex-direction:column}.expression-container>*{width:100%;max-width:100%}.expression-container>.operator{width:100%}.expression-container>.remove{margin-left:0;align-self:flex-end}}";
|
|
6
|
-
const LimebbLimeQueryFilterComparisonStyle0 = limeQueryFilterComparisonCss;
|
|
7
|
-
|
|
8
|
-
const LIME_QUERY_OPERATORS = [
|
|
9
|
-
{ value: Zt.EQUALS, label: 'Equals', icon: 'equals' },
|
|
10
|
-
{ value: Zt.NOT_EQUALS, label: 'Not Equals', icon: 'not-equal' },
|
|
11
|
-
{
|
|
12
|
-
value: Zt.GREATER,
|
|
13
|
-
label: 'Greater Than',
|
|
14
|
-
icon: 'greater-than',
|
|
15
|
-
applicableTypes: ['integer', 'decimal', 'date', 'time'],
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
value: Zt.GREATER_OR_EQUAL,
|
|
19
|
-
label: 'Greater or Equal',
|
|
20
|
-
icon: 'greater-or-equal',
|
|
21
|
-
applicableTypes: ['integer', 'decimal', 'date', 'time'],
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
value: Zt.LESS,
|
|
25
|
-
label: 'Less Than',
|
|
26
|
-
icon: 'less-than',
|
|
27
|
-
applicableTypes: ['integer', 'decimal', 'date', 'time'],
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
value: Zt.LESS_OR_EQUAL,
|
|
31
|
-
label: 'Less or Equal',
|
|
32
|
-
icon: 'less-or-equal',
|
|
33
|
-
applicableTypes: ['integer', 'decimal', 'date', 'time'],
|
|
34
|
-
},
|
|
35
|
-
{ value: Zt.IN, label: 'In List', icon: 'list' },
|
|
36
|
-
{
|
|
37
|
-
value: Zt.LIKE,
|
|
38
|
-
label: 'Contains',
|
|
39
|
-
icon: '-lime-filter-contain',
|
|
40
|
-
applicableTypes: ['string', 'text'],
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
value: Zt.BEGINS,
|
|
44
|
-
label: 'Begins With',
|
|
45
|
-
icon: '-lime-filter-begin',
|
|
46
|
-
applicableTypes: ['string', 'text'],
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
value: Zt.ENDS,
|
|
50
|
-
label: 'Ends With',
|
|
51
|
-
icon: '-lime-filter-end',
|
|
52
|
-
applicableTypes: ['string', 'text'],
|
|
53
|
-
},
|
|
54
|
-
];
|
|
55
|
-
const LimeQueryFilterComparisonComponent = class {
|
|
56
|
-
constructor(hostRef) {
|
|
57
|
-
registerInstance(this, hostRef);
|
|
58
|
-
this.expressionChange = createEvent(this, "expressionChange", 7);
|
|
59
|
-
this.handlePropertyChange = (event) => {
|
|
60
|
-
event.stopPropagation();
|
|
61
|
-
this.expressionChange.emit(Object.assign(Object.assign({}, this.expression), { key: event.detail }));
|
|
62
|
-
};
|
|
63
|
-
this.handleOperatorChange = (event) => {
|
|
64
|
-
event.stopPropagation();
|
|
65
|
-
// TODO: Clear value when switching between IN and other operators
|
|
66
|
-
// since array values are incompatible with single-value operators
|
|
67
|
-
this.expressionChange.emit({
|
|
68
|
-
key: this.expression.key,
|
|
69
|
-
op: event.detail.value,
|
|
70
|
-
exp: this.expression.exp,
|
|
71
|
-
});
|
|
72
|
-
};
|
|
73
|
-
this.handleValueChange = (event) => {
|
|
74
|
-
event.stopPropagation();
|
|
75
|
-
this.expressionChange.emit(Object.assign(Object.assign({}, this.expression), { exp: event.detail }));
|
|
76
|
-
};
|
|
77
|
-
this.removeExpression = () => {
|
|
78
|
-
this.expressionChange.emit(undefined);
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
render() {
|
|
82
|
-
return (h("div", { key: '668e0f05bdb1fb25ffd652ea650c34e5431a3332', class: "expression" }, this.label && h("limel-header", { key: '5034070b58afe31cf90699dd2a27f884e647f540', heading: this.label }), h("div", { key: '14a2b1270e5e6d7e158e29ebc5f61051e5670e80', class: "expression-container" }, this.renderPropertySelector(), this.renderOperator(), this.renderValueInput(), h("limel-icon-button", { key: 'b69bde6e88c40d2623ef015794db28cec3676c73', class: "remove", icon: "trash", label: "Remove condition", onClick: this.removeExpression }))));
|
|
83
|
-
}
|
|
84
|
-
renderPropertySelector() {
|
|
85
|
-
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 }));
|
|
86
|
-
}
|
|
87
|
-
renderOperator() {
|
|
88
|
-
const operatorHasBeenSet = !!this.expression.op;
|
|
89
|
-
const options = LIME_QUERY_OPERATORS.map((op) => ({
|
|
90
|
-
text: op.label,
|
|
91
|
-
value: op.value,
|
|
92
|
-
icon: op.icon ? { name: op.icon } : undefined,
|
|
93
|
-
}));
|
|
94
|
-
const selectedOption = options.find((o) => o.value === this.expression.op);
|
|
95
|
-
return (h("limel-select", { class: "operator", label: "Operator", value: selectedOption, options: options, disabled: !operatorHasBeenSet && !this.expression.key, onChange: this.handleOperatorChange }));
|
|
96
|
-
}
|
|
97
|
-
renderValueInput() {
|
|
98
|
-
if (!this.expression.op) {
|
|
99
|
-
return null;
|
|
100
|
-
}
|
|
101
|
-
return (h("limebb-lime-query-value-input", { platform: this.platform, context: this.context, limetype: this.limetype, activeLimetype: this.activeLimetype, propertyPath: this.expression.key, operator: this.expression.op, value: this.expression.exp, onChange: this.handleValueChange }));
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
LimeQueryFilterComparisonComponent.style = LimebbLimeQueryFilterComparisonStyle0;
|
|
3
|
+
import { a as getPropertyFromPath } from './property-resolution-fde2375e.js';
|
|
105
4
|
|
|
106
5
|
const limeQueryFilterGroupCss = "@charset \"UTF-8\";.expression{display:flex;flex-direction:column;margin-bottom:1rem;gap:0;background-color:rgb(var(--contrast-100));border:1px solid rgb(var(--contrast-500));border-radius:0.75rem}.expression .clickable-header{cursor:pointer;user-select:none}.expression .clickable-header:hover{background-color:rgb(var(--contrast-200))}.expression>ul{margin-top:0;margin-right:1rem;margin-bottom:1rem;margin-left:1rem;padding-left:1rem;list-style:disc}.expression>ul li{margin-top:1rem}.expression>ul li.add-button{list-style:none;display:flex;gap:0.5rem}";
|
|
107
6
|
const LimebbLimeQueryFilterGroupStyle0 = limeQueryFilterGroupCss;
|
|
@@ -177,7 +76,7 @@ const LimeQueryFilterGroupComponent = class {
|
|
|
177
76
|
}
|
|
178
77
|
render() {
|
|
179
78
|
const subheading = this.getSubheading();
|
|
180
|
-
return (h("div", { key: '
|
|
79
|
+
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()))));
|
|
181
80
|
}
|
|
182
81
|
getSubheading() {
|
|
183
82
|
if (this.expression.exp.length <= 1) {
|
|
@@ -234,7 +133,7 @@ const LimeQueryFilterNotComponent = class {
|
|
|
234
133
|
};
|
|
235
134
|
}
|
|
236
135
|
render() {
|
|
237
|
-
return (h("div", { key: '
|
|
136
|
+
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 })));
|
|
238
137
|
}
|
|
239
138
|
};
|
|
240
139
|
LimeQueryFilterNotComponent.style = LimebbLimeQueryFilterNotStyle0;
|
|
@@ -242,7 +141,7 @@ LimeQueryFilterNotComponent.style = LimebbLimeQueryFilterNotStyle0;
|
|
|
242
141
|
const limeQueryValueInputCss = ":host{display:block}.value-input-container{display:flex;flex-direction:row;align-items:flex-start;gap:0.5rem;width:100%}.mode-toggle{flex-shrink:0;margin-top:0.5rem;opacity:0.7;transition:opacity 0.2s ease}.mode-toggle:hover{opacity:1}.placeholder-input{flex-grow:1;display:flex;flex-direction:column;gap:0.5rem}.placeholder-preview{display:flex;align-items:center;gap:0.5rem;padding:0.5rem;background-color:rgba(var(--color-blue-light), 0.1);border-radius:var(--border-radius-small);font-size:0.875rem;color:rgb(var(--color-blue-default));border-left:3px solid rgb(var(--color-blue-default))}.placeholder-preview limel-icon{flex-shrink:0;color:rgb(var(--color-blue-default))}.placeholder-preview span{font-family:var(--font-monospace);word-break:break-all}";
|
|
243
142
|
const LimebbLimeQueryValueInputStyle0 = limeQueryValueInputCss;
|
|
244
143
|
|
|
245
|
-
var __decorate
|
|
144
|
+
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
246
145
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
247
146
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
248
147
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -384,7 +283,7 @@ const LimeQueryValueInput = class {
|
|
|
384
283
|
}
|
|
385
284
|
renderValueInputByType() {
|
|
386
285
|
// Special handling for IN operator - always use chip set for arrays
|
|
387
|
-
if (this.operator ===
|
|
286
|
+
if (this.operator === Zt.IN) {
|
|
388
287
|
return this.renderMultiValueInput();
|
|
389
288
|
}
|
|
390
289
|
const property = this.getProperty();
|
|
@@ -464,234 +363,9 @@ const LimeQueryValueInput = class {
|
|
|
464
363
|
return getPropertyFromPath(this.limetypes, this.limetype, this.propertyPath);
|
|
465
364
|
}
|
|
466
365
|
};
|
|
467
|
-
__decorate
|
|
366
|
+
__decorate([
|
|
468
367
|
Te()
|
|
469
368
|
], LimeQueryValueInput.prototype, "limetypes", void 0);
|
|
470
369
|
LimeQueryValueInput.style = LimebbLimeQueryValueInputStyle0;
|
|
471
370
|
|
|
472
|
-
|
|
473
|
-
const LimebbPropertySelectorStyle0 = propertySelectorCss;
|
|
474
|
-
|
|
475
|
-
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
476
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
477
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
478
|
-
r = Reflect.decorate(decorators, target, key, desc);
|
|
479
|
-
else
|
|
480
|
-
for (var i = decorators.length - 1; i >= 0; i--)
|
|
481
|
-
if (d = decorators[i])
|
|
482
|
-
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
483
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
484
|
-
};
|
|
485
|
-
const PropertySelector = class {
|
|
486
|
-
constructor(hostRef) {
|
|
487
|
-
registerInstance(this, hostRef);
|
|
488
|
-
this.change = createEvent(this, "change", 7);
|
|
489
|
-
/**
|
|
490
|
-
* Label for the input
|
|
491
|
-
*/
|
|
492
|
-
this.label = 'Property';
|
|
493
|
-
/**
|
|
494
|
-
* Whether the field is required
|
|
495
|
-
*/
|
|
496
|
-
this.required = false;
|
|
497
|
-
this.isOpen = false;
|
|
498
|
-
this.navigationPath = '';
|
|
499
|
-
this.menuItems = [];
|
|
500
|
-
this.handleChipSetWrapperClick = (event) => {
|
|
501
|
-
// Stop all clicks on the chip-set from bubbling
|
|
502
|
-
// This prevents the menu from opening when clicking chip remove buttons
|
|
503
|
-
event.stopPropagation();
|
|
504
|
-
};
|
|
505
|
-
this.handleChipSetFocus = () => {
|
|
506
|
-
// Open menu when the chip-set input receives focus
|
|
507
|
-
// This happens when user clicks to type/edit
|
|
508
|
-
if (!this.isOpen) {
|
|
509
|
-
this.navigationPath = this.value || '';
|
|
510
|
-
this.loadMenuItems();
|
|
511
|
-
this.isOpen = true;
|
|
512
|
-
}
|
|
513
|
-
};
|
|
514
|
-
this.handleSelect = (event) => {
|
|
515
|
-
event.stopPropagation();
|
|
516
|
-
const selectedPath = event.detail.value;
|
|
517
|
-
if (!selectedPath) {
|
|
518
|
-
return;
|
|
519
|
-
}
|
|
520
|
-
// Check if this is a complete path (leaf property, not a relation)
|
|
521
|
-
const property = getPropertyFromPath(this.limetypes, this.limetype, selectedPath);
|
|
522
|
-
if (property === null || property === void 0 ? void 0 : property.relation) {
|
|
523
|
-
// This is a relation - update navigation but don't emit
|
|
524
|
-
this.navigationPath = selectedPath;
|
|
525
|
-
}
|
|
526
|
-
else {
|
|
527
|
-
// This is a leaf property - emit and close
|
|
528
|
-
this.change.emit(selectedPath);
|
|
529
|
-
this.isOpen = false;
|
|
530
|
-
this.navigationPath = '';
|
|
531
|
-
}
|
|
532
|
-
};
|
|
533
|
-
this.handleNavigateMenu = (event) => {
|
|
534
|
-
var _a;
|
|
535
|
-
event.stopPropagation();
|
|
536
|
-
if ((_a = event.detail) === null || _a === void 0 ? void 0 : _a.value) {
|
|
537
|
-
// Update navigation path when drilling down
|
|
538
|
-
this.navigationPath = event.detail.value;
|
|
539
|
-
}
|
|
540
|
-
};
|
|
541
|
-
this.handleCancel = () => {
|
|
542
|
-
this.isOpen = false;
|
|
543
|
-
this.navigationPath = '';
|
|
544
|
-
};
|
|
545
|
-
this.handleChipSetChange = (event) => {
|
|
546
|
-
event.stopPropagation();
|
|
547
|
-
const detail = event.detail;
|
|
548
|
-
// Handle both single chip and array of chips
|
|
549
|
-
if (!detail) {
|
|
550
|
-
// Clear all was clicked
|
|
551
|
-
this.change.emit('');
|
|
552
|
-
this.navigationPath = '';
|
|
553
|
-
return;
|
|
554
|
-
}
|
|
555
|
-
// Convert to array if it's a single chip
|
|
556
|
-
const chips = Array.isArray(detail) ? detail : [detail];
|
|
557
|
-
if (chips.length === 0) {
|
|
558
|
-
// All chips removed
|
|
559
|
-
this.change.emit('');
|
|
560
|
-
this.navigationPath = '';
|
|
561
|
-
}
|
|
562
|
-
else {
|
|
563
|
-
// A chip was removed - emit the last remaining chip's value
|
|
564
|
-
const lastChip = chips.at(-1);
|
|
565
|
-
if (lastChip) {
|
|
566
|
-
this.change.emit(lastChip.value);
|
|
567
|
-
}
|
|
568
|
-
this.navigationPath = '';
|
|
569
|
-
}
|
|
570
|
-
};
|
|
571
|
-
}
|
|
572
|
-
render() {
|
|
573
|
-
if (!this.limetype || !this.limetypes) {
|
|
574
|
-
return null;
|
|
575
|
-
}
|
|
576
|
-
const chips = this.getChipsForPath(this.navigationPath || this.value || '');
|
|
577
|
-
return (h("limel-menu", { items: this.menuItems, open: this.isOpen, emptyResultMessage: "No available properties", surfaceWidth: "inherit-from-trigger", openDirection: "bottom-end", onSelect: this.handleSelect, onNavigateMenu: this.handleNavigateMenu, onCancel: this.handleCancel }, h("div", { slot: "trigger" }, h("div", { onClick: this.handleChipSetWrapperClick }, h("limel-chip-set", { type: "input", label: this.label, value: chips, required: this.required, helperText: this.helperText, delimiter: "\u203A", maxItems: 1, onChange: this.handleChipSetChange, onFocus: this.handleChipSetFocus })))));
|
|
578
|
-
}
|
|
579
|
-
loadMenuItems() {
|
|
580
|
-
// Get the limetype we're currently navigating in
|
|
581
|
-
const currentLimetype = this.getCurrentLimetype();
|
|
582
|
-
if (!currentLimetype) {
|
|
583
|
-
this.menuItems = [];
|
|
584
|
-
return;
|
|
585
|
-
}
|
|
586
|
-
this.menuItems = this.createMenuItems(currentLimetype, '');
|
|
587
|
-
}
|
|
588
|
-
getCurrentLimetype() {
|
|
589
|
-
if (!this.navigationPath) {
|
|
590
|
-
return this.limetypes[this.limetype];
|
|
591
|
-
}
|
|
592
|
-
// Get the limetype at the current navigation path
|
|
593
|
-
const property = getPropertyFromPath(this.limetypes, this.limetype, this.navigationPath);
|
|
594
|
-
if (property === null || property === void 0 ? void 0 : property.relation) {
|
|
595
|
-
return property.relation.getLimetype();
|
|
596
|
-
}
|
|
597
|
-
return this.limetypes[this.limetype];
|
|
598
|
-
}
|
|
599
|
-
createMenuItems(limetype, pathPrefix) {
|
|
600
|
-
const results = [];
|
|
601
|
-
if (!limetype) {
|
|
602
|
-
return results;
|
|
603
|
-
}
|
|
604
|
-
const normalizedProperties = getNormalizedProperties(limetype);
|
|
605
|
-
for (const [propName, property] of Object.entries(normalizedProperties)) {
|
|
606
|
-
// Skip hasMany and hasAndBelongsToMany relations
|
|
607
|
-
if (property.type === 'hasmany' ||
|
|
608
|
-
property.type === 'hasandbelongstomany') {
|
|
609
|
-
continue;
|
|
610
|
-
}
|
|
611
|
-
const fullPath = pathPrefix
|
|
612
|
-
? `${pathPrefix}.${propName}`
|
|
613
|
-
: propName;
|
|
614
|
-
const isRelation = !!property.relation;
|
|
615
|
-
let items;
|
|
616
|
-
if (isRelation && property.relation) {
|
|
617
|
-
// Create submenu for relation (only belongsto at this point)
|
|
618
|
-
const relatedLimetype = property.relation.getLimetype();
|
|
619
|
-
if (relatedLimetype) {
|
|
620
|
-
items = async () => this.createMenuItems(relatedLimetype, fullPath);
|
|
621
|
-
}
|
|
622
|
-
}
|
|
623
|
-
results.push({
|
|
624
|
-
text: property.localname || propName,
|
|
625
|
-
secondaryText: this.getSecondaryText(property),
|
|
626
|
-
icon: this.getIconForProperty(property),
|
|
627
|
-
value: fullPath,
|
|
628
|
-
items: items,
|
|
629
|
-
});
|
|
630
|
-
}
|
|
631
|
-
if (results.length === 0) {
|
|
632
|
-
return [
|
|
633
|
-
{
|
|
634
|
-
text: 'No available properties',
|
|
635
|
-
value: '',
|
|
636
|
-
disabled: true,
|
|
637
|
-
},
|
|
638
|
-
];
|
|
639
|
-
}
|
|
640
|
-
return results;
|
|
641
|
-
}
|
|
642
|
-
getSecondaryText(property) {
|
|
643
|
-
var _a;
|
|
644
|
-
if (property.relation) {
|
|
645
|
-
const relatedLimetype = property.relation.getLimetype();
|
|
646
|
-
return ((_a = relatedLimetype === null || relatedLimetype === void 0 ? void 0 : relatedLimetype.localname) === null || _a === void 0 ? void 0 : _a.singular) || 'Object';
|
|
647
|
-
}
|
|
648
|
-
// Return the property type as the secondary text
|
|
649
|
-
return property.type.charAt(0).toUpperCase() + property.type.slice(1);
|
|
650
|
-
}
|
|
651
|
-
getIconForProperty(property) {
|
|
652
|
-
if (property.relation) {
|
|
653
|
-
return {
|
|
654
|
-
name: 'link',
|
|
655
|
-
color: 'rgb(var(--color-sky-default))',
|
|
656
|
-
};
|
|
657
|
-
}
|
|
658
|
-
// Use generic property icon
|
|
659
|
-
return {
|
|
660
|
-
name: 'decision',
|
|
661
|
-
color: 'rgb(var(--color-gray-default))',
|
|
662
|
-
};
|
|
663
|
-
}
|
|
664
|
-
getChipsForPath(path) {
|
|
665
|
-
if (!path) {
|
|
666
|
-
return [];
|
|
667
|
-
}
|
|
668
|
-
const parts = path.split('.');
|
|
669
|
-
const chips = [];
|
|
670
|
-
let currentLimetype = this.limetypes[this.limetype];
|
|
671
|
-
let currentPath = '';
|
|
672
|
-
for (const part of parts) {
|
|
673
|
-
currentPath = currentPath ? `${currentPath}.${part}` : part;
|
|
674
|
-
// Use getNormalizedProperties to include _id and _timestamp
|
|
675
|
-
const normalizedProperties = getNormalizedProperties(currentLimetype);
|
|
676
|
-
const property = normalizedProperties[part];
|
|
677
|
-
if (property) {
|
|
678
|
-
chips.push({
|
|
679
|
-
id: currentPath,
|
|
680
|
-
text: property.localname || part,
|
|
681
|
-
icon: this.getIconForProperty(property),
|
|
682
|
-
value: currentPath,
|
|
683
|
-
});
|
|
684
|
-
if (property.relation) {
|
|
685
|
-
currentLimetype = property.relation.getLimetype();
|
|
686
|
-
}
|
|
687
|
-
}
|
|
688
|
-
}
|
|
689
|
-
return chips;
|
|
690
|
-
}
|
|
691
|
-
};
|
|
692
|
-
__decorate([
|
|
693
|
-
Te()
|
|
694
|
-
], PropertySelector.prototype, "limetypes", void 0);
|
|
695
|
-
PropertySelector.style = LimebbPropertySelectorStyle0;
|
|
696
|
-
|
|
697
|
-
export { LimeQueryFilterComparisonComponent as limebb_lime_query_filter_comparison, LimeQueryFilterGroupComponent as limebb_lime_query_filter_group, LimeQueryFilterNotComponent as limebb_lime_query_filter_not, LimeQueryValueInput as limebb_lime_query_value_input, PropertySelector as limebb_property_selector };
|
|
371
|
+
export { LimeQueryFilterGroupComponent as limebb_lime_query_filter_group, LimeQueryFilterNotComponent as limebb_lime_query_filter_not, LimeQueryValueInput as limebb_lime_query_value_input };
|
|
@@ -9,8 +9,8 @@ const LiveDocsInfo = class {
|
|
|
9
9
|
}
|
|
10
10
|
render() {
|
|
11
11
|
return [
|
|
12
|
-
h("div", { key: '
|
|
13
|
-
h("p", { key: '
|
|
12
|
+
h("div", { key: 'f215884110f6647cf6c0b501d6bec3d0475c7eb5', class: "header" }, h("limel-icon", { key: '483ac1d1166621d9ec91d430b58fe37d720ef740', name: "not_showing_video_frames" }), h("h2", { key: 'c9d8894b11a48ebecb3cac470df3b292e41f7c8e' }, "Viewing this file type requires ", h("em", { key: 'cc8b9bf7005a24ec608e7e14d86fe5047c543251' }, "Live Docs"))),
|
|
13
|
+
h("p", { key: '091075e3ffebbd89142b0466474977e05a6f8086' }, h("em", { key: 'b7393f26c3a1e5737b920389a8dab5ca5d5f591c' }, "Live Docs"), " not only enables you to view many file formats such as Microsoft Office documents, but it also empowers you to edit them right in the CRM. No need to download anything on your device!", h("a", { key: '67f751f807d209c7bf5c752bda39f4e4911b332b', target: "_blank", href: "https://www.lime-technologies.com/en/lime-crm/live-docs/" }, "Learn more")),
|
|
14
14
|
];
|
|
15
15
|
}
|
|
16
16
|
};
|
|
@@ -1129,7 +1129,7 @@ const LocalePicker = class {
|
|
|
1129
1129
|
const value = this.value;
|
|
1130
1130
|
selectedOptions = options.find((option) => option.value === value);
|
|
1131
1131
|
}
|
|
1132
|
-
return (h("limel-select", { key: '
|
|
1132
|
+
return (h("limel-select", { key: 'd8592dd9e39e3dba64e2ee11cd223a66138ef57d', value: selectedOptions, options: sortBy$1(options, 'text'), helperText: this.helperText, label: this.label, required: this.required, disabled: this.disabled, readonly: this.readonly, onChange: this.handleChange, multiple: this.multipleChoice }));
|
|
1133
1133
|
}
|
|
1134
1134
|
};
|
|
1135
1135
|
|
|
@@ -11,8 +11,8 @@ const MentionGroupCounter = class {
|
|
|
11
11
|
render() {
|
|
12
12
|
const label = this.getLabel();
|
|
13
13
|
return [
|
|
14
|
-
h("span", { key: '
|
|
15
|
-
h("limel-tooltip", { key: '
|
|
14
|
+
h("span", { key: '32727487e0750dad1e08b94915af9b33e562ba9d', id: this.tooltipId }, label),
|
|
15
|
+
h("limel-tooltip", { key: 'a9c062dca4f2f46fb187c902de8ecab4993e456d', elementId: this.tooltipId, label: label, helperLabel: this.helperLabel }),
|
|
16
16
|
];
|
|
17
17
|
}
|
|
18
18
|
getLabel() {
|
|
@@ -120,14 +120,14 @@ const SummaryPopover = class {
|
|
|
120
120
|
top: '0.125rem',
|
|
121
121
|
right: '0.125rem',
|
|
122
122
|
};
|
|
123
|
-
return (h("limel-popover", { key: '
|
|
123
|
+
return (h("limel-popover", { key: '2fb3afb6c2a05cfbd4e1991b3204c5b495c20c03', style: {
|
|
124
124
|
'--limebb-summary-popover-timeout': `${this.triggerDelay}ms`,
|
|
125
|
-
}, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("div", { key: '
|
|
125
|
+
}, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("div", { key: 'fbd08fbebaed580db3aaaf3b1bbba4e52605bced', slot: "trigger", tabIndex: 0, onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocus: this.openPopoverWithDelay }, h("slot", { key: 'd16285c72329080ecde42bc6f7c3966f27a66968', name: "trigger" }), h("div", { key: '77c127616635768db8012adf936c56f75d2bccb3', class: "opening-countdown-indicator" })), h("limel-card", { key: '2d3c9a55b1292945422af4783b29d37ea9570fde', style: {
|
|
126
126
|
'max-width': this.popoverMaxWidth,
|
|
127
127
|
'max-height': this.popoverMaxHeight,
|
|
128
128
|
'min-width': '7rem',
|
|
129
129
|
'min-height': '3rem',
|
|
130
|
-
}, orientation: "landscape", heading: this.heading, subheading: this.subheading, icon: this.icon, value: this.value, image: this.image, actions: this.actions, onActionSelected: this.handleSelected }, h("limebb-navigation-button", { key: '
|
|
130
|
+
}, orientation: "landscape", heading: this.heading, subheading: this.subheading, icon: this.icon, value: this.value, image: this.image, actions: this.actions, onActionSelected: this.handleSelected }, h("limebb-navigation-button", { key: '234309cf2f82f6493a5d72944d320a902618c83b', slot: "component", type: "close", style: closeButtonStyle, tooltipLabel: "Close", tooltipHelperLabel: "Esc", onClick: this.handleCloseClick }))));
|
|
131
131
|
}
|
|
132
132
|
};
|
|
133
133
|
SummaryPopover.currentOpenPopover = null;
|
|
@@ -56,7 +56,7 @@ const NotificationListItem = class {
|
|
|
56
56
|
}
|
|
57
57
|
render() {
|
|
58
58
|
var _a, _b;
|
|
59
|
-
return (h(Host, { key: '
|
|
59
|
+
return (h(Host, { key: 'bcbac9d93025efeaf1d6f6cde3ab7632b527b5a0', id: this.item.id, class: {
|
|
60
60
|
'is-clickable': this.isItemClickable(),
|
|
61
61
|
'is-read': !!((_a = this.item) === null || _a === void 0 ? void 0 : _a.read),
|
|
62
62
|
'is-selected': !!((_b = this.item) === null || _b === void 0 ? void 0 : _b.selected),
|
|
@@ -74,11 +74,11 @@ const PercentageVisualizer = class {
|
|
|
74
74
|
render() {
|
|
75
75
|
const normalizedValue = this.getNormalizedValue();
|
|
76
76
|
const zeroPoint = this.getZeroPointPosition();
|
|
77
|
-
return (h(Host, { key: '
|
|
77
|
+
return (h(Host, { key: '85bcdba3b1ba660f32eebcdc0e46dd8652ae9b48', class: this.getContainerClassList(), style: {
|
|
78
78
|
'--limebb-percentage-visualizer-zero-point-position': `${zeroPoint}%`,
|
|
79
79
|
'--limebb-percentage-visualizer-width': `${Math.abs(normalizedValue)}%`,
|
|
80
80
|
'--limebb-percentage-visualizer-rotate': `${normalizedValue >= 0 ? '0deg' : '180deg'}`,
|
|
81
|
-
} }, h("limel-notched-outline", { key: '
|
|
81
|
+
} }, h("limel-notched-outline", { key: 'ef664323cf5a8a6a091394e8dffa291959c9e3f3', tabIndex: 0, role: "meter", "aria-valuemin": this.rangeMin, "aria-valuemax": this.rangeMax, "aria-valuenow": this.numValue, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-controls": this.helperTextId }, h("div", { key: '20b55181865c993677fec5fc86a66ea9cd817cd0', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
|
|
82
82
|
}
|
|
83
83
|
renderVisualization() {
|
|
84
84
|
if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {
|