@acorex/components 21.0.1-next.52 → 21.0.1-next.53
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/fesm2022/acorex-components-button-group.mjs +24 -13
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +0 -1
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +1 -1
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +71 -24
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/package.json +3 -3
- package/types/acorex-components-button-group.d.ts +8 -8
- package/types/acorex-components-scheduler.d.ts +29 -14
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import { MXInteractiveComponent,
|
|
1
|
+
import { MXInteractiveComponent, AXComponent } from '@acorex/cdk/common';
|
|
2
2
|
import { AXButtonComponent } from '@acorex/components/button';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { input, effect, EventEmitter, contentChildren, output, HostListener, HostBinding, Input, Output, ViewEncapsulation, ChangeDetectionStrategy, Component, inject, model, NgModule } from '@angular/core';
|
|
5
|
-
import { classes } from 'polytype';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* A component that groups multiple buttons together, allowing for consistent styling and behavior.
|
|
9
8
|
*
|
|
10
9
|
* @category Components
|
|
11
10
|
*/
|
|
12
|
-
class AXButtonGroupComponent extends
|
|
11
|
+
class AXButtonGroupComponent extends MXInteractiveComponent {
|
|
13
12
|
constructor() {
|
|
14
13
|
super(...arguments);
|
|
15
14
|
this.fitParent = input(false, ...(ngDevMode ? [{ debugName: "fitParent" }] : []));
|
|
15
|
+
this.color = 'default';
|
|
16
|
+
this.look = 'solid';
|
|
16
17
|
this.customClass = input('', { ...(ngDevMode ? { debugName: "customClass" } : {}), alias: 'class' });
|
|
17
18
|
this.#effect = effect(() => {
|
|
18
19
|
if (this._contentButtons().length) {
|
|
@@ -161,12 +162,16 @@ class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLook
|
|
|
161
162
|
}
|
|
162
163
|
}
|
|
163
164
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXButtonGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
164
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.3", type: AXButtonGroupComponent, isStandalone: true, selector: "ax-button-group", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null },
|
|
165
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.3", type: AXButtonGroupComponent, isStandalone: true, selector: "ax-button-group", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, fitParent: { classPropertyName: "fitParent", publicName: "fitParent", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, customClass: { classPropertyName: "customClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onBlur: "onBlur", onFocus: "onFocus", lookChange: "lookChange", colorChange: "colorChange", disabledChange: "disabledChange", onClick: "onClick", selectionChange: "selectionChange", selectedButtonChange: "selectedButtonChange" }, host: { listeners: { "click": "__hostClick($event)" }, properties: { "class": "this.__hostClass", "attr.role": "this.role" } }, providers: [{ provide: AXComponent, useExisting: AXButtonGroupComponent }], queries: [{ propertyName: "_contentButtons", predicate: AXButtonGroupItemComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <ng-content select=\"ax-button-group-item\"></ng-content>\n</ng-container>\n", styles: ["@layer components{ax-button-group{flex-wrap:wrap;display:flex}ax-button-group ax-button-group-item{min-width:calc(var(--spacing,.25rem) * 0)}ax-button-group ax-button-group-item ax-button{display:block}ax-button-group ax-button-group-item ax-button>button .ax-button-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}ax-button-group ax-button-group-item.ax-state-selected ax-button{z-index:1}ax-button-group ax-button-group-item:not(:first-child,:last-child) ax-button{border-radius:0}ax-button-group ax-button-group-item:not(:first-child) ax-button{margin-inline-start:-1px}ax-button-group ax-button-group-item.ax-row-start ax-button{margin-inline-start:calc(var(--spacing,.25rem) * 0)}:is(ax-button-group ax-button-group-item:first-child,ax-button-group ax-button-group-item.ax-row-start) ax-button{border-radius:0;border-start-start-radius:var(--radius-lg,.5rem);border-end-start-radius:var(--radius-lg,.5rem)}:is(ax-button-group ax-button-group-item:last-child,ax-button-group ax-button-group-item.ax-row-end) ax-button{border-radius:0;border-start-end-radius:var(--radius-lg,.5rem);border-end-end-radius:var(--radius-lg,.5rem)}ax-button-group.ax-parent-fit{flex-wrap:wrap}ax-button-group.ax-parent-fit ax-button-group-item,ax-button-group.ax-parent-fit ax-button-group-item ax-button{width:100%}}\n/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
165
166
|
}
|
|
166
167
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXButtonGroupComponent, decorators: [{
|
|
167
168
|
type: Component,
|
|
168
|
-
args: [{ selector: 'ax-button-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['disabled'
|
|
169
|
-
}], propDecorators: { fitParent: [{ type: i0.Input, args: [{ isSignal: true, alias: "fitParent", required: false }] }],
|
|
169
|
+
args: [{ selector: 'ax-button-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['disabled'], outputs: ['onBlur', 'onFocus', 'lookChange', 'colorChange', 'disabledChange'], providers: [{ provide: AXComponent, useExisting: AXButtonGroupComponent }], template: "<ng-container>\n <ng-content select=\"ax-button-group-item\"></ng-content>\n</ng-container>\n", styles: ["@layer components{ax-button-group{flex-wrap:wrap;display:flex}ax-button-group ax-button-group-item{min-width:calc(var(--spacing,.25rem) * 0)}ax-button-group ax-button-group-item ax-button{display:block}ax-button-group ax-button-group-item ax-button>button .ax-button-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}ax-button-group ax-button-group-item.ax-state-selected ax-button{z-index:1}ax-button-group ax-button-group-item:not(:first-child,:last-child) ax-button{border-radius:0}ax-button-group ax-button-group-item:not(:first-child) ax-button{margin-inline-start:-1px}ax-button-group ax-button-group-item.ax-row-start ax-button{margin-inline-start:calc(var(--spacing,.25rem) * 0)}:is(ax-button-group ax-button-group-item:first-child,ax-button-group ax-button-group-item.ax-row-start) ax-button{border-radius:0;border-start-start-radius:var(--radius-lg,.5rem);border-end-start-radius:var(--radius-lg,.5rem)}:is(ax-button-group ax-button-group-item:last-child,ax-button-group ax-button-group-item.ax-row-end) ax-button{border-radius:0;border-start-end-radius:var(--radius-lg,.5rem);border-end-end-radius:var(--radius-lg,.5rem)}ax-button-group.ax-parent-fit{flex-wrap:wrap}ax-button-group.ax-parent-fit ax-button-group-item,ax-button-group.ax-parent-fit ax-button-group-item ax-button{width:100%}}\n/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */\n"] }]
|
|
170
|
+
}], propDecorators: { fitParent: [{ type: i0.Input, args: [{ isSignal: true, alias: "fitParent", required: false }] }], color: [{
|
|
171
|
+
type: Input
|
|
172
|
+
}], look: [{
|
|
173
|
+
type: Input
|
|
174
|
+
}], customClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], onClick: [{
|
|
170
175
|
type: Output
|
|
171
176
|
}], _contentButtons: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => AXButtonGroupItemComponent), { ...{ descendants: true }, isSignal: true }] }], selectionChange: [{
|
|
172
177
|
type: Output
|
|
@@ -188,10 +193,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
188
193
|
*
|
|
189
194
|
* @category Components
|
|
190
195
|
*/
|
|
191
|
-
class AXButtonGroupItemComponent extends
|
|
196
|
+
class AXButtonGroupItemComponent extends MXInteractiveComponent {
|
|
192
197
|
constructor() {
|
|
193
198
|
super(...arguments);
|
|
194
199
|
this.btnGroup = inject(AXButtonGroupComponent);
|
|
200
|
+
this.color = 'default';
|
|
201
|
+
/**
|
|
202
|
+
* Text displayed on the button item.
|
|
203
|
+
*/
|
|
204
|
+
this.text = 'solid';
|
|
195
205
|
this.customClass = model('', { ...(ngDevMode ? { debugName: "customClass" } : {}), alias: 'class' });
|
|
196
206
|
/**
|
|
197
207
|
* Whether the item is visually separated from other items.
|
|
@@ -256,16 +266,15 @@ class AXButtonGroupItemComponent extends classes(MXInteractiveComponent, MXColor
|
|
|
256
266
|
'ax-state-selected': this.selected,
|
|
257
267
|
'ax-divided': this.divided,
|
|
258
268
|
};
|
|
259
|
-
// cssClasses[`${this.color || 'ax-primary'}`] = true;
|
|
260
269
|
return Object.entries(cssClasses)
|
|
261
270
|
.filter((c) => c[1])
|
|
262
271
|
.map((c) => c[0])
|
|
263
272
|
.join(' ');
|
|
264
273
|
}
|
|
265
274
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXButtonGroupItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
266
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: AXButtonGroupItemComponent, isStandalone: true, selector: "ax-button-group-item", inputs: {
|
|
275
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: AXButtonGroupItemComponent, isStandalone: true, selector: "ax-button-group-item", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: null }, customClass: { classPropertyName: "customClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: false, isRequired: false, transformFunction: null }, divided: { classPropertyName: "divided", publicName: "divided", isSignal: false, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur", disabledChange: "disabledChange", customClass: "classChange" }, host: { listeners: { "click": "__hostClick($event)", "focus": "__hostFocus($event)", "blur": "__hostBlur($event)" }, properties: { "class": "this.__hostClass", "attr.tabindex": "this.tabindex" } }, providers: [{ provide: AXComponent, useExisting: AXButtonGroupItemComponent }], usesInheritance: true, ngImport: i0, template: `
|
|
267
276
|
<ax-button
|
|
268
|
-
[color]="color && color !== '
|
|
277
|
+
[color]="color && color !== 'default' ? color : btnGroup.color"
|
|
269
278
|
[text]="text"
|
|
270
279
|
[class]="customClass()"
|
|
271
280
|
[look]="btnGroup.look"
|
|
@@ -282,7 +291,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
282
291
|
selector: 'ax-button-group-item',
|
|
283
292
|
template: `
|
|
284
293
|
<ax-button
|
|
285
|
-
[color]="color && color !== '
|
|
294
|
+
[color]="color && color !== 'default' ? color : btnGroup.color"
|
|
286
295
|
[text]="text"
|
|
287
296
|
[class]="customClass()"
|
|
288
297
|
[look]="btnGroup.look"
|
|
@@ -294,12 +303,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
294
303
|
`,
|
|
295
304
|
encapsulation: ViewEncapsulation.None,
|
|
296
305
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
297
|
-
inputs: ['
|
|
306
|
+
inputs: ['disabled'],
|
|
298
307
|
outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],
|
|
299
308
|
imports: [AXButtonComponent],
|
|
300
309
|
providers: [{ provide: AXComponent, useExisting: AXButtonGroupItemComponent }],
|
|
301
310
|
}]
|
|
302
|
-
}], propDecorators: {
|
|
311
|
+
}], propDecorators: { color: [{
|
|
312
|
+
type: Input
|
|
313
|
+
}], text: [{
|
|
303
314
|
type: Input
|
|
304
315
|
}], customClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }, { type: i0.Output, args: ["classChange"] }], selected: [{
|
|
305
316
|
type: Input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-button-group.mjs","sources":["../../../../packages/components/button-group/src/lib/button-group.component.ts","../../../../packages/components/button-group/src/lib/button-group.component.html","../../../../packages/components/button-group/src/lib/button-group-item.component.ts","../../../../packages/components/button-group/src/lib/button-group.module.ts","../../../../packages/components/button-group/src/acorex-components-button-group.ts"],"sourcesContent":["import {\n AXClickEvent,\n AXComponent,\n AXSelectionMode,\n MXColorLookComponent,\n MXInteractiveComponent,\n} from '@acorex/cdk/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n effect,\n EventEmitter,\n HostBinding,\n HostListener,\n input,\n Input,\n output,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { AXButtonGroupItemComponent } from './button-group-item.component';\n\n/**\n * A component that groups multiple buttons together, allowing for consistent styling and behavior.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button-group',\n templateUrl: './button-group.component.html',\n styleUrls: ['./button-group.component.compiled.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled', 'color', 'look'],\n outputs: ['onBlur', 'onFocus', 'lookChange', 'colorChange', 'disabledChange'],\n providers: [{ provide: AXComponent, useExisting: AXButtonGroupComponent }],\n})\nexport class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLookComponent) {\n readonly fitParent = input(false);\n\n readonly customClass = input<string>('', { alias: 'class' });\n\n #effect = effect(() => {\n if (this._contentButtons().length) {\n this._bindEvents();\n this._bindProps();\n }\n });\n\n /**\n * Fires when any button in the group is clicked.\n *\n * @event\n */\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * @ignore\n */\n private _contentButtons = contentChildren(AXButtonGroupItemComponent, { descendants: true });\n\n /**\n * Emitted when the selection mode changes.\n *\n * @event\n */\n @Output()\n selectionChange: EventEmitter<AXSelectionMode> = new EventEmitter();\n /**\n * Emits the button item component instance when the selected button changes.\n *\n * @event\n */\n selectedButtonChange = output<AXButtonGroupItemComponent>();\n\n /**\n * @ignore\n */\n private _selection: AXSelectionMode;\n\n /**\n * Defines the selection mode for the component.\n */\n @Input()\n public get selection(): AXSelectionMode {\n return this._selection;\n }\n\n /**\n * Sets the selection mode for the component.\n *\n * @param value - The selection mode to be set. Possible values include 'single', 'multiple', or 'none'.\n */\n public set selection(value: AXSelectionMode) {\n this.setOption({\n name: 'selection',\n value: value,\n afterCallback: (o, n) => {\n if (value == 'none') {\n this.clearSelection();\n }\n },\n });\n }\n\n /**\n * @ignore\n */\n private _bindEvents() {\n this._contentButtons()?.forEach((b: any) => {\n if (!b.onClick.length)\n b.onClick.subscribe((c: any) => {\n this._handleClickEvent(c, b);\n });\n });\n }\n\n /**\n * @ignore\n */\n private _bindProps() {\n this._contentButtons()?.forEach((b: any) => {\n if (this.customClass()) b.customClass.set(this.customClass());\n\n if (b['originDisabled'] == null) {\n b['originDisabled'] = b.disabled;\n }\n if (b['originColor'] == null) {\n b['originColor'] = b.color;\n }\n if (this.look) b.look = this.look;\n // Apply group color only if the item has not explicitly provided a color\n if (this.color) {\n const itemHasExplicitColor = b['originColor'] != null && b['originColor'] !== 'default';\n b.color = itemHasExplicitColor ? b['originColor'] : this.color;\n }\n b.disabled = b['originDisabled'] || this.disabled;\n b.toggleable = false;\n });\n }\n\n /**\n * @ignore\n * Updates component properties based on internal option changes.\n */\n protected override internalOptionChanged() {\n this._bindProps();\n }\n\n /**\n * @ignore\n */\n private _handleClickEvent(e: AXClickEvent, button: AXButtonGroupItemComponent) {\n this.selectedButtonChange.emit(button);\n if (this.selection == 'multiple') {\n button.selected = !button.selected;\n } else if (this.selection == 'single') {\n this.clearSelection();\n button.selected = true;\n } else {\n button.selected = false;\n }\n }\n\n /**\n * @ignore\n */\n private clearSelection() {\n this._contentButtons()?.forEach((c: AXButtonGroupItemComponent) => {\n c.selected = false;\n });\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): { [key: string]: boolean } {\n const cssClasses = {\n 'ax-state-disabled': this.disabled,\n 'ax-parent-fit': this.fitParent(),\n };\n return cssClasses;\n }\n\n /**\n * @ignore\n */\n @HostBinding('attr.role') get role() {\n return 'group';\n }\n\n /**\n * @ignore\n */\n @HostListener('click', ['$event'])\n __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n}\n","<ng-container>\n <ng-content select=\"ax-button-group-item\"></ng-content>\n</ng-container>\n","import {\n AXClickEvent,\n AXComponent,\n AXStyleColorType,\n MXColorComponent,\n MXInteractiveComponent,\n} from '@acorex/cdk/common';\n\nimport { AXButtonComponent } from '@acorex/components/button';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n inject,\n Input,\n model,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { AXButtonGroupComponent } from './button-group.component';\n\nexport interface AXButtonItemListItem {\n name: string;\n text: string;\n icon: string;\n divided?: boolean;\n disabled?: boolean;\n color?: AXStyleColorType;\n}\n\n/**\n * Represents a button item with optional content like icons, text, and dropdowns.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button-group-item',\n template: `\n <ax-button\n [color]=\"color && color !== 'ax-default' ? color : btnGroup.color\"\n [text]=\"text\"\n [class]=\"customClass()\"\n [look]=\"btnGroup.look\"\n [disabled]=\"disabled\"\n [selected]=\"selected\"\n >\n <ng-content></ng-content>\n </ax-button>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['color', 'disabled'],\n outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],\n imports: [AXButtonComponent],\n providers: [{ provide: AXComponent, useExisting: AXButtonGroupItemComponent }],\n})\nexport class AXButtonGroupItemComponent extends classes(MXInteractiveComponent, MXColorComponent) {\n btnGroup = inject(AXButtonGroupComponent);\n /**\n * Text displayed on the button item.\n */\n @Input()\n text: string;\n\n /**\n * @ignore\n */\n private _selected: boolean;\n\n readonly customClass = model<string>('', { alias: 'class' });\n\n /**\n * Indicates whether the button item is selected.\n *\n * @param v - A boolean indicating the selected state.\n * Updates the view when the value changes.\n */\n @Input()\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(v: boolean) {\n this._selected = v;\n this.cdr.markForCheck();\n }\n\n /**\n * Whether the item is visually separated from other items.\n * @defaultValue false\n */\n @Input()\n divided = false;\n\n /**\n * Data associated with the button item.\n */\n @Input()\n data: unknown;\n\n /**\n * The name of the button item.\n */\n @Input()\n name: string;\n\n /**\n * Emitted when the button item is clicked.\n * @event\n * The emitted value is an `AXClickEvent` object containing event details.\n */\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * @ignore\n */\n @HostListener('click', ['$event'])\n __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n /**\n * @ignore\n */\n @HostListener('focus', ['$event'])\n __hostFocus(e: FocusEvent) {\n this.emitOnFocusEvent(e);\n }\n\n /**\n * @ignore\n */\n @HostListener('blur', ['$event'])\n __hostBlur(e: FocusEvent) {\n this.emitOnBlurEvent(e);\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this.disabled,\n 'ax-state-selected': this.selected,\n 'ax-divided': this.divided,\n };\n // cssClasses[`${this.color || 'ax-primary'}`] = true;\n return Object.entries(cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n\n /**\n * @ignore\n */\n @HostBinding('attr.tabindex') tabindex = '0';\n}\n","import { NgModule } from '@angular/core';\nimport { AXButtonGroupItemComponent } from './button-group-item.component';\nimport { AXButtonGroupComponent } from './button-group.component';\n\n@NgModule({\n imports: [AXButtonGroupComponent, AXButtonGroupItemComponent],\n exports: [AXButtonGroupComponent, AXButtonGroupItemComponent],\n})\nexport class AXButtonGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-components-button-group.mjs","sources":["../../../../packages/components/button-group/src/lib/button-group.component.ts","../../../../packages/components/button-group/src/lib/button-group.component.html","../../../../packages/components/button-group/src/lib/button-group-item.component.ts","../../../../packages/components/button-group/src/lib/button-group.module.ts","../../../../packages/components/button-group/src/acorex-components-button-group.ts"],"sourcesContent":["import {\n AXClickEvent,\n AXComponent,\n AXSelectionMode,\n MXInteractiveComponent,\n type AXStyleColorType,\n type AXStyleLookType,\n} from '@acorex/cdk/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n effect,\n EventEmitter,\n HostBinding,\n HostListener,\n input,\n Input,\n output,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXButtonGroupItemComponent } from './button-group-item.component';\n\n/**\n * A component that groups multiple buttons together, allowing for consistent styling and behavior.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button-group',\n templateUrl: './button-group.component.html',\n styleUrls: ['./button-group.component.compiled.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled'],\n outputs: ['onBlur', 'onFocus', 'lookChange', 'colorChange', 'disabledChange'],\n providers: [{ provide: AXComponent, useExisting: AXButtonGroupComponent }],\n})\nexport class AXButtonGroupComponent extends MXInteractiveComponent {\n readonly fitParent = input(false);\n\n @Input()\n color: AXStyleColorType = 'default';\n\n @Input()\n look: AXStyleLookType = 'solid';\n\n readonly customClass = input<string>('', { alias: 'class' });\n\n #effect = effect(() => {\n if (this._contentButtons().length) {\n this._bindEvents();\n this._bindProps();\n }\n });\n\n /**\n * Fires when any button in the group is clicked.\n *\n * @event\n */\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * @ignore\n */\n private _contentButtons = contentChildren(AXButtonGroupItemComponent, { descendants: true });\n\n /**\n * Emitted when the selection mode changes.\n *\n * @event\n */\n @Output()\n selectionChange: EventEmitter<AXSelectionMode> = new EventEmitter();\n /**\n * Emits the button item component instance when the selected button changes.\n *\n * @event\n */\n selectedButtonChange = output<AXButtonGroupItemComponent>();\n\n /**\n * @ignore\n */\n private _selection: AXSelectionMode;\n\n /**\n * Defines the selection mode for the component.\n */\n @Input()\n public get selection(): AXSelectionMode {\n return this._selection;\n }\n\n /**\n * Sets the selection mode for the component.\n *\n * @param value - The selection mode to be set. Possible values include 'single', 'multiple', or 'none'.\n */\n public set selection(value: AXSelectionMode) {\n this.setOption({\n name: 'selection',\n value: value,\n afterCallback: (o, n) => {\n if (value == 'none') {\n this.clearSelection();\n }\n },\n });\n }\n\n /**\n * @ignore\n */\n private _bindEvents() {\n this._contentButtons()?.forEach((b: any) => {\n if (!b.onClick.length)\n b.onClick.subscribe((c: any) => {\n this._handleClickEvent(c, b);\n });\n });\n }\n\n /**\n * @ignore\n */\n private _bindProps() {\n this._contentButtons()?.forEach((b: any) => {\n if (this.customClass()) b.customClass.set(this.customClass());\n\n if (b['originDisabled'] == null) {\n b['originDisabled'] = b.disabled;\n }\n if (b['originColor'] == null) {\n b['originColor'] = b.color;\n }\n if (this.look) b.look = this.look;\n // Apply group color only if the item has not explicitly provided a color\n if (this.color) {\n const itemHasExplicitColor = b['originColor'] != null && b['originColor'] !== 'default';\n b.color = itemHasExplicitColor ? b['originColor'] : this.color;\n }\n b.disabled = b['originDisabled'] || this.disabled;\n b.toggleable = false;\n });\n }\n\n /**\n * @ignore\n * Updates component properties based on internal option changes.\n */\n protected override internalOptionChanged() {\n this._bindProps();\n }\n\n /**\n * @ignore\n */\n private _handleClickEvent(e: AXClickEvent, button: AXButtonGroupItemComponent) {\n this.selectedButtonChange.emit(button);\n if (this.selection == 'multiple') {\n button.selected = !button.selected;\n } else if (this.selection == 'single') {\n this.clearSelection();\n button.selected = true;\n } else {\n button.selected = false;\n }\n }\n\n /**\n * @ignore\n */\n private clearSelection() {\n this._contentButtons()?.forEach((c: AXButtonGroupItemComponent) => {\n c.selected = false;\n });\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): { [key: string]: boolean } {\n const cssClasses = {\n 'ax-state-disabled': this.disabled,\n 'ax-parent-fit': this.fitParent(),\n };\n return cssClasses;\n }\n\n /**\n * @ignore\n */\n @HostBinding('attr.role') get role() {\n return 'group';\n }\n\n /**\n * @ignore\n */\n @HostListener('click', ['$event'])\n __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n}\n","<ng-container>\n <ng-content select=\"ax-button-group-item\"></ng-content>\n</ng-container>\n","import { AXClickEvent, AXComponent, AXStyleColorType, MXInteractiveComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n inject,\n Input,\n model,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXButtonGroupComponent } from './button-group.component';\n\nexport interface AXButtonItemListItem {\n name: string;\n text: string;\n icon: string;\n divided?: boolean;\n disabled?: boolean;\n color?: AXStyleColorType;\n}\n\n/**\n * Represents a button item with optional content like icons, text, and dropdowns.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button-group-item',\n template: `\n <ax-button\n [color]=\"color && color !== 'default' ? color : btnGroup.color\"\n [text]=\"text\"\n [class]=\"customClass()\"\n [look]=\"btnGroup.look\"\n [disabled]=\"disabled\"\n [selected]=\"selected\"\n >\n <ng-content></ng-content>\n </ax-button>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['disabled'],\n outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],\n imports: [AXButtonComponent],\n providers: [{ provide: AXComponent, useExisting: AXButtonGroupItemComponent }],\n})\nexport class AXButtonGroupItemComponent extends MXInteractiveComponent {\n btnGroup = inject(AXButtonGroupComponent);\n\n @Input()\n color: AXStyleColorType = 'default';\n\n /**\n * Text displayed on the button item.\n */\n @Input()\n text: string = 'solid';\n\n /**\n * @ignore\n */\n private _selected: boolean;\n\n readonly customClass = model<string>('', { alias: 'class' });\n\n /**\n * Indicates whether the button item is selected.\n *\n * @param v - A boolean indicating the selected state.\n * Updates the view when the value changes.\n */\n @Input()\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(v: boolean) {\n this._selected = v;\n this.cdr.markForCheck();\n }\n\n /**\n * Whether the item is visually separated from other items.\n * @defaultValue false\n */\n @Input()\n divided = false;\n\n /**\n * Data associated with the button item.\n */\n @Input()\n data: unknown;\n\n /**\n * The name of the button item.\n */\n @Input()\n name: string;\n\n /**\n * Emitted when the button item is clicked.\n * @event\n * The emitted value is an `AXClickEvent` object containing event details.\n */\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * @ignore\n */\n @HostListener('click', ['$event'])\n __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n /**\n * @ignore\n */\n @HostListener('focus', ['$event'])\n __hostFocus(e: FocusEvent) {\n this.emitOnFocusEvent(e);\n }\n\n /**\n * @ignore\n */\n @HostListener('blur', ['$event'])\n __hostBlur(e: FocusEvent) {\n this.emitOnBlurEvent(e);\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this.disabled,\n 'ax-state-selected': this.selected,\n 'ax-divided': this.divided,\n };\n return Object.entries(cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n\n /**\n * @ignore\n */\n @HostBinding('attr.tabindex') tabindex = '0';\n}\n","import { NgModule } from '@angular/core';\nimport { AXButtonGroupItemComponent } from './button-group-item.component';\nimport { AXButtonGroupComponent } from './button-group.component';\n\n@NgModule({\n imports: [AXButtonGroupComponent, AXButtonGroupItemComponent],\n exports: [AXButtonGroupComponent, AXButtonGroupItemComponent],\n})\nexport class AXButtonGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -163,7 +163,6 @@ class AXDropdownBoxComponent extends classes(MXInteractiveComponent, MXLookCompo
|
|
|
163
163
|
*/
|
|
164
164
|
_handleKeydown(e) {
|
|
165
165
|
if (e.code === 'Space' || e.code === 'Enter') {
|
|
166
|
-
e.preventDefault();
|
|
167
166
|
this.open();
|
|
168
167
|
}
|
|
169
168
|
if (e.ctrlKey && e.code === 'ArrowDown') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-dropdown.mjs","sources":["../../../../packages/components/dropdown/src/lib/dropdown-box.class.ts","../../../../packages/components/dropdown/src/lib/dropdown-box.component.ts","../../../../packages/components/dropdown/src/lib/dropdown-box.component.html","../../../../packages/components/dropdown/src/lib/dropdown-panel.component.ts","../../../../packages/components/dropdown/src/lib/dropdown-panel.component.html","../../../../packages/components/dropdown/src/lib/dropdown.module.ts","../../../../packages/components/dropdown/src/acorex-components-dropdown.ts"],"sourcesContent":["import { AXEvent, MXInteractiveComponent } from '@acorex/cdk/common';\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { AXDropdownBoxComponent } from './dropdown-box.component';\n\n@Injectable()\n/**\n * Base behavior for components that manage a dropdown/popup via an internal `AXDropdownBoxComponent`.\n *\n * Extends MXInteractiveComponent to inherit interactive features (focus, blur, disabled, tabIndex)\n * and exposes a consistent API to open/close/toggle the dropdown as well as events for open/close lifecycle.\n */\nexport abstract class MXDropdownBoxBaseComponent extends MXInteractiveComponent {\n /**\n * Emitted when the dropdown/popup is opened.\n *\n * @event\n */\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emits the `onOpened` event with component context.\n * @ignore\n */\n protected emitOnOpenedEvent(): void {\n this.onOpened.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n /**\n * Emitted when the dropdown/popup is closed.\n *\n * @event\n */\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emits the `onClosed` event with component context.\n * @ignore\n */\n protected emitOnClosedEvent(): void {\n this.onClosed.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n /**\n * Reference to the underlying dropdown controller.\n */\n protected abstract dropdown: AXDropdownBoxComponent;\n\n /**\n * Toggles the dropdown if the component is not disabled.\n *\n * @returns void - No return value. Switches between open and closed states.\n */\n toggle() {\n if (this.disabled !== true) {\n this.dropdown.toggle();\n }\n }\n\n /**\n * Closes the dropdown if it is open and the component is not disabled, then focuses the host.\n *\n * @returns void - No return value. Dropdown is closed and focus returns to the host.\n */\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this.dropdown.close();\n this.focus();\n }\n\n /**\n * Opens the dropdown if it is not already open and the component is not disabled, then focuses the dropdown.\n *\n * @returns void - No return value. Dropdown becomes open and receives focus.\n */\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this.dropdown.open();\n this.dropdown.focus();\n }\n\n /**\n * Indicates whether the dropdown is currently open.\n *\n * @returns boolean - True if open; otherwise false.\n */\n get isOpen(): boolean {\n return this.dropdown?.isOpen;\n }\n}\n","import { AXComponent, AXEvent, MXInteractiveComponent, MXLookComponent, convertToPlacement } from '@acorex/cdk/common';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXPlatform } from '@acorex/core/platform';\nimport {\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n OnInit,\n Output,\n ViewChild,\n inject,\n input,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { startWith } from 'rxjs';\n\n@Component({\n selector: 'ax-dropdown-box',\n templateUrl: 'dropdown-box.component.html',\n inputs: ['disabled', 'look'],\n outputs: ['disabledChange', 'onBlur', 'onFocus', 'onClick'],\n host: { ngSkipHydration: 'true' },\n imports: [AXPopoverComponent],\n providers: [{ provide: AXComponent, useExisting: AXDropdownBoxComponent }],\n})\nexport class AXDropdownBoxComponent extends classes(MXInteractiveComponent, MXLookComponent) implements OnInit {\n readonly hasInput = input(true);\n\n readonly popoverWidth = input<string>('auto');\n\n private _platform: AXPlatform = inject(AXPlatform);\n\n /**\n * @ignore\n */\n protected _target: HTMLDivElement;\n\n /**\n * @ignore\n */\n protected _popoverTitle: string;\n\n /**\n * @ignore\n */\n protected _popoverWidth = '180px';\n\n /**\n * @ignore\n */\n protected _placement = convertToPlacement('bottom-start');\n\n /**\n * @ignore\n */\n @ViewChild(AXPopoverComponent, { static: true })\n protected _popover: AXPopoverComponent;\n\n /**\n * Emitted when the drawer is opened.\n *\n * @event\n */\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emitted when the drawer is closed.\n *\n * @event\n */\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * @ignore\n */\n override ngOnInit() {\n super.ngOnInit();\n this._target = this.getHostElement();\n this._platform.resize.pipe(startWith()).subscribe(() => {\n if (!this.isActionsheetStyle) this.close();\n });\n }\n\n /**\n * @ignore\n */\n protected _handlePopupOnOpened(e: AXEvent) {\n this._popover?.focus();\n this.onOpened.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /**\n * @ignore\n */\n protected _handlePopupOnClosed(e: AXEvent) {\n this.focus();\n this.onClosed.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /**\n * @ignore\n */\n @HostListener('keydown', ['$event'])\n protected _handleKeydown(e: KeyboardEvent) {\n if (e.code === 'Space' || e.code === 'Enter') {\n e.preventDefault();\n this.open();\n }\n if (e.ctrlKey && e.code === 'ArrowDown') {\n e.preventDefault();\n this.open();\n }\n if (e.code === 'Escape') {\n e.preventDefault();\n this.close();\n }\n }\n\n /**\n * Updates the position of the popover.\n * @ignore\n */\n updatePosition() {\n this._popover?.updatePosition();\n }\n\n /**\n * Toggles the popover open or closed, if not disabled.\n * @ignore\n */\n toggle() {\n if (this.disabled !== true) {\n this._popover.toggle();\n }\n }\n\n /**\n * Closes the popover if it's open and not disabled, then focuses the element.\n * @ignore\n */\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this._popover.close();\n this.focus();\n }\n\n /**\n * Opens the popover if it's not already open and not disabled, then focuses the popover.\n * @ignore\n */\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this._popover.open();\n this._popover.focus();\n }\n\n /**\n * Indicates if the popover is currently open.\n * @ignore\n */\n get isOpen(): boolean {\n return this._popover?.isOpen;\n }\n\n /**\n * Indicates if the popover is styled as an actionsheet.\n */\n get isActionsheetStyle(): boolean {\n return this._platform.is('SM');\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return this.hasInput()\n ? `ax-editor-container ax-default ${this.look} ${this.disabled ? 'ax-state-disabled' : ''}`\n : '';\n }\n}\n","<ng-content select=\"[input]\"> </ng-content>\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [target]=\"_target\"\n [placement]=\"_placement\"\n [openOn]=\"'manual'\"\n [closeOn]=\"'clickOut'\"\n [width]=\"popoverWidth()\"\n (onOpened)=\"_handlePopupOnOpened($event)\"\n (onClosed)=\"_handlePopupOnClosed($event)\"\n #popover\n>\n <div aria-modal=\"true\" (keydown)=\"_handleKeydown($event)\">\n <ng-content select=\"[panel]\"> </ng-content>\n </div>\n</ax-popover>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation,\n effect,\n inject,\n input,\n} from '@angular/core';\n\nimport {\n AXClosableComponent,\n AXComponent,\n AXEvent,\n MXInteractiveComponent,\n convertToPlacement,\n} from '@acorex/cdk/common';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXPlatform, isBrowser } from '@acorex/core/platform';\nimport { Subscription, startWith } from 'rxjs';\n\n/**\n * A panel for displaying dropdown content with configurable width and positioning.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-dropdown-panel',\n templateUrl: './dropdown-panel.component.html',\n styleUrls: ['./dropdown-panel.component.compiled.css'],\n inputs: ['isOpen', 'fitParent', 'dropdownWidth', 'position'],\n outputs: ['onOpened', 'onClosed'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXClosableComponent,\n useExisting: AXDropdownPanelComponent,\n },\n { provide: AXComponent, useExisting: AXDropdownPanelComponent },\n ],\n host: { ngSkipHydration: 'true' },\n imports: [AXPopoverComponent],\n})\nexport class AXDropdownPanelComponent extends MXInteractiveComponent implements OnDestroy {\n protected _platform: AXPlatform = inject(AXPlatform);\n\n /**\n * @ignore\n */\n protected _isMobile = false;\n\n /**\n * @ignore\n */\n protected _popoverTitle: string;\n\n /**\n * @ignore\n */\n protected _placement = convertToPlacement('bottom-start');\n\n readonly placement = input<'bottom-start' | 'bottom-end'>('bottom-start');\n\n #effect = effect(() => {\n if (!this.placement()) return;\n this._placement = convertToPlacement(this.placement());\n });\n\n /**\n * @ignore\n */\n _subs: Subscription[] = [];\n\n /**\n * @ignore\n */\n private __target: HTMLDivElement;\n\n /**\n * Gets the target HTML element for the dropdown panel.\n */\n @Input()\n public get _target(): HTMLDivElement {\n return this.__target;\n }\n\n /**\n * Sets the target HTML element for the dropdown panel.\n */\n public set _target(v: HTMLDivElement) {\n this.__target = v;\n }\n\n /**\n * @ignore\n */\n @ViewChild(AXPopoverComponent)\n protected _popover: AXPopoverComponent;\n\n /**\n * Emitted when the dropdown panel is opened.\n *\n * @event\n */\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emitted when the dropdown panel is closed.\n *\n * @event\n */\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Determines if adaptivity is enabled for the component.\n *\n * @defaultValue false\n */\n @Input()\n adaptivityEnabled = false;\n\n /**\n * @ignore\n */\n constructor() {\n super();\n }\n\n /**\n * @ignore\n */\n override ngOnInit() {\n if (isBrowser()) {\n super.ngOnInit();\n if (!this._target) {\n this._target = this.getHostElement()?.parentElement as HTMLDivElement;\n }\n this._platform.resize.pipe(startWith(null)).subscribe(() => {\n this._isMobile = this._platform.is('SM');\n this._popover?.close();\n });\n }\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n [this._target, this.getHostElement()].forEach((el) => {\n el?.addEventListener('keydown', (e) => {\n if (e.code == 'Escape' && this.isOpen) {\n e.stopPropagation();\n this.close();\n }\n });\n });\n }\n\n /**\n * @ignore\n */\n ngOnDestroy(): void {\n this._subs.forEach((s) => {\n s?.unsubscribe();\n });\n }\n\n /**\n * @ignore\n */\n protected _handlePopupOnOpened(e: AXEvent) {\n this._popover?.focus();\n this.onOpened.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /**\n * @ignore\n */\n protected _handlePopupOnClosed(e: AXEvent) {\n this._target.focus();\n this.onClosed.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /**\n * Toggles the popover open or closed, if not disabled.\n * @ignore\n */\n toggle() {\n if (this.disabled !== true) {\n this._popover.toggle();\n }\n }\n\n /**\n * Closes the popover if it is open and not disabled.\n * @ignore\n */\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this._popover.close();\n this.focus();\n }\n\n /**\n * Opens the popover if it is not already open and not disabled.\n * @ignore\n */\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this._popover.open();\n this._popover.focus();\n }\n\n /**\n * Gets whether the popover is currently open.\n * @ignore\n */\n get isOpen(): boolean {\n return this._popover?.isOpen;\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string[] {\n return ['ax-dropdown-panel'];\n }\n}\n","<ax-popover\n [target]=\"_target\"\n [placement]=\"_placement\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"adaptivityEnabled\"\n (onOpened)=\"_handlePopupOnOpened($event)\"\n (onClosed)=\"_handlePopupOnClosed($event)\"\n>\n <div>\n <ng-content> </ng-content>\n </div>\n</ax-popover>\n","import { AXCommonModule } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDropdownBoxComponent } from './dropdown-box.component';\nimport { AXDropdownPanelComponent } from './dropdown-panel.component';\n\n@NgModule({\n imports: [\n CommonModule,\n AXCommonModule,\n A11yModule,\n AXDecoratorModule,\n AXPopoverModule,\n AXDropdownPanelComponent,\n AXDropdownBoxComponent,\n ],\n exports: [AXDropdownPanelComponent, AXDropdownBoxComponent],\n providers: [],\n})\nexport class AXDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-components-dropdown.mjs","sources":["../../../../packages/components/dropdown/src/lib/dropdown-box.class.ts","../../../../packages/components/dropdown/src/lib/dropdown-box.component.ts","../../../../packages/components/dropdown/src/lib/dropdown-box.component.html","../../../../packages/components/dropdown/src/lib/dropdown-panel.component.ts","../../../../packages/components/dropdown/src/lib/dropdown-panel.component.html","../../../../packages/components/dropdown/src/lib/dropdown.module.ts","../../../../packages/components/dropdown/src/acorex-components-dropdown.ts"],"sourcesContent":["import { AXEvent, MXInteractiveComponent } from '@acorex/cdk/common';\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { AXDropdownBoxComponent } from './dropdown-box.component';\n\n@Injectable()\n/**\n * Base behavior for components that manage a dropdown/popup via an internal `AXDropdownBoxComponent`.\n *\n * Extends MXInteractiveComponent to inherit interactive features (focus, blur, disabled, tabIndex)\n * and exposes a consistent API to open/close/toggle the dropdown as well as events for open/close lifecycle.\n */\nexport abstract class MXDropdownBoxBaseComponent extends MXInteractiveComponent {\n /**\n * Emitted when the dropdown/popup is opened.\n *\n * @event\n */\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emits the `onOpened` event with component context.\n * @ignore\n */\n protected emitOnOpenedEvent(): void {\n this.onOpened.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n /**\n * Emitted when the dropdown/popup is closed.\n *\n * @event\n */\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emits the `onClosed` event with component context.\n * @ignore\n */\n protected emitOnClosedEvent(): void {\n this.onClosed.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n /**\n * Reference to the underlying dropdown controller.\n */\n protected abstract dropdown: AXDropdownBoxComponent;\n\n /**\n * Toggles the dropdown if the component is not disabled.\n *\n * @returns void - No return value. Switches between open and closed states.\n */\n toggle() {\n if (this.disabled !== true) {\n this.dropdown.toggle();\n }\n }\n\n /**\n * Closes the dropdown if it is open and the component is not disabled, then focuses the host.\n *\n * @returns void - No return value. Dropdown is closed and focus returns to the host.\n */\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this.dropdown.close();\n this.focus();\n }\n\n /**\n * Opens the dropdown if it is not already open and the component is not disabled, then focuses the dropdown.\n *\n * @returns void - No return value. Dropdown becomes open and receives focus.\n */\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this.dropdown.open();\n this.dropdown.focus();\n }\n\n /**\n * Indicates whether the dropdown is currently open.\n *\n * @returns boolean - True if open; otherwise false.\n */\n get isOpen(): boolean {\n return this.dropdown?.isOpen;\n }\n}\n","import { AXComponent, AXEvent, MXInteractiveComponent, MXLookComponent, convertToPlacement } from '@acorex/cdk/common';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXPlatform } from '@acorex/core/platform';\nimport {\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n OnInit,\n Output,\n ViewChild,\n inject,\n input,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { startWith } from 'rxjs';\n\n@Component({\n selector: 'ax-dropdown-box',\n templateUrl: 'dropdown-box.component.html',\n inputs: ['disabled', 'look'],\n outputs: ['disabledChange', 'onBlur', 'onFocus', 'onClick'],\n host: { ngSkipHydration: 'true' },\n imports: [AXPopoverComponent],\n providers: [{ provide: AXComponent, useExisting: AXDropdownBoxComponent }],\n})\nexport class AXDropdownBoxComponent extends classes(MXInteractiveComponent, MXLookComponent) implements OnInit {\n readonly hasInput = input(true);\n\n readonly popoverWidth = input<string>('auto');\n\n private _platform: AXPlatform = inject(AXPlatform);\n\n /**\n * @ignore\n */\n protected _target: HTMLDivElement;\n\n /**\n * @ignore\n */\n protected _popoverTitle: string;\n\n /**\n * @ignore\n */\n protected _popoverWidth = '180px';\n\n /**\n * @ignore\n */\n protected _placement = convertToPlacement('bottom-start');\n\n /**\n * @ignore\n */\n @ViewChild(AXPopoverComponent, { static: true })\n protected _popover: AXPopoverComponent;\n\n /**\n * Emitted when the drawer is opened.\n *\n * @event\n */\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emitted when the drawer is closed.\n *\n * @event\n */\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * @ignore\n */\n override ngOnInit() {\n super.ngOnInit();\n this._target = this.getHostElement();\n this._platform.resize.pipe(startWith()).subscribe(() => {\n if (!this.isActionsheetStyle) this.close();\n });\n }\n\n /**\n * @ignore\n */\n protected _handlePopupOnOpened(e: AXEvent) {\n this._popover?.focus();\n this.onOpened.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /**\n * @ignore\n */\n protected _handlePopupOnClosed(e: AXEvent) {\n this.focus();\n this.onClosed.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /**\n * @ignore\n */\n @HostListener('keydown', ['$event'])\n protected _handleKeydown(e: KeyboardEvent) {\n if (e.code === 'Space' || e.code === 'Enter') {\n this.open();\n }\n if (e.ctrlKey && e.code === 'ArrowDown') {\n e.preventDefault();\n this.open();\n }\n if (e.code === 'Escape') {\n e.preventDefault();\n this.close();\n }\n }\n\n /**\n * Updates the position of the popover.\n * @ignore\n */\n updatePosition() {\n this._popover?.updatePosition();\n }\n\n /**\n * Toggles the popover open or closed, if not disabled.\n * @ignore\n */\n toggle() {\n if (this.disabled !== true) {\n this._popover.toggle();\n }\n }\n\n /**\n * Closes the popover if it's open and not disabled, then focuses the element.\n * @ignore\n */\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this._popover.close();\n this.focus();\n }\n\n /**\n * Opens the popover if it's not already open and not disabled, then focuses the popover.\n * @ignore\n */\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this._popover.open();\n this._popover.focus();\n }\n\n /**\n * Indicates if the popover is currently open.\n * @ignore\n */\n get isOpen(): boolean {\n return this._popover?.isOpen;\n }\n\n /**\n * Indicates if the popover is styled as an actionsheet.\n */\n get isActionsheetStyle(): boolean {\n return this._platform.is('SM');\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return this.hasInput()\n ? `ax-editor-container ax-default ${this.look} ${this.disabled ? 'ax-state-disabled' : ''}`\n : '';\n }\n}\n","<ng-content select=\"[input]\"> </ng-content>\n<ax-popover\n [adaptivityEnabled]=\"true\"\n [target]=\"_target\"\n [placement]=\"_placement\"\n [openOn]=\"'manual'\"\n [closeOn]=\"'clickOut'\"\n [width]=\"popoverWidth()\"\n (onOpened)=\"_handlePopupOnOpened($event)\"\n (onClosed)=\"_handlePopupOnClosed($event)\"\n #popover\n>\n <div aria-modal=\"true\" (keydown)=\"_handleKeydown($event)\">\n <ng-content select=\"[panel]\"> </ng-content>\n </div>\n</ax-popover>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation,\n effect,\n inject,\n input,\n} from '@angular/core';\n\nimport {\n AXClosableComponent,\n AXComponent,\n AXEvent,\n MXInteractiveComponent,\n convertToPlacement,\n} from '@acorex/cdk/common';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXPlatform, isBrowser } from '@acorex/core/platform';\nimport { Subscription, startWith } from 'rxjs';\n\n/**\n * A panel for displaying dropdown content with configurable width and positioning.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-dropdown-panel',\n templateUrl: './dropdown-panel.component.html',\n styleUrls: ['./dropdown-panel.component.compiled.css'],\n inputs: ['isOpen', 'fitParent', 'dropdownWidth', 'position'],\n outputs: ['onOpened', 'onClosed'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXClosableComponent,\n useExisting: AXDropdownPanelComponent,\n },\n { provide: AXComponent, useExisting: AXDropdownPanelComponent },\n ],\n host: { ngSkipHydration: 'true' },\n imports: [AXPopoverComponent],\n})\nexport class AXDropdownPanelComponent extends MXInteractiveComponent implements OnDestroy {\n protected _platform: AXPlatform = inject(AXPlatform);\n\n /**\n * @ignore\n */\n protected _isMobile = false;\n\n /**\n * @ignore\n */\n protected _popoverTitle: string;\n\n /**\n * @ignore\n */\n protected _placement = convertToPlacement('bottom-start');\n\n readonly placement = input<'bottom-start' | 'bottom-end'>('bottom-start');\n\n #effect = effect(() => {\n if (!this.placement()) return;\n this._placement = convertToPlacement(this.placement());\n });\n\n /**\n * @ignore\n */\n _subs: Subscription[] = [];\n\n /**\n * @ignore\n */\n private __target: HTMLDivElement;\n\n /**\n * Gets the target HTML element for the dropdown panel.\n */\n @Input()\n public get _target(): HTMLDivElement {\n return this.__target;\n }\n\n /**\n * Sets the target HTML element for the dropdown panel.\n */\n public set _target(v: HTMLDivElement) {\n this.__target = v;\n }\n\n /**\n * @ignore\n */\n @ViewChild(AXPopoverComponent)\n protected _popover: AXPopoverComponent;\n\n /**\n * Emitted when the dropdown panel is opened.\n *\n * @event\n */\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emitted when the dropdown panel is closed.\n *\n * @event\n */\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Determines if adaptivity is enabled for the component.\n *\n * @defaultValue false\n */\n @Input()\n adaptivityEnabled = false;\n\n /**\n * @ignore\n */\n constructor() {\n super();\n }\n\n /**\n * @ignore\n */\n override ngOnInit() {\n if (isBrowser()) {\n super.ngOnInit();\n if (!this._target) {\n this._target = this.getHostElement()?.parentElement as HTMLDivElement;\n }\n this._platform.resize.pipe(startWith(null)).subscribe(() => {\n this._isMobile = this._platform.is('SM');\n this._popover?.close();\n });\n }\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n [this._target, this.getHostElement()].forEach((el) => {\n el?.addEventListener('keydown', (e) => {\n if (e.code == 'Escape' && this.isOpen) {\n e.stopPropagation();\n this.close();\n }\n });\n });\n }\n\n /**\n * @ignore\n */\n ngOnDestroy(): void {\n this._subs.forEach((s) => {\n s?.unsubscribe();\n });\n }\n\n /**\n * @ignore\n */\n protected _handlePopupOnOpened(e: AXEvent) {\n this._popover?.focus();\n this.onOpened.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /**\n * @ignore\n */\n protected _handlePopupOnClosed(e: AXEvent) {\n this._target.focus();\n this.onClosed.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /**\n * Toggles the popover open or closed, if not disabled.\n * @ignore\n */\n toggle() {\n if (this.disabled !== true) {\n this._popover.toggle();\n }\n }\n\n /**\n * Closes the popover if it is open and not disabled.\n * @ignore\n */\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this._popover.close();\n this.focus();\n }\n\n /**\n * Opens the popover if it is not already open and not disabled.\n * @ignore\n */\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this._popover.open();\n this._popover.focus();\n }\n\n /**\n * Gets whether the popover is currently open.\n * @ignore\n */\n get isOpen(): boolean {\n return this._popover?.isOpen;\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string[] {\n return ['ax-dropdown-panel'];\n }\n}\n","<ax-popover\n [target]=\"_target\"\n [placement]=\"_placement\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"adaptivityEnabled\"\n (onOpened)=\"_handlePopupOnOpened($event)\"\n (onClosed)=\"_handlePopupOnClosed($event)\"\n>\n <div>\n <ng-content> </ng-content>\n </div>\n</ax-popover>\n","import { AXCommonModule } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDropdownBoxComponent } from './dropdown-box.component';\nimport { AXDropdownPanelComponent } from './dropdown-panel.component';\n\n@NgModule({\n imports: [\n CommonModule,\n AXCommonModule,\n A11yModule,\n AXDecoratorModule,\n AXPopoverModule,\n AXDropdownPanelComponent,\n AXDropdownBoxComponent,\n ],\n exports: [AXDropdownPanelComponent, AXDropdownBoxComponent],\n providers: [],\n})\nexport class AXDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -203,7 +203,7 @@ class AXQueryBuilderComponent {
|
|
|
203
203
|
return item.id;
|
|
204
204
|
}
|
|
205
205
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXQueryBuilderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
206
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXQueryBuilderComponent, isStandalone: true, selector: "ax-query-builder", inputs: { columnData: { classPropertyName: "columnData", publicName: "columnData", isSignal: true, isRequired: true, transformFunction: null }, queryData: { classPropertyName: "queryData", publicName: "queryData", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { queryData: "queryDataChange", onValueChanged: "onValueChanged" }, providers: [{ provide: AXComponent, useExisting: AXQueryBuilderComponent }], viewQueries: [{ propertyName: "selectBoxRef", first: true, predicate: ["reRender"], descendants: true, isSignal: true }], ngImport: i0, template: "@for (item of queryData(); track trackById(i, item); let i = $index) {\n <ng-container [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\" [ngTemplateOutlet]=\"query\"> </ng-container>\n}\n\n<ng-template #query let-item let-index=\"index\">\n @if (item.condition) {\n <div class=\"ax-recursive-container\">\n <div class=\"ax-add-condition-container\">\n <ax-button-group\n selection=\"single\"\n (selectedButtonChange)=\"conditionHandler($event, item)\"\n color=\"primary\"\n class=\"ax-sm\"\n >\n <ax-button-group-item data=\"and\" [selected]=\"item.condition === 'and'\" text=\"And\"> </ax-button-group-item>\n <ax-button-group-item data=\"or\" [selected]=\"item.condition === 'or'\" text=\"Or\"> </ax-button-group-item>\n </ax-button-group>\n <ax-button\n (onClick)=\"addRulesHandler(item)\"\n class=\"ax-sm\"\n color=\"primary\"\n look=\"blank\"\n text=\"Add Rules\"\n ></ax-button>\n <ax-button\n (onClick)=\"addGroupHandler(item)\"\n class=\"ax-sm\"\n color=\"primary\"\n look=\"blank\"\n text=\"Add Group\"\n ></ax-button>\n @if (index !== 0) {\n <ax-button look=\"blank\" (onClick)=\"removeGroupHandler(item)\" class=\"ax-sm\" color=\"danger\">\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-button>\n }\n </div>\n\n @for (child of item.rules; track trackById($index, child)) {\n <ng-container [ngTemplateOutletContext]=\"{ $implicit: child }\" [ngTemplateOutlet]=\"query\"> </ng-container>\n }\n </div>\n } @else {\n <div class=\"ax-rules-container\">\n <div class=\"ax-input-rules-container\">\n <ax-select-box\n (onValueChanged)=\"columnDataHandler($event, item)\"\n valueField=\"field\"\n textField=\"label\"\n [dataSource]=\"columnData()\"\n placeholder=\"Select Field\"\n >\n </ax-select-box>\n\n <ax-select-box\n #reRender\n [disabled]=\"!item.field\"\n name=\"selectBoxOperator\"\n (onValueChanged)=\"operatorDataHandler($event, item)\"\n [dataSource]=\"ds\"\n placeholder=\"Select Operator\"\n >\n </ax-select-box>\n\n @switch (item.type) {\n @case ('boolean') {\n <div class=\"ax-boolean-value-input-container\">\n @for (boolean of item.inputValues; track $index) {\n <label>{{ boolean }}</label>\n <input name=\"same\" [value]=\"boolean\" (input)=\"booleanValueHandler($event, item)\" type=\"radio\" />\n }\n </div>\n }\n @case ('string') {\n <ax-text-box (onValueChanged)=\"stringValueHandler($event, item)\">\n <ax-clear-button></ax-clear-button>\n </ax-text-box>\n }\n @case ('number') {\n <ax-number-box (onValueChanged)=\"numberValueHandler($event, item)\"></ax-number-box>\n }\n @case ('date') {\n <ax-datetime-box format=\"yyyy/MM/dd\" (onValueChanged)=\"dateValueHandler($event, item)\">\n <ax-clear-button></ax-clear-button>\n </ax-datetime-box>\n }\n }\n </div>\n <ax-button (onClick)=\"removeRulesHandler(item)\" look=\"blank\" class=\"ax-md\" color=\"danger\">\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-button>\n </div>\n }\n</ng-template>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer components{ax-query-builder{border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);--tw-border-style:solid;border-style:solid;border-width:1px;border-color:var(--color-border-default);width:100%;padding:calc(var(--spacing,.25rem) * 4);display:block}ax-query-builder .ax-add-condition-container{margin-block:calc(var(--spacing,.25rem) * 2);gap:calc(var(--spacing,.25rem) * 2);display:flex}ax-query-builder .ax-recursive-container{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px;border-color:var(--color-border-lightest,rgba(var(--ax-sys-color-border-lightest-surface)));padding-inline-start:calc(var(--spacing,.25rem) * 4)}ax-query-builder .ax-rules-container{margin-block:calc(var(--spacing,.25rem) * 2);align-items:center;display:flex}ax-query-builder .ax-rules-container .ax-input-rules-container{align-items:center;gap:calc(var(--spacing,.25rem) * 2);width:100%;display:flex}ax-query-builder .ax-rules-container:not(:last-child){margin-bottom:calc(var(--spacing,.25rem) * 2)}ax-query-builder .ax-boolean-value-input-container{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}\n/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXButtonGroupComponent, selector: "ax-button-group", inputs: ["disabled", "
|
|
206
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXQueryBuilderComponent, isStandalone: true, selector: "ax-query-builder", inputs: { columnData: { classPropertyName: "columnData", publicName: "columnData", isSignal: true, isRequired: true, transformFunction: null }, queryData: { classPropertyName: "queryData", publicName: "queryData", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { queryData: "queryDataChange", onValueChanged: "onValueChanged" }, providers: [{ provide: AXComponent, useExisting: AXQueryBuilderComponent }], viewQueries: [{ propertyName: "selectBoxRef", first: true, predicate: ["reRender"], descendants: true, isSignal: true }], ngImport: i0, template: "@for (item of queryData(); track trackById(i, item); let i = $index) {\n <ng-container [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\" [ngTemplateOutlet]=\"query\"> </ng-container>\n}\n\n<ng-template #query let-item let-index=\"index\">\n @if (item.condition) {\n <div class=\"ax-recursive-container\">\n <div class=\"ax-add-condition-container\">\n <ax-button-group\n selection=\"single\"\n (selectedButtonChange)=\"conditionHandler($event, item)\"\n color=\"primary\"\n class=\"ax-sm\"\n >\n <ax-button-group-item data=\"and\" [selected]=\"item.condition === 'and'\" text=\"And\"> </ax-button-group-item>\n <ax-button-group-item data=\"or\" [selected]=\"item.condition === 'or'\" text=\"Or\"> </ax-button-group-item>\n </ax-button-group>\n <ax-button\n (onClick)=\"addRulesHandler(item)\"\n class=\"ax-sm\"\n color=\"primary\"\n look=\"blank\"\n text=\"Add Rules\"\n ></ax-button>\n <ax-button\n (onClick)=\"addGroupHandler(item)\"\n class=\"ax-sm\"\n color=\"primary\"\n look=\"blank\"\n text=\"Add Group\"\n ></ax-button>\n @if (index !== 0) {\n <ax-button look=\"blank\" (onClick)=\"removeGroupHandler(item)\" class=\"ax-sm\" color=\"danger\">\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-button>\n }\n </div>\n\n @for (child of item.rules; track trackById($index, child)) {\n <ng-container [ngTemplateOutletContext]=\"{ $implicit: child }\" [ngTemplateOutlet]=\"query\"> </ng-container>\n }\n </div>\n } @else {\n <div class=\"ax-rules-container\">\n <div class=\"ax-input-rules-container\">\n <ax-select-box\n (onValueChanged)=\"columnDataHandler($event, item)\"\n valueField=\"field\"\n textField=\"label\"\n [dataSource]=\"columnData()\"\n placeholder=\"Select Field\"\n >\n </ax-select-box>\n\n <ax-select-box\n #reRender\n [disabled]=\"!item.field\"\n name=\"selectBoxOperator\"\n (onValueChanged)=\"operatorDataHandler($event, item)\"\n [dataSource]=\"ds\"\n placeholder=\"Select Operator\"\n >\n </ax-select-box>\n\n @switch (item.type) {\n @case ('boolean') {\n <div class=\"ax-boolean-value-input-container\">\n @for (boolean of item.inputValues; track $index) {\n <label>{{ boolean }}</label>\n <input name=\"same\" [value]=\"boolean\" (input)=\"booleanValueHandler($event, item)\" type=\"radio\" />\n }\n </div>\n }\n @case ('string') {\n <ax-text-box (onValueChanged)=\"stringValueHandler($event, item)\">\n <ax-clear-button></ax-clear-button>\n </ax-text-box>\n }\n @case ('number') {\n <ax-number-box (onValueChanged)=\"numberValueHandler($event, item)\"></ax-number-box>\n }\n @case ('date') {\n <ax-datetime-box format=\"yyyy/MM/dd\" (onValueChanged)=\"dateValueHandler($event, item)\">\n <ax-clear-button></ax-clear-button>\n </ax-datetime-box>\n }\n }\n </div>\n <ax-button (onClick)=\"removeRulesHandler(item)\" look=\"blank\" class=\"ax-md\" color=\"danger\">\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-button>\n </div>\n }\n</ng-template>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer components{ax-query-builder{border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);--tw-border-style:solid;border-style:solid;border-width:1px;border-color:var(--color-border-default);width:100%;padding:calc(var(--spacing,.25rem) * 4);display:block}ax-query-builder .ax-add-condition-container{margin-block:calc(var(--spacing,.25rem) * 2);gap:calc(var(--spacing,.25rem) * 2);display:flex}ax-query-builder .ax-recursive-container{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px;border-color:var(--color-border-lightest,rgba(var(--ax-sys-color-border-lightest-surface)));padding-inline-start:calc(var(--spacing,.25rem) * 4)}ax-query-builder .ax-rules-container{margin-block:calc(var(--spacing,.25rem) * 2);align-items:center;display:flex}ax-query-builder .ax-rules-container .ax-input-rules-container{align-items:center;gap:calc(var(--spacing,.25rem) * 2);width:100%;display:flex}ax-query-builder .ax-rules-container:not(:last-child){margin-bottom:calc(var(--spacing,.25rem) * 2)}ax-query-builder .ax-boolean-value-input-container{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}\n/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXButtonGroupComponent, selector: "ax-button-group", inputs: ["disabled", "fitParent", "color", "look", "class", "selection"], outputs: ["onBlur", "onFocus", "lookChange", "colorChange", "disabledChange", "onClick", "selectionChange", "selectedButtonChange"] }, { kind: "component", type: AXButtonGroupItemComponent, selector: "ax-button-group-item", inputs: ["disabled", "color", "text", "class", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange", "classChange"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "component", type: AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "maskPattern", "customTokens", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "onMaskChanged"] }, { kind: "component", type: AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "minValue", "maxValue", "showSpinButtons", "thousandsSeparator", "decimals", "changeOnScroll", "step"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "thousandsSeparatorChange"] }, { kind: "component", type: AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "depth", "id", "type", "look", "holidayDates", "allowTyping", "picker", "calendar", "weekend", "weekdays", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
207
207
|
}
|
|
208
208
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXQueryBuilderComponent, decorators: [{
|
|
209
209
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-query-builder.mjs","sources":["../../../../packages/components/query-builder/src/lib/query-builder.component.ts","../../../../packages/components/query-builder/src/lib/query-builder.component.html","../../../../packages/components/query-builder/src/lib/query-builder.module.ts","../../../../packages/components/query-builder/src/acorex-components-query-builder.ts"],"sourcesContent":["import { AXComponent, AXDataSource, AXValueChangedEvent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXButtonGroupComponent, AXButtonGroupItemComponent } from '@acorex/components/button-group';\nimport { AXDateTimeBoxComponent } from '@acorex/components/datetime-box';\nimport { AXDecoratorClearButtonComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXNumberBoxComponent } from '@acorex/components/number-box';\nimport { AXSelectBoxComponent } from '@acorex/components/select-box';\nimport { AXTextBoxComponent } from '@acorex/components/text-box';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n input,\n model,\n output,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ax-query-builder',\n templateUrl: './query-builder.component.html',\n styleUrls: ['./query-builder.component.compiled.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgTemplateOutlet,\n AXButtonGroupComponent,\n AXButtonGroupItemComponent,\n AXButtonComponent,\n AXDecoratorIconComponent,\n AXSelectBoxComponent,\n AXTextBoxComponent,\n AXDecoratorClearButtonComponent,\n AXNumberBoxComponent,\n AXDateTimeBoxComponent,\n ],\n providers: [{ provide: AXComponent, useExisting: AXQueryBuilderComponent }],\n})\nexport class AXQueryBuilderComponent {\n readonly columnData = input.required<any[]>();\n queryData = model.required<any[]>();\n onValueChanged = output<any[]>();\n protected selectBoxRef = viewChild<AXSelectBoxComponent>('reRender');\n protected selectedItem = signal<any>(null);\n\n ds = new AXDataSource({\n load: async (e) => {\n return {\n items: this.operators[this.selectedItem().type].slice(e.skip, (e.skip ?? 0) + (e.take ?? 0)),\n total: this.operators[this.selectedItem().type].length,\n };\n },\n key: 'id',\n pageSize: 20,\n });\n\n protected operators = {\n string: [\n 'Starts With',\n 'Does Not Start With',\n 'Ends With',\n 'Does Not End With',\n 'Contains',\n 'Does Not Contain',\n 'Equal',\n 'Not Equal',\n 'In',\n 'Not In',\n 'Is Empty',\n 'Is Not Empty',\n 'Is Null',\n 'Is Not Null',\n ],\n boolean: ['Equal', 'Not Equal'],\n number: [\n 'Equal',\n 'Greater Than Or Equal',\n 'Greater Than',\n 'Between',\n 'Less Than',\n 'Not Between',\n 'Less Than Or Equal',\n 'Not Equal',\n 'In',\n 'Not In',\n 'Is Null',\n 'Is Not Null',\n ],\n date: [\n 'Equal',\n 'Greater Than',\n 'Greater Than Or Equal',\n 'Less Than',\n 'Less Than Or Equal',\n 'Not Equal',\n 'Between',\n 'Not Between',\n ],\n };\n\n #eff = effect(() => {\n this.onValueChanged.emit(this.queryData());\n });\n\n protected conditionHandler(e: AXButtonGroupItemComponent, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.condition = e.data;\n return copy;\n });\n }\n\n protected columnDataHandler(e: AXValueChangedEvent<any>, i) {\n this.selectedItem.set(i);\n const selectedItem = e.component.selectedItems[0];\n\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.label = selectedItem.label;\n find.field = selectedItem.field;\n find.type = selectedItem.type;\n if (selectedItem.values) find.inputValues = selectedItem.values;\n return copy;\n });\n\n this.selectBoxRef().refresh();\n this.selectBoxRef().reset();\n }\n\n protected operatorDataHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.operator = e.value;\n return copy;\n });\n }\n\n private recursiveFind(array, predicate, nestedKey) {\n for (const item of array) {\n if (predicate(item)) {\n return item;\n }\n if (Array.isArray(item[nestedKey])) {\n const found = this.recursiveFind(item[nestedKey], predicate, nestedKey);\n if (found) {\n return found;\n }\n }\n }\n return null;\n }\n\n private recursiveRemove(array: any[], predicate: (item: any) => boolean, nestedKey: string): any[] {\n return array\n .filter((item) => !predicate(item))\n .map((item) => ({\n ...item,\n [nestedKey]: Array.isArray(item[nestedKey])\n ? this.recursiveRemove(item[nestedKey], predicate, nestedKey)\n : item[nestedKey],\n }));\n }\n\n protected addRulesHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.rules.push({\n id: Math.random(),\n });\n return copy;\n });\n }\n\n protected addGroupHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.rules.push({\n id: Math.random(),\n condition: 'and',\n rules: [{ id: Math.random() }],\n });\n return copy;\n });\n }\n\n protected booleanValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.target.value;\n return copy;\n });\n }\n\n protected stringValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n\n protected numberValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n\n protected dateValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n\n protected removeGroupHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const filter = this.recursiveRemove(copy, (item) => item.id === i.id, 'rules');\n return filter;\n });\n }\n\n protected removeRulesHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const filter = this.recursiveRemove(copy, (item) => item.id === i.id, 'rules');\n return filter;\n });\n }\n\n protected trackById(_: number, item: any): number {\n return item.id;\n }\n}\n","@for (item of queryData(); track trackById(i, item); let i = $index) {\n <ng-container [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\" [ngTemplateOutlet]=\"query\"> </ng-container>\n}\n\n<ng-template #query let-item let-index=\"index\">\n @if (item.condition) {\n <div class=\"ax-recursive-container\">\n <div class=\"ax-add-condition-container\">\n <ax-button-group\n selection=\"single\"\n (selectedButtonChange)=\"conditionHandler($event, item)\"\n color=\"primary\"\n class=\"ax-sm\"\n >\n <ax-button-group-item data=\"and\" [selected]=\"item.condition === 'and'\" text=\"And\"> </ax-button-group-item>\n <ax-button-group-item data=\"or\" [selected]=\"item.condition === 'or'\" text=\"Or\"> </ax-button-group-item>\n </ax-button-group>\n <ax-button\n (onClick)=\"addRulesHandler(item)\"\n class=\"ax-sm\"\n color=\"primary\"\n look=\"blank\"\n text=\"Add Rules\"\n ></ax-button>\n <ax-button\n (onClick)=\"addGroupHandler(item)\"\n class=\"ax-sm\"\n color=\"primary\"\n look=\"blank\"\n text=\"Add Group\"\n ></ax-button>\n @if (index !== 0) {\n <ax-button look=\"blank\" (onClick)=\"removeGroupHandler(item)\" class=\"ax-sm\" color=\"danger\">\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-button>\n }\n </div>\n\n @for (child of item.rules; track trackById($index, child)) {\n <ng-container [ngTemplateOutletContext]=\"{ $implicit: child }\" [ngTemplateOutlet]=\"query\"> </ng-container>\n }\n </div>\n } @else {\n <div class=\"ax-rules-container\">\n <div class=\"ax-input-rules-container\">\n <ax-select-box\n (onValueChanged)=\"columnDataHandler($event, item)\"\n valueField=\"field\"\n textField=\"label\"\n [dataSource]=\"columnData()\"\n placeholder=\"Select Field\"\n >\n </ax-select-box>\n\n <ax-select-box\n #reRender\n [disabled]=\"!item.field\"\n name=\"selectBoxOperator\"\n (onValueChanged)=\"operatorDataHandler($event, item)\"\n [dataSource]=\"ds\"\n placeholder=\"Select Operator\"\n >\n </ax-select-box>\n\n @switch (item.type) {\n @case ('boolean') {\n <div class=\"ax-boolean-value-input-container\">\n @for (boolean of item.inputValues; track $index) {\n <label>{{ boolean }}</label>\n <input name=\"same\" [value]=\"boolean\" (input)=\"booleanValueHandler($event, item)\" type=\"radio\" />\n }\n </div>\n }\n @case ('string') {\n <ax-text-box (onValueChanged)=\"stringValueHandler($event, item)\">\n <ax-clear-button></ax-clear-button>\n </ax-text-box>\n }\n @case ('number') {\n <ax-number-box (onValueChanged)=\"numberValueHandler($event, item)\"></ax-number-box>\n }\n @case ('date') {\n <ax-datetime-box format=\"yyyy/MM/dd\" (onValueChanged)=\"dateValueHandler($event, item)\">\n <ax-clear-button></ax-clear-button>\n </ax-datetime-box>\n }\n }\n </div>\n <ax-button (onClick)=\"removeRulesHandler(item)\" look=\"blank\" class=\"ax-md\" color=\"danger\">\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-button>\n </div>\n }\n</ng-template>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDateTimeBoxModule } from '@acorex/components/datetime-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXQueryBuilderComponent } from './query-builder.component';\n\nconst COMPONENT = [AXQueryBuilderComponent];\n\nconst MODULES = [\n AXButtonGroupModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXTextBoxModule,\n AXNumberBoxModule,\n AXDateTimeBoxModule,\n CommonModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXQueryBuilderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-components-query-builder.mjs","sources":["../../../../packages/components/query-builder/src/lib/query-builder.component.ts","../../../../packages/components/query-builder/src/lib/query-builder.component.html","../../../../packages/components/query-builder/src/lib/query-builder.module.ts","../../../../packages/components/query-builder/src/acorex-components-query-builder.ts"],"sourcesContent":["import { AXComponent, AXDataSource, AXValueChangedEvent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXButtonGroupComponent, AXButtonGroupItemComponent } from '@acorex/components/button-group';\nimport { AXDateTimeBoxComponent } from '@acorex/components/datetime-box';\nimport { AXDecoratorClearButtonComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXNumberBoxComponent } from '@acorex/components/number-box';\nimport { AXSelectBoxComponent } from '@acorex/components/select-box';\nimport { AXTextBoxComponent } from '@acorex/components/text-box';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n input,\n model,\n output,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ax-query-builder',\n templateUrl: './query-builder.component.html',\n styleUrls: ['./query-builder.component.compiled.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgTemplateOutlet,\n AXButtonGroupComponent,\n AXButtonGroupItemComponent,\n AXButtonComponent,\n AXDecoratorIconComponent,\n AXSelectBoxComponent,\n AXTextBoxComponent,\n AXDecoratorClearButtonComponent,\n AXNumberBoxComponent,\n AXDateTimeBoxComponent,\n ],\n providers: [{ provide: AXComponent, useExisting: AXQueryBuilderComponent }],\n})\nexport class AXQueryBuilderComponent {\n readonly columnData = input.required<any[]>();\n queryData = model.required<any[]>();\n onValueChanged = output<any[]>();\n protected selectBoxRef = viewChild<AXSelectBoxComponent>('reRender');\n protected selectedItem = signal<any>(null);\n\n ds = new AXDataSource({\n load: async (e) => {\n return {\n items: this.operators[this.selectedItem().type].slice(e.skip, (e.skip ?? 0) + (e.take ?? 0)),\n total: this.operators[this.selectedItem().type].length,\n };\n },\n key: 'id',\n pageSize: 20,\n });\n\n protected operators = {\n string: [\n 'Starts With',\n 'Does Not Start With',\n 'Ends With',\n 'Does Not End With',\n 'Contains',\n 'Does Not Contain',\n 'Equal',\n 'Not Equal',\n 'In',\n 'Not In',\n 'Is Empty',\n 'Is Not Empty',\n 'Is Null',\n 'Is Not Null',\n ],\n boolean: ['Equal', 'Not Equal'],\n number: [\n 'Equal',\n 'Greater Than Or Equal',\n 'Greater Than',\n 'Between',\n 'Less Than',\n 'Not Between',\n 'Less Than Or Equal',\n 'Not Equal',\n 'In',\n 'Not In',\n 'Is Null',\n 'Is Not Null',\n ],\n date: [\n 'Equal',\n 'Greater Than',\n 'Greater Than Or Equal',\n 'Less Than',\n 'Less Than Or Equal',\n 'Not Equal',\n 'Between',\n 'Not Between',\n ],\n };\n\n #eff = effect(() => {\n this.onValueChanged.emit(this.queryData());\n });\n\n protected conditionHandler(e: AXButtonGroupItemComponent, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.condition = e.data;\n return copy;\n });\n }\n\n protected columnDataHandler(e: AXValueChangedEvent<any>, i) {\n this.selectedItem.set(i);\n const selectedItem = e.component.selectedItems[0];\n\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.label = selectedItem.label;\n find.field = selectedItem.field;\n find.type = selectedItem.type;\n if (selectedItem.values) find.inputValues = selectedItem.values;\n return copy;\n });\n\n this.selectBoxRef().refresh();\n this.selectBoxRef().reset();\n }\n\n protected operatorDataHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.operator = e.value;\n return copy;\n });\n }\n\n private recursiveFind(array, predicate, nestedKey) {\n for (const item of array) {\n if (predicate(item)) {\n return item;\n }\n if (Array.isArray(item[nestedKey])) {\n const found = this.recursiveFind(item[nestedKey], predicate, nestedKey);\n if (found) {\n return found;\n }\n }\n }\n return null;\n }\n\n private recursiveRemove(array: any[], predicate: (item: any) => boolean, nestedKey: string): any[] {\n return array\n .filter((item) => !predicate(item))\n .map((item) => ({\n ...item,\n [nestedKey]: Array.isArray(item[nestedKey])\n ? this.recursiveRemove(item[nestedKey], predicate, nestedKey)\n : item[nestedKey],\n }));\n }\n\n protected addRulesHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.rules.push({\n id: Math.random(),\n });\n return copy;\n });\n }\n\n protected addGroupHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.rules.push({\n id: Math.random(),\n condition: 'and',\n rules: [{ id: Math.random() }],\n });\n return copy;\n });\n }\n\n protected booleanValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.target.value;\n return copy;\n });\n }\n\n protected stringValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n\n protected numberValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n\n protected dateValueHandler(e, i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const find = this.recursiveFind(copy, (item) => item.id === i.id, 'rules');\n find.value = e.value;\n return copy;\n });\n }\n\n protected removeGroupHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const filter = this.recursiveRemove(copy, (item) => item.id === i.id, 'rules');\n return filter;\n });\n }\n\n protected removeRulesHandler(i) {\n this.queryData.update((prev) => {\n const copy = [...prev];\n const filter = this.recursiveRemove(copy, (item) => item.id === i.id, 'rules');\n return filter;\n });\n }\n\n protected trackById(_: number, item: any): number {\n return item.id;\n }\n}\n","@for (item of queryData(); track trackById(i, item); let i = $index) {\n <ng-container [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\" [ngTemplateOutlet]=\"query\"> </ng-container>\n}\n\n<ng-template #query let-item let-index=\"index\">\n @if (item.condition) {\n <div class=\"ax-recursive-container\">\n <div class=\"ax-add-condition-container\">\n <ax-button-group\n selection=\"single\"\n (selectedButtonChange)=\"conditionHandler($event, item)\"\n color=\"primary\"\n class=\"ax-sm\"\n >\n <ax-button-group-item data=\"and\" [selected]=\"item.condition === 'and'\" text=\"And\"> </ax-button-group-item>\n <ax-button-group-item data=\"or\" [selected]=\"item.condition === 'or'\" text=\"Or\"> </ax-button-group-item>\n </ax-button-group>\n <ax-button\n (onClick)=\"addRulesHandler(item)\"\n class=\"ax-sm\"\n color=\"primary\"\n look=\"blank\"\n text=\"Add Rules\"\n ></ax-button>\n <ax-button\n (onClick)=\"addGroupHandler(item)\"\n class=\"ax-sm\"\n color=\"primary\"\n look=\"blank\"\n text=\"Add Group\"\n ></ax-button>\n @if (index !== 0) {\n <ax-button look=\"blank\" (onClick)=\"removeGroupHandler(item)\" class=\"ax-sm\" color=\"danger\">\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-button>\n }\n </div>\n\n @for (child of item.rules; track trackById($index, child)) {\n <ng-container [ngTemplateOutletContext]=\"{ $implicit: child }\" [ngTemplateOutlet]=\"query\"> </ng-container>\n }\n </div>\n } @else {\n <div class=\"ax-rules-container\">\n <div class=\"ax-input-rules-container\">\n <ax-select-box\n (onValueChanged)=\"columnDataHandler($event, item)\"\n valueField=\"field\"\n textField=\"label\"\n [dataSource]=\"columnData()\"\n placeholder=\"Select Field\"\n >\n </ax-select-box>\n\n <ax-select-box\n #reRender\n [disabled]=\"!item.field\"\n name=\"selectBoxOperator\"\n (onValueChanged)=\"operatorDataHandler($event, item)\"\n [dataSource]=\"ds\"\n placeholder=\"Select Operator\"\n >\n </ax-select-box>\n\n @switch (item.type) {\n @case ('boolean') {\n <div class=\"ax-boolean-value-input-container\">\n @for (boolean of item.inputValues; track $index) {\n <label>{{ boolean }}</label>\n <input name=\"same\" [value]=\"boolean\" (input)=\"booleanValueHandler($event, item)\" type=\"radio\" />\n }\n </div>\n }\n @case ('string') {\n <ax-text-box (onValueChanged)=\"stringValueHandler($event, item)\">\n <ax-clear-button></ax-clear-button>\n </ax-text-box>\n }\n @case ('number') {\n <ax-number-box (onValueChanged)=\"numberValueHandler($event, item)\"></ax-number-box>\n }\n @case ('date') {\n <ax-datetime-box format=\"yyyy/MM/dd\" (onValueChanged)=\"dateValueHandler($event, item)\">\n <ax-clear-button></ax-clear-button>\n </ax-datetime-box>\n }\n }\n </div>\n <ax-button (onClick)=\"removeRulesHandler(item)\" look=\"blank\" class=\"ax-md\" color=\"danger\">\n <ax-icon icon=\"ax-icon ax-icon-trash\"></ax-icon>\n </ax-button>\n </div>\n }\n</ng-template>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDateTimeBoxModule } from '@acorex/components/datetime-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXQueryBuilderComponent } from './query-builder.component';\n\nconst COMPONENT = [AXQueryBuilderComponent];\n\nconst MODULES = [\n AXButtonGroupModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n AXButtonModule,\n AXTextBoxModule,\n AXNumberBoxModule,\n AXDateTimeBoxModule,\n CommonModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXQueryBuilderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|