@factor_ec/ui 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/io/expression-builder/expression-builder.component.mjs +72 -0
- package/esm2020/lib/io/io.module.mjs +10 -5
- package/esm2020/lib/models/module-configuration.mjs +2 -0
- package/esm2020/lib/ui.module.mjs +9 -1
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/factor_ec-ui.mjs +85 -5
- package/fesm2015/factor_ec-ui.mjs.map +1 -1
- package/fesm2020/factor_ec-ui.mjs +85 -5
- package/fesm2020/factor_ec-ui.mjs.map +1 -1
- package/lib/io/expression-builder/expression-builder.component.d.ts +46 -0
- package/lib/io/io.module.d.ts +6 -5
- package/lib/models/module-configuration.d.ts +6 -0
- package/lib/ui.module.d.ts +3 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../icon/icon.component";
|
|
5
|
+
export class ExpressionBuilderComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.properties = [
|
|
8
|
+
{ label: 'Nombre', type: 'string', field: 'name' },
|
|
9
|
+
{ label: 'Monto', type: 'number', field: 'amount' },
|
|
10
|
+
{ label: 'Tarjeta adicional', type: 'boolean', field: 'additional' }
|
|
11
|
+
];
|
|
12
|
+
this.groupOperators = [
|
|
13
|
+
{ label: 'Y', value: 'AND' },
|
|
14
|
+
{ label: 'O', value: 'OR' }
|
|
15
|
+
];
|
|
16
|
+
this.filters = {
|
|
17
|
+
id: 'root',
|
|
18
|
+
type: 'group',
|
|
19
|
+
operator: 'AND',
|
|
20
|
+
children: [
|
|
21
|
+
{
|
|
22
|
+
type: 'filter',
|
|
23
|
+
property: '',
|
|
24
|
+
operator: '>',
|
|
25
|
+
value: ''
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'filter',
|
|
29
|
+
property: '',
|
|
30
|
+
operator: true,
|
|
31
|
+
value: ''
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
type: 'filter',
|
|
35
|
+
property: '',
|
|
36
|
+
operator: '==',
|
|
37
|
+
value: ''
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
type: 'group',
|
|
41
|
+
operator: 'OR',
|
|
42
|
+
children: [
|
|
43
|
+
{
|
|
44
|
+
type: 'filter',
|
|
45
|
+
property: '',
|
|
46
|
+
operator: '==',
|
|
47
|
+
value: ''
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
add(type, filter) {
|
|
55
|
+
if (!filter.children) {
|
|
56
|
+
filter.children = [];
|
|
57
|
+
}
|
|
58
|
+
filter.children.push({ type });
|
|
59
|
+
filter.children = filter.children.sort((a, b) => a.type !== 'group' ? -1 : 0);
|
|
60
|
+
}
|
|
61
|
+
remove(filter, parent) {
|
|
62
|
+
const index = parent.indexOf(filter);
|
|
63
|
+
parent.splice(index, 1);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
ExpressionBuilderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ExpressionBuilderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
+
ExpressionBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: ExpressionBuilderComponent, selector: "ft-expression-builder", ngImport: i0, template: "<ng-container [ngTemplateOutlet]=\"filterGroupTemplate\" [ngTemplateOutletContext]=\"{filter:filters, parent:null}\">\n</ng-container>\n<ng-template #filterGroupTemplate let-filter=\"filter\" let-parent=\"parent\">\n <div class=\"ft-filter\">\n <div class=\"ft-filter__tools\">\n <button type=\"button\" class=\"filter__button filter__button--icon filter__button--toggle\"\n (click)=\"filter.collapsed = !filter.collapsed\" *ngIf=\"filter.children && filter.children.length > 0\">\n <ft-icon name=\"angle-right\" [ngClass]=\"{'ft-icon--open': !filter.collapsed}\"></ft-icon>\n </button>\n <div class=\"ft-filter__button-group\">\n <button type=\"button\" class=\"filter__button\"\n [ngClass]=\"{'ft-filter__button--active': filter.operator === operator.value}\"\n *ngFor=\"let operator of groupOperators\" (click)=\"filter.operator = operator.value\">{{ operator.label\n }}</button>\n </div>\n <button type=\"button\" class=\"ft-filter__button\" (click)=\"add('filter', filter)\" *ngIf=\"filter.operator\">Agregar\n filtro</button>\n <button type=\"button\" class=\"ft-filter__button\" (click)=\"add('group', filter)\" *ngIf=\"filter.operator\">Agregar\n grupo</button>\n <button type=\"button\" class=\"ft-filter__button filter__button--icon filter__button--remove\"\n (click)=\"remove(filter, parent)\" *ngIf=\"parent\">\n <ft-icon name=\"close\"></ft-icon>\n </button>\n </div>\n <div class=\"ft-filter__children\" *ngIf=\"filter.children && filter.children.length > 0 && !filter.collapsed\">\n <ng-container *ngFor=\"let child of filter.children\">\n <ng-container [ngTemplateOutlet]=\"child.type === 'group' ? filterGroupTemplate : filterTemplate\"\n [ngTemplateOutletContext]=\"{filter:child, parent:filter.children}\">\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n<ng-template #filterTemplate let-filter=\"filter\" let-parent=\"parent\">\n <div class=\"ft-filter\">\n <div class=\"ft-filter__tools\">\n <select class=\"filter__input\">\n <option *ngFor=\"let property of properties\" value=\"property.value\">{{ property.label }}</option>\n </select>\n <select class=\"ft-filter__input\">\n <option>Mayor que</option>\n <option>Mayor igual que</option>\n <option>Igual que</option>\n <option>Menor que</option>\n <option>Menor igual que</option>\n </select>\n <input type=\"text\" class=\"ft-filter__input\" />\n <button type=\"button\" class=\"filter__button filter__button--icon\" (click)=\"remove(filter, parent)\">\n <ft-icon name=\"close\"></ft-icon>\n </button>\n </div>\n </div>\n</ng-template>", styles: [":host{display:block;padding:2rem}.ft-filter{--focus-color: #00bcd4;--focus-color-rgb: 0, 188, 212;display:inline-flex;flex-direction:column;align-items:flex-start;gap:.5rem}.ft-filter__tools{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem;background-color:#0000000d;border:1px solid rgba(0,0,0,.1);border-radius:.5rem;overflow:hidden}.ft-filter__children{padding-left:1rem;position:relative;display:inline-flex;flex-direction:column;align-items:flex-start;gap:.5rem}.ft-filter__button{border:1px solid rgba(0,0,0,.2);background-color:transparent;border-radius:.25rem;padding:.25rem .5rem;background-color:#ffffff4d}.ft-filter__button--icon{border-color:transparent;background-color:transparent;padding:.25rem}.ft-filter__button--active{background-color:var(--focus-color);color:#fff}.ft-filter__button:not(.ft-filter__button--active):hover{border-color:var(--focus-color);background-color:rgba(var(--focus-color-rgb),.1)}.ft-filter__button:not(.ft-filter__button--active):active{background-color:rgba(var(--focus-color-rgb),.3)}.ft-filter__button:focus{outline:none;border-color:var(--focus-color)}.ft-filter__button .ft-icon{display:block;transition:transform .2s}.ft-filter__button .ft-icon--open{transform:rotate(90deg)}.ft-filter__button-group .ft-filter__button{border-radius:0}.ft-filter__button-group .ft-filter__button:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-right:0}.ft-filter__button-group .ft-filter__button:last-child{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.ft-filter__input{background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:.25rem;padding:.25rem;transition:box-shadow .2s}.ft-filter__input:hover{border-color:var(--focus-color)}.ft-filter__input:focus{outline:none;border-color:var(--focus-color);box-shadow:0 0 0 2px rgba(var(--focus-color-rgb),.2)}.ft-filter select.ft-filter__input{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right .5rem center;background-size:.625rem;padding-right:1.5rem;-webkit-appearance:none;appearance:none}@keyframes slide-right{0%{margin-left:calc(-40px + .5rem)}to{margin-left:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IconComponent, selector: "ft-icon", inputs: ["class", "collection", "mode", "name", "path", "size", "src"] }] });
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ExpressionBuilderComponent, decorators: [{
|
|
69
|
+
type: Component,
|
|
70
|
+
args: [{ selector: 'ft-expression-builder', template: "<ng-container [ngTemplateOutlet]=\"filterGroupTemplate\" [ngTemplateOutletContext]=\"{filter:filters, parent:null}\">\n</ng-container>\n<ng-template #filterGroupTemplate let-filter=\"filter\" let-parent=\"parent\">\n <div class=\"ft-filter\">\n <div class=\"ft-filter__tools\">\n <button type=\"button\" class=\"filter__button filter__button--icon filter__button--toggle\"\n (click)=\"filter.collapsed = !filter.collapsed\" *ngIf=\"filter.children && filter.children.length > 0\">\n <ft-icon name=\"angle-right\" [ngClass]=\"{'ft-icon--open': !filter.collapsed}\"></ft-icon>\n </button>\n <div class=\"ft-filter__button-group\">\n <button type=\"button\" class=\"filter__button\"\n [ngClass]=\"{'ft-filter__button--active': filter.operator === operator.value}\"\n *ngFor=\"let operator of groupOperators\" (click)=\"filter.operator = operator.value\">{{ operator.label\n }}</button>\n </div>\n <button type=\"button\" class=\"ft-filter__button\" (click)=\"add('filter', filter)\" *ngIf=\"filter.operator\">Agregar\n filtro</button>\n <button type=\"button\" class=\"ft-filter__button\" (click)=\"add('group', filter)\" *ngIf=\"filter.operator\">Agregar\n grupo</button>\n <button type=\"button\" class=\"ft-filter__button filter__button--icon filter__button--remove\"\n (click)=\"remove(filter, parent)\" *ngIf=\"parent\">\n <ft-icon name=\"close\"></ft-icon>\n </button>\n </div>\n <div class=\"ft-filter__children\" *ngIf=\"filter.children && filter.children.length > 0 && !filter.collapsed\">\n <ng-container *ngFor=\"let child of filter.children\">\n <ng-container [ngTemplateOutlet]=\"child.type === 'group' ? filterGroupTemplate : filterTemplate\"\n [ngTemplateOutletContext]=\"{filter:child, parent:filter.children}\">\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n<ng-template #filterTemplate let-filter=\"filter\" let-parent=\"parent\">\n <div class=\"ft-filter\">\n <div class=\"ft-filter__tools\">\n <select class=\"filter__input\">\n <option *ngFor=\"let property of properties\" value=\"property.value\">{{ property.label }}</option>\n </select>\n <select class=\"ft-filter__input\">\n <option>Mayor que</option>\n <option>Mayor igual que</option>\n <option>Igual que</option>\n <option>Menor que</option>\n <option>Menor igual que</option>\n </select>\n <input type=\"text\" class=\"ft-filter__input\" />\n <button type=\"button\" class=\"filter__button filter__button--icon\" (click)=\"remove(filter, parent)\">\n <ft-icon name=\"close\"></ft-icon>\n </button>\n </div>\n </div>\n</ng-template>", styles: [":host{display:block;padding:2rem}.ft-filter{--focus-color: #00bcd4;--focus-color-rgb: 0, 188, 212;display:inline-flex;flex-direction:column;align-items:flex-start;gap:.5rem}.ft-filter__tools{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem;background-color:#0000000d;border:1px solid rgba(0,0,0,.1);border-radius:.5rem;overflow:hidden}.ft-filter__children{padding-left:1rem;position:relative;display:inline-flex;flex-direction:column;align-items:flex-start;gap:.5rem}.ft-filter__button{border:1px solid rgba(0,0,0,.2);background-color:transparent;border-radius:.25rem;padding:.25rem .5rem;background-color:#ffffff4d}.ft-filter__button--icon{border-color:transparent;background-color:transparent;padding:.25rem}.ft-filter__button--active{background-color:var(--focus-color);color:#fff}.ft-filter__button:not(.ft-filter__button--active):hover{border-color:var(--focus-color);background-color:rgba(var(--focus-color-rgb),.1)}.ft-filter__button:not(.ft-filter__button--active):active{background-color:rgba(var(--focus-color-rgb),.3)}.ft-filter__button:focus{outline:none;border-color:var(--focus-color)}.ft-filter__button .ft-icon{display:block;transition:transform .2s}.ft-filter__button .ft-icon--open{transform:rotate(90deg)}.ft-filter__button-group .ft-filter__button{border-radius:0}.ft-filter__button-group .ft-filter__button:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-right:0}.ft-filter__button-group .ft-filter__button:last-child{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.ft-filter__input{background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:.25rem;padding:.25rem;transition:box-shadow .2s}.ft-filter__input:hover{border-color:var(--focus-color)}.ft-filter__input:focus{outline:none;border-color:var(--focus-color);box-shadow:0 0 0 2px rgba(var(--focus-color-rgb),.2)}.ft-filter select.ft-filter__input{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right .5rem center;background-size:.625rem;padding-right:1.5rem;-webkit-appearance:none;appearance:none}@keyframes slide-right{0%{margin-left:calc(-40px + .5rem)}to{margin-left:0}}\n"] }]
|
|
71
|
+
}], ctorParameters: function () { return []; } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwcmVzc2lvbi1idWlsZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvaW8vZXhwcmVzc2lvbi1idWlsZGVyL2V4cHJlc3Npb24tYnVpbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lvL2V4cHJlc3Npb24tYnVpbGRlci9leHByZXNzaW9uLWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU8xQyxNQUFNLE9BQU8sMEJBQTBCO0lBZ0RyQztRQS9DQSxlQUFVLEdBQUc7WUFDWCxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQ2xELEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7WUFDbkQsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFO1NBQ3JFLENBQUM7UUFDRixtQkFBYyxHQUFHO1lBQ2YsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7WUFDNUIsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7U0FDNUIsQ0FBQztRQUNGLFlBQU8sR0FBRztZQUNSLEVBQUUsRUFBRSxNQUFNO1lBQ1YsSUFBSSxFQUFFLE9BQU87WUFDYixRQUFRLEVBQUUsS0FBSztZQUNmLFFBQVEsRUFBRTtnQkFDUjtvQkFDRSxJQUFJLEVBQUUsUUFBUTtvQkFDZCxRQUFRLEVBQUUsRUFBRTtvQkFDWixRQUFRLEVBQUUsR0FBRztvQkFDYixLQUFLLEVBQUUsRUFBRTtpQkFDVjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsUUFBUTtvQkFDZCxRQUFRLEVBQUUsRUFBRTtvQkFDWixRQUFRLEVBQUUsSUFBSTtvQkFDZCxLQUFLLEVBQUUsRUFBRTtpQkFDVjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsUUFBUTtvQkFDZCxRQUFRLEVBQUUsRUFBRTtvQkFDWixRQUFRLEVBQUUsSUFBSTtvQkFDZCxLQUFLLEVBQUUsRUFBRTtpQkFDVjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsT0FBTztvQkFDYixRQUFRLEVBQUUsSUFBSTtvQkFDZCxRQUFRLEVBQUU7d0JBQ1I7NEJBQ0UsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsUUFBUSxFQUFFLEVBQUU7NEJBQ1osUUFBUSxFQUFFLElBQUk7NEJBQ2QsS0FBSyxFQUFFLEVBQUU7eUJBQ1Y7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7SUFFYyxDQUFDO0lBRWpCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsTUFBVztRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNwQixNQUFNLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztTQUN0QjtRQUNELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMvQixNQUFNLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBQ0QsTUFBTSxDQUFDLE1BQVcsRUFBRSxNQUFhO1FBQy9CLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7dUhBNURVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDZEQ1B2QyxxaEdBb0RjOzJGRDdDRCwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z0LWV4cHJlc3Npb24tYnVpbGRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9leHByZXNzaW9uLWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9leHByZXNzaW9uLWJ1aWxkZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBFeHByZXNzaW9uQnVpbGRlckNvbXBvbmVudCB7XG4gIHByb3BlcnRpZXMgPSBbXG4gICAgeyBsYWJlbDogJ05vbWJyZScsIHR5cGU6ICdzdHJpbmcnLCBmaWVsZDogJ25hbWUnIH0sXG4gICAgeyBsYWJlbDogJ01vbnRvJywgdHlwZTogJ251bWJlcicsIGZpZWxkOiAnYW1vdW50JyB9LFxuICAgIHsgbGFiZWw6ICdUYXJqZXRhIGFkaWNpb25hbCcsIHR5cGU6ICdib29sZWFuJywgZmllbGQ6ICdhZGRpdGlvbmFsJyB9XG4gIF07XG4gIGdyb3VwT3BlcmF0b3JzID0gW1xuICAgIHsgbGFiZWw6ICdZJywgdmFsdWU6ICdBTkQnIH0sXG4gICAgeyBsYWJlbDogJ08nLCB2YWx1ZTogJ09SJyB9XG4gIF07XG4gIGZpbHRlcnMgPSB7XG4gICAgaWQ6ICdyb290JyxcbiAgICB0eXBlOiAnZ3JvdXAnLFxuICAgIG9wZXJhdG9yOiAnQU5EJyxcbiAgICBjaGlsZHJlbjogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnZmlsdGVyJyxcbiAgICAgICAgcHJvcGVydHk6ICcnLFxuICAgICAgICBvcGVyYXRvcjogJz4nLFxuICAgICAgICB2YWx1ZTogJydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdmaWx0ZXInLFxuICAgICAgICBwcm9wZXJ0eTogJycsXG4gICAgICAgIG9wZXJhdG9yOiB0cnVlLFxuICAgICAgICB2YWx1ZTogJydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdmaWx0ZXInLFxuICAgICAgICBwcm9wZXJ0eTogJycsXG4gICAgICAgIG9wZXJhdG9yOiAnPT0nLFxuICAgICAgICB2YWx1ZTogJydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdncm91cCcsXG4gICAgICAgIG9wZXJhdG9yOiAnT1InLFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdmaWx0ZXInLFxuICAgICAgICAgICAgcHJvcGVydHk6ICcnLFxuICAgICAgICAgICAgb3BlcmF0b3I6ICc9PScsXG4gICAgICAgICAgICB2YWx1ZTogJydcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICBdXG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBhZGQodHlwZTogc3RyaW5nLCBmaWx0ZXI6IGFueSk6IHZvaWQge1xuICAgIGlmICghZmlsdGVyLmNoaWxkcmVuKSB7XG4gICAgICBmaWx0ZXIuY2hpbGRyZW4gPSBbXTtcbiAgICB9XG4gICAgZmlsdGVyLmNoaWxkcmVuLnB1c2goeyB0eXBlIH0pO1xuICAgIGZpbHRlci5jaGlsZHJlbiA9IGZpbHRlci5jaGlsZHJlbi5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4gYS50eXBlICE9PSAnZ3JvdXAnID8gLTEgOiAwKTtcbiAgfVxuICByZW1vdmUoZmlsdGVyOiBhbnksIHBhcmVudDogYW55W10pOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHBhcmVudC5pbmRleE9mKGZpbHRlcik7XG4gICAgcGFyZW50LnNwbGljZShpbmRleCwgMSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZmlsdGVyR3JvdXBUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ZmlsdGVyOmZpbHRlcnMsIHBhcmVudDpudWxsfVwiPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI2ZpbHRlckdyb3VwVGVtcGxhdGUgbGV0LWZpbHRlcj1cImZpbHRlclwiIGxldC1wYXJlbnQ9XCJwYXJlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZnQtZmlsdGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmdC1maWx0ZXJfX3Rvb2xzXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZpbHRlcl9fYnV0dG9uIGZpbHRlcl9fYnV0dG9uLS1pY29uIGZpbHRlcl9fYnV0dG9uLS10b2dnbGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJmaWx0ZXIuY29sbGFwc2VkID0gIWZpbHRlci5jb2xsYXBzZWRcIiAqbmdJZj1cImZpbHRlci5jaGlsZHJlbiAmJiBmaWx0ZXIuY2hpbGRyZW4ubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICAgIDxmdC1pY29uIG5hbWU9XCJhbmdsZS1yaWdodFwiIFtuZ0NsYXNzXT1cInsnZnQtaWNvbi0tb3Blbic6ICFmaWx0ZXIuY29sbGFwc2VkfVwiPjwvZnQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ0LWZpbHRlcl9fYnV0dG9uLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmaWx0ZXJfX2J1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZnQtZmlsdGVyX19idXR0b24tLWFjdGl2ZSc6IGZpbHRlci5vcGVyYXRvciA9PT0gb3BlcmF0b3IudmFsdWV9XCJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wZXJhdG9yIG9mIGdyb3VwT3BlcmF0b3JzXCIgKGNsaWNrKT1cImZpbHRlci5vcGVyYXRvciA9IG9wZXJhdG9yLnZhbHVlXCI+e3sgb3BlcmF0b3IubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgfX08L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmdC1maWx0ZXJfX2J1dHRvblwiIChjbGljayk9XCJhZGQoJ2ZpbHRlcicsIGZpbHRlcilcIiAqbmdJZj1cImZpbHRlci5vcGVyYXRvclwiPkFncmVnYXJcbiAgICAgICAgICAgICAgICBmaWx0cm88L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZnQtZmlsdGVyX19idXR0b25cIiAoY2xpY2spPVwiYWRkKCdncm91cCcsIGZpbHRlcilcIiAqbmdJZj1cImZpbHRlci5vcGVyYXRvclwiPkFncmVnYXJcbiAgICAgICAgICAgICAgICBncnVwbzwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmdC1maWx0ZXJfX2J1dHRvbiBmaWx0ZXJfX2J1dHRvbi0taWNvbiBmaWx0ZXJfX2J1dHRvbi0tcmVtb3ZlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlKGZpbHRlciwgcGFyZW50KVwiICpuZ0lmPVwicGFyZW50XCI+XG4gICAgICAgICAgICAgICAgPGZ0LWljb24gbmFtZT1cImNsb3NlXCI+PC9mdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnQtZmlsdGVyX19jaGlsZHJlblwiICpuZ0lmPVwiZmlsdGVyLmNoaWxkcmVuICYmIGZpbHRlci5jaGlsZHJlbi5sZW5ndGggPiAwICYmICFmaWx0ZXIuY29sbGFwc2VkXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBmaWx0ZXIuY2hpbGRyZW5cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNoaWxkLnR5cGUgPT09ICdncm91cCcgPyBmaWx0ZXJHcm91cFRlbXBsYXRlIDogZmlsdGVyVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2ZpbHRlcjpjaGlsZCwgcGFyZW50OmZpbHRlci5jaGlsZHJlbn1cIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2ZpbHRlclRlbXBsYXRlIGxldC1maWx0ZXI9XCJmaWx0ZXJcIiBsZXQtcGFyZW50PVwicGFyZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImZ0LWZpbHRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnQtZmlsdGVyX190b29sc1wiPlxuICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZpbHRlcl9faW5wdXRcIj5cbiAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzXCIgdmFsdWU9XCJwcm9wZXJ0eS52YWx1ZVwiPnt7IHByb3BlcnR5LmxhYmVsIH19PC9vcHRpb24+XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmdC1maWx0ZXJfX2lucHV0XCI+XG4gICAgICAgICAgICAgICAgPG9wdGlvbj5NYXlvciBxdWU8L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8b3B0aW9uPk1heW9yIGlndWFsIHF1ZTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDxvcHRpb24+SWd1YWwgcXVlPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPG9wdGlvbj5NZW5vciBxdWU8L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8b3B0aW9uPk1lbm9yIGlndWFsIHF1ZTwvb3B0aW9uPlxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZ0LWZpbHRlcl9faW5wdXRcIiAvPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmaWx0ZXJfX2J1dHRvbiBmaWx0ZXJfX2J1dHRvbi0taWNvblwiIChjbGljayk9XCJyZW1vdmUoZmlsdGVyLCBwYXJlbnQpXCI+XG4gICAgICAgICAgICAgICAgPGZ0LWljb24gbmFtZT1cImNsb3NlXCI+PC9mdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -13,6 +13,7 @@ import { ObserveIntersectingDirective } from './observe-intersecting.directive';
|
|
|
13
13
|
import { TimelineComponent } from './timeline/timeline.component';
|
|
14
14
|
import { ListviewComponent } from './listview/listview.component';
|
|
15
15
|
import { MessageContentComponent } from './message-content/message-content.component';
|
|
16
|
+
import { ExpressionBuilderComponent } from './expression-builder/expression-builder.component';
|
|
16
17
|
import * as i0 from "@angular/core";
|
|
17
18
|
export class IoModule {
|
|
18
19
|
}
|
|
@@ -26,7 +27,8 @@ IoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0
|
|
|
26
27
|
ObserveIntersectingDirective,
|
|
27
28
|
TimelineComponent,
|
|
28
29
|
ListviewComponent,
|
|
29
|
-
MessageContentComponent
|
|
30
|
+
MessageContentComponent,
|
|
31
|
+
ExpressionBuilderComponent], imports: [CommonModule,
|
|
30
32
|
MatButtonModule,
|
|
31
33
|
MatDialogModule,
|
|
32
34
|
MatSnackBarModule], exports: [AvatarComponent,
|
|
@@ -38,7 +40,8 @@ IoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0
|
|
|
38
40
|
ObserveIntersectingDirective,
|
|
39
41
|
TimelineComponent,
|
|
40
42
|
ListviewComponent,
|
|
41
|
-
MessageContentComponent
|
|
43
|
+
MessageContentComponent,
|
|
44
|
+
ExpressionBuilderComponent] });
|
|
42
45
|
IoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: IoModule, imports: [CommonModule,
|
|
43
46
|
MatButtonModule,
|
|
44
47
|
MatDialogModule,
|
|
@@ -56,7 +59,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
|
|
|
56
59
|
ObserveIntersectingDirective,
|
|
57
60
|
TimelineComponent,
|
|
58
61
|
ListviewComponent,
|
|
59
|
-
MessageContentComponent
|
|
62
|
+
MessageContentComponent,
|
|
63
|
+
ExpressionBuilderComponent
|
|
60
64
|
],
|
|
61
65
|
imports: [
|
|
62
66
|
CommonModule,
|
|
@@ -74,8 +78,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
|
|
|
74
78
|
ObserveIntersectingDirective,
|
|
75
79
|
TimelineComponent,
|
|
76
80
|
ListviewComponent,
|
|
77
|
-
MessageContentComponent
|
|
81
|
+
MessageContentComponent,
|
|
82
|
+
ExpressionBuilderComponent
|
|
78
83
|
]
|
|
79
84
|
}]
|
|
80
85
|
}] });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pby9pby5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbURBQW1ELENBQUM7O0FBb0MvRixNQUFNLE9BQU8sUUFBUTs7cUdBQVIsUUFBUTtzR0FBUixRQUFRLGlCQWhDakIsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixlQUFlO1FBQ2YsNEJBQTRCO1FBQzVCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsdUJBQXVCO1FBQ3ZCLDBCQUEwQixhQUcxQixZQUFZO1FBQ1osZUFBZTtRQUNmLGVBQWU7UUFDZixpQkFBaUIsYUFHakIsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixlQUFlO1FBQ2YsNEJBQTRCO1FBQzVCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsdUJBQXVCO1FBQ3ZCLDBCQUEwQjtzR0FHakIsUUFBUSxZQW5CakIsWUFBWTtRQUNaLGVBQWU7UUFDZixlQUFlO1FBQ2YsaUJBQWlCOzJGQWdCUixRQUFRO2tCQWxDcEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZUFBZTt3QkFDZixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsNEJBQTRCO3dCQUM1QixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QiwwQkFBMEI7cUJBQzNCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZiw0QkFBNEI7d0JBQzVCLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQix1QkFBdUI7d0JBQ3ZCLDBCQUEwQjtxQkFDM0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuXG5pbXBvcnQgeyBBdmF0YXJDb21wb25lbnQgfSBmcm9tICcuL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuL2ltYWdlL2ltYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlL21lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2dyZXNzQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9ncmVzcy9wcm9ncmVzcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmF0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi9yYXRpbmcvcmF0aW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYnNlcnZlSW50ZXJzZWN0aW5nRGlyZWN0aXZlIH0gZnJvbSAnLi9vYnNlcnZlLWludGVyc2VjdGluZy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGltZWxpbmVDb21wb25lbnQgfSBmcm9tICcuL3RpbWVsaW5lL3RpbWVsaW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0dmlld0NvbXBvbmVudCB9IGZyb20gJy4vbGlzdHZpZXcvbGlzdHZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlLWNvbnRlbnQvbWVzc2FnZS1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFeHByZXNzaW9uQnVpbGRlckNvbXBvbmVudCB9IGZyb20gJy4vZXhwcmVzc2lvbi1idWlsZGVyL2V4cHJlc3Npb24tYnVpbGRlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBJbWFnZUNvbXBvbmVudCxcbiAgICBNZXNzYWdlQ29tcG9uZW50LFxuICAgIFByb2dyZXNzQ29tcG9uZW50LFxuICAgIFJhdGluZ0NvbXBvbmVudCxcbiAgICBPYnNlcnZlSW50ZXJzZWN0aW5nRGlyZWN0aXZlLFxuICAgIFRpbWVsaW5lQ29tcG9uZW50LFxuICAgIExpc3R2aWV3Q29tcG9uZW50LFxuICAgIE1lc3NhZ2VDb250ZW50Q29tcG9uZW50LFxuICAgIEV4cHJlc3Npb25CdWlsZGVyQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNYXRTbmFja0Jhck1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQXZhdGFyQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgSW1hZ2VDb21wb25lbnQsXG4gICAgTWVzc2FnZUNvbXBvbmVudCxcbiAgICBQcm9ncmVzc0NvbXBvbmVudCxcbiAgICBSYXRpbmdDb21wb25lbnQsXG4gICAgT2JzZXJ2ZUludGVyc2VjdGluZ0RpcmVjdGl2ZSxcbiAgICBUaW1lbGluZUNvbXBvbmVudCxcbiAgICBMaXN0dmlld0NvbXBvbmVudCxcbiAgICBNZXNzYWdlQ29udGVudENvbXBvbmVudCxcbiAgICBFeHByZXNzaW9uQnVpbGRlckNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIElvTW9kdWxlIHsgfVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL21vZGVscy9tb2R1bGUtY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBNb2R1bGVDb25maWd1cmF0aW9uIHtcbiAgICBpY29uPzoge1xuICAgICAgICBwYXRoPzogc3RyaW5nLFxuICAgICAgICBjb2xsZWN0aW9uPzogc3RyaW5nXG4gICAgfVxufSJdfQ==
|
|
@@ -4,6 +4,14 @@ import { IoModule } from './io/io.module';
|
|
|
4
4
|
import { NavigationModule } from './navigation/navigation.module';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class UiModule {
|
|
7
|
+
static forRoot(configuration) {
|
|
8
|
+
return {
|
|
9
|
+
ngModule: UiModule,
|
|
10
|
+
providers: [
|
|
11
|
+
{ provide: 'FactorUiConfiguration', useValue: configuration }
|
|
12
|
+
]
|
|
13
|
+
};
|
|
14
|
+
}
|
|
7
15
|
}
|
|
8
16
|
UiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: UiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
17
|
UiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.2", ngImport: i0, type: UiModule, imports: [CommonModule,
|
|
@@ -29,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
|
|
|
29
37
|
]
|
|
30
38
|
}]
|
|
31
39
|
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi91aS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFjbEUsTUFBTSxPQUFPLFFBQVE7SUFDWixNQUFNLENBQUMsT0FBTyxDQUFDLGFBQW1DO1FBQ3ZELE9BQU87WUFDTCxRQUFRLEVBQUUsUUFBUTtZQUNsQixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRTthQUM5RDtTQUNGLENBQUM7SUFDSixDQUFDOztxR0FSVSxRQUFRO3NHQUFSLFFBQVEsWUFUakIsWUFBWTtRQUNaLFFBQVE7UUFDUixnQkFBZ0IsYUFHaEIsUUFBUTtRQUNSLGdCQUFnQjtzR0FHUCxRQUFRLFlBVGpCLFlBQVk7UUFDWixRQUFRO1FBQ1IsZ0JBQWdCLEVBR2hCLFFBQVE7UUFDUixnQkFBZ0I7MkZBR1AsUUFBUTtrQkFacEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osUUFBUTt3QkFDUixnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxRQUFRO3dCQUNSLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvTW9kdWxlIH0gZnJvbSAnLi9pby9pby5tb2R1bGUnO1xuaW1wb3J0IHsgTW9kdWxlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vbW9kZWxzL21vZHVsZS1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IE5hdmlnYXRpb25Nb2R1bGUgfSBmcm9tICcuL25hdmlnYXRpb24vbmF2aWdhdGlvbi5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIElvTW9kdWxlLFxuICAgIE5hdmlnYXRpb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIElvTW9kdWxlLFxuICAgIE5hdmlnYXRpb25Nb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBVaU1vZHVsZSB7IFxuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlndXJhdGlvbj86IE1vZHVsZUNvbmZpZ3VyYXRpb24pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFVpTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBVaU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6ICdGYWN0b3JVaUNvbmZpZ3VyYXRpb24nLCB1c2VWYWx1ZTogY29uZmlndXJhdGlvbiB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -14,6 +14,7 @@ export * from './lib/io/io.module';
|
|
|
14
14
|
export * from './lib/io/rating/rating.component';
|
|
15
15
|
export * from './lib/io/timeline/timeline.component';
|
|
16
16
|
export * from './lib/io/listview/listview.component';
|
|
17
|
+
export * from './lib/io/expression-builder/expression-builder.component';
|
|
17
18
|
export * from './lib/io/io.module';
|
|
18
19
|
export * from './lib/navigation/list/list.component';
|
|
19
20
|
export * from './lib/navigation/navbar/navbar.component';
|
|
@@ -21,4 +22,4 @@ export * from './lib/navigation/searchbox/searchbox.component';
|
|
|
21
22
|
export * from './lib/navigation/toolbar/toolbar.component';
|
|
22
23
|
export * from './lib/navigation/navigation.module';
|
|
23
24
|
export * from './lib/ui.module';
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHVpXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW8vYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW8vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pby9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW8vbWVzc2FnZS1jb250ZW50L21lc3NhZ2UtY29udGVudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW8vbWVzc2FnZS9tZXNzYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pby9tZXNzYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW8vcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lvL3Byb2dyZXNzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW8vb2JzZXJ2ZS1pbnRlcnNlY3RpbmcuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lvL2lvLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pby9yYXRpbmcvcmF0aW5nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pby90aW1lbGluZS90aW1lbGluZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW8vbGlzdHZpZXcvbGlzdHZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lvL2V4cHJlc3Npb24tYnVpbGRlci9leHByZXNzaW9uLWJ1aWxkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lvL2lvLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uYXZpZ2F0aW9uL2xpc3QvbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmF2aWdhdGlvbi9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uYXZpZ2F0aW9uL3NlYXJjaGJveC9zZWFyY2hib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmlnYXRpb24vdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLm1vZHVsZSc7XG4iXX0=
|
|
@@ -640,6 +640,74 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
|
|
|
640
640
|
args: [{ selector: 'ft-listview', template: "<p>listview works!</p>\n" }]
|
|
641
641
|
}] });
|
|
642
642
|
|
|
643
|
+
class ExpressionBuilderComponent {
|
|
644
|
+
constructor() {
|
|
645
|
+
this.properties = [
|
|
646
|
+
{ label: 'Nombre', type: 'string', field: 'name' },
|
|
647
|
+
{ label: 'Monto', type: 'number', field: 'amount' },
|
|
648
|
+
{ label: 'Tarjeta adicional', type: 'boolean', field: 'additional' }
|
|
649
|
+
];
|
|
650
|
+
this.groupOperators = [
|
|
651
|
+
{ label: 'Y', value: 'AND' },
|
|
652
|
+
{ label: 'O', value: 'OR' }
|
|
653
|
+
];
|
|
654
|
+
this.filters = {
|
|
655
|
+
id: 'root',
|
|
656
|
+
type: 'group',
|
|
657
|
+
operator: 'AND',
|
|
658
|
+
children: [
|
|
659
|
+
{
|
|
660
|
+
type: 'filter',
|
|
661
|
+
property: '',
|
|
662
|
+
operator: '>',
|
|
663
|
+
value: ''
|
|
664
|
+
},
|
|
665
|
+
{
|
|
666
|
+
type: 'filter',
|
|
667
|
+
property: '',
|
|
668
|
+
operator: true,
|
|
669
|
+
value: ''
|
|
670
|
+
},
|
|
671
|
+
{
|
|
672
|
+
type: 'filter',
|
|
673
|
+
property: '',
|
|
674
|
+
operator: '==',
|
|
675
|
+
value: ''
|
|
676
|
+
},
|
|
677
|
+
{
|
|
678
|
+
type: 'group',
|
|
679
|
+
operator: 'OR',
|
|
680
|
+
children: [
|
|
681
|
+
{
|
|
682
|
+
type: 'filter',
|
|
683
|
+
property: '',
|
|
684
|
+
operator: '==',
|
|
685
|
+
value: ''
|
|
686
|
+
}
|
|
687
|
+
]
|
|
688
|
+
}
|
|
689
|
+
]
|
|
690
|
+
};
|
|
691
|
+
}
|
|
692
|
+
add(type, filter) {
|
|
693
|
+
if (!filter.children) {
|
|
694
|
+
filter.children = [];
|
|
695
|
+
}
|
|
696
|
+
filter.children.push({ type });
|
|
697
|
+
filter.children = filter.children.sort((a, b) => a.type !== 'group' ? -1 : 0);
|
|
698
|
+
}
|
|
699
|
+
remove(filter, parent) {
|
|
700
|
+
const index = parent.indexOf(filter);
|
|
701
|
+
parent.splice(index, 1);
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
ExpressionBuilderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ExpressionBuilderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
705
|
+
ExpressionBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: ExpressionBuilderComponent, selector: "ft-expression-builder", ngImport: i0, template: "<ng-container [ngTemplateOutlet]=\"filterGroupTemplate\" [ngTemplateOutletContext]=\"{filter:filters, parent:null}\">\n</ng-container>\n<ng-template #filterGroupTemplate let-filter=\"filter\" let-parent=\"parent\">\n <div class=\"ft-filter\">\n <div class=\"ft-filter__tools\">\n <button type=\"button\" class=\"filter__button filter__button--icon filter__button--toggle\"\n (click)=\"filter.collapsed = !filter.collapsed\" *ngIf=\"filter.children && filter.children.length > 0\">\n <ft-icon name=\"angle-right\" [ngClass]=\"{'ft-icon--open': !filter.collapsed}\"></ft-icon>\n </button>\n <div class=\"ft-filter__button-group\">\n <button type=\"button\" class=\"filter__button\"\n [ngClass]=\"{'ft-filter__button--active': filter.operator === operator.value}\"\n *ngFor=\"let operator of groupOperators\" (click)=\"filter.operator = operator.value\">{{ operator.label\n }}</button>\n </div>\n <button type=\"button\" class=\"ft-filter__button\" (click)=\"add('filter', filter)\" *ngIf=\"filter.operator\">Agregar\n filtro</button>\n <button type=\"button\" class=\"ft-filter__button\" (click)=\"add('group', filter)\" *ngIf=\"filter.operator\">Agregar\n grupo</button>\n <button type=\"button\" class=\"ft-filter__button filter__button--icon filter__button--remove\"\n (click)=\"remove(filter, parent)\" *ngIf=\"parent\">\n <ft-icon name=\"close\"></ft-icon>\n </button>\n </div>\n <div class=\"ft-filter__children\" *ngIf=\"filter.children && filter.children.length > 0 && !filter.collapsed\">\n <ng-container *ngFor=\"let child of filter.children\">\n <ng-container [ngTemplateOutlet]=\"child.type === 'group' ? filterGroupTemplate : filterTemplate\"\n [ngTemplateOutletContext]=\"{filter:child, parent:filter.children}\">\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n<ng-template #filterTemplate let-filter=\"filter\" let-parent=\"parent\">\n <div class=\"ft-filter\">\n <div class=\"ft-filter__tools\">\n <select class=\"filter__input\">\n <option *ngFor=\"let property of properties\" value=\"property.value\">{{ property.label }}</option>\n </select>\n <select class=\"ft-filter__input\">\n <option>Mayor que</option>\n <option>Mayor igual que</option>\n <option>Igual que</option>\n <option>Menor que</option>\n <option>Menor igual que</option>\n </select>\n <input type=\"text\" class=\"ft-filter__input\" />\n <button type=\"button\" class=\"filter__button filter__button--icon\" (click)=\"remove(filter, parent)\">\n <ft-icon name=\"close\"></ft-icon>\n </button>\n </div>\n </div>\n</ng-template>", styles: [":host{display:block;padding:2rem}.ft-filter{--focus-color: #00bcd4;--focus-color-rgb: 0, 188, 212;display:inline-flex;flex-direction:column;align-items:flex-start;gap:.5rem}.ft-filter__tools{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem;background-color:#0000000d;border:1px solid rgba(0,0,0,.1);border-radius:.5rem;overflow:hidden}.ft-filter__children{padding-left:1rem;position:relative;display:inline-flex;flex-direction:column;align-items:flex-start;gap:.5rem}.ft-filter__button{border:1px solid rgba(0,0,0,.2);background-color:transparent;border-radius:.25rem;padding:.25rem .5rem;background-color:#ffffff4d}.ft-filter__button--icon{border-color:transparent;background-color:transparent;padding:.25rem}.ft-filter__button--active{background-color:var(--focus-color);color:#fff}.ft-filter__button:not(.ft-filter__button--active):hover{border-color:var(--focus-color);background-color:rgba(var(--focus-color-rgb),.1)}.ft-filter__button:not(.ft-filter__button--active):active{background-color:rgba(var(--focus-color-rgb),.3)}.ft-filter__button:focus{outline:none;border-color:var(--focus-color)}.ft-filter__button .ft-icon{display:block;transition:transform .2s}.ft-filter__button .ft-icon--open{transform:rotate(90deg)}.ft-filter__button-group .ft-filter__button{border-radius:0}.ft-filter__button-group .ft-filter__button:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-right:0}.ft-filter__button-group .ft-filter__button:last-child{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.ft-filter__input{background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:.25rem;padding:.25rem;transition:box-shadow .2s}.ft-filter__input:hover{border-color:var(--focus-color)}.ft-filter__input:focus{outline:none;border-color:var(--focus-color);box-shadow:0 0 0 2px rgba(var(--focus-color-rgb),.2)}.ft-filter select.ft-filter__input{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right .5rem center;background-size:.625rem;padding-right:1.5rem;-webkit-appearance:none;appearance:none}@keyframes slide-right{0%{margin-left:calc(-40px + .5rem)}to{margin-left:0}}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "ft-icon", inputs: ["class", "collection", "mode", "name", "path", "size", "src"] }] });
|
|
706
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ExpressionBuilderComponent, decorators: [{
|
|
707
|
+
type: Component,
|
|
708
|
+
args: [{ selector: 'ft-expression-builder', template: "<ng-container [ngTemplateOutlet]=\"filterGroupTemplate\" [ngTemplateOutletContext]=\"{filter:filters, parent:null}\">\n</ng-container>\n<ng-template #filterGroupTemplate let-filter=\"filter\" let-parent=\"parent\">\n <div class=\"ft-filter\">\n <div class=\"ft-filter__tools\">\n <button type=\"button\" class=\"filter__button filter__button--icon filter__button--toggle\"\n (click)=\"filter.collapsed = !filter.collapsed\" *ngIf=\"filter.children && filter.children.length > 0\">\n <ft-icon name=\"angle-right\" [ngClass]=\"{'ft-icon--open': !filter.collapsed}\"></ft-icon>\n </button>\n <div class=\"ft-filter__button-group\">\n <button type=\"button\" class=\"filter__button\"\n [ngClass]=\"{'ft-filter__button--active': filter.operator === operator.value}\"\n *ngFor=\"let operator of groupOperators\" (click)=\"filter.operator = operator.value\">{{ operator.label\n }}</button>\n </div>\n <button type=\"button\" class=\"ft-filter__button\" (click)=\"add('filter', filter)\" *ngIf=\"filter.operator\">Agregar\n filtro</button>\n <button type=\"button\" class=\"ft-filter__button\" (click)=\"add('group', filter)\" *ngIf=\"filter.operator\">Agregar\n grupo</button>\n <button type=\"button\" class=\"ft-filter__button filter__button--icon filter__button--remove\"\n (click)=\"remove(filter, parent)\" *ngIf=\"parent\">\n <ft-icon name=\"close\"></ft-icon>\n </button>\n </div>\n <div class=\"ft-filter__children\" *ngIf=\"filter.children && filter.children.length > 0 && !filter.collapsed\">\n <ng-container *ngFor=\"let child of filter.children\">\n <ng-container [ngTemplateOutlet]=\"child.type === 'group' ? filterGroupTemplate : filterTemplate\"\n [ngTemplateOutletContext]=\"{filter:child, parent:filter.children}\">\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n<ng-template #filterTemplate let-filter=\"filter\" let-parent=\"parent\">\n <div class=\"ft-filter\">\n <div class=\"ft-filter__tools\">\n <select class=\"filter__input\">\n <option *ngFor=\"let property of properties\" value=\"property.value\">{{ property.label }}</option>\n </select>\n <select class=\"ft-filter__input\">\n <option>Mayor que</option>\n <option>Mayor igual que</option>\n <option>Igual que</option>\n <option>Menor que</option>\n <option>Menor igual que</option>\n </select>\n <input type=\"text\" class=\"ft-filter__input\" />\n <button type=\"button\" class=\"filter__button filter__button--icon\" (click)=\"remove(filter, parent)\">\n <ft-icon name=\"close\"></ft-icon>\n </button>\n </div>\n </div>\n</ng-template>", styles: [":host{display:block;padding:2rem}.ft-filter{--focus-color: #00bcd4;--focus-color-rgb: 0, 188, 212;display:inline-flex;flex-direction:column;align-items:flex-start;gap:.5rem}.ft-filter__tools{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem;background-color:#0000000d;border:1px solid rgba(0,0,0,.1);border-radius:.5rem;overflow:hidden}.ft-filter__children{padding-left:1rem;position:relative;display:inline-flex;flex-direction:column;align-items:flex-start;gap:.5rem}.ft-filter__button{border:1px solid rgba(0,0,0,.2);background-color:transparent;border-radius:.25rem;padding:.25rem .5rem;background-color:#ffffff4d}.ft-filter__button--icon{border-color:transparent;background-color:transparent;padding:.25rem}.ft-filter__button--active{background-color:var(--focus-color);color:#fff}.ft-filter__button:not(.ft-filter__button--active):hover{border-color:var(--focus-color);background-color:rgba(var(--focus-color-rgb),.1)}.ft-filter__button:not(.ft-filter__button--active):active{background-color:rgba(var(--focus-color-rgb),.3)}.ft-filter__button:focus{outline:none;border-color:var(--focus-color)}.ft-filter__button .ft-icon{display:block;transition:transform .2s}.ft-filter__button .ft-icon--open{transform:rotate(90deg)}.ft-filter__button-group .ft-filter__button{border-radius:0}.ft-filter__button-group .ft-filter__button:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-right:0}.ft-filter__button-group .ft-filter__button:last-child{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.ft-filter__input{background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:.25rem;padding:.25rem;transition:box-shadow .2s}.ft-filter__input:hover{border-color:var(--focus-color)}.ft-filter__input:focus{outline:none;border-color:var(--focus-color);box-shadow:0 0 0 2px rgba(var(--focus-color-rgb),.2)}.ft-filter select.ft-filter__input{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right .5rem center;background-size:.625rem;padding-right:1.5rem;-webkit-appearance:none;appearance:none}@keyframes slide-right{0%{margin-left:calc(-40px + .5rem)}to{margin-left:0}}\n"] }]
|
|
709
|
+
}], ctorParameters: function () { return []; } });
|
|
710
|
+
|
|
643
711
|
class IoModule {
|
|
644
712
|
}
|
|
645
713
|
IoModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: IoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -652,7 +720,8 @@ IoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0
|
|
|
652
720
|
ObserveIntersectingDirective,
|
|
653
721
|
TimelineComponent,
|
|
654
722
|
ListviewComponent,
|
|
655
|
-
MessageContentComponent
|
|
723
|
+
MessageContentComponent,
|
|
724
|
+
ExpressionBuilderComponent], imports: [CommonModule,
|
|
656
725
|
MatButtonModule,
|
|
657
726
|
MatDialogModule,
|
|
658
727
|
MatSnackBarModule], exports: [AvatarComponent,
|
|
@@ -664,7 +733,8 @@ IoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0
|
|
|
664
733
|
ObserveIntersectingDirective,
|
|
665
734
|
TimelineComponent,
|
|
666
735
|
ListviewComponent,
|
|
667
|
-
MessageContentComponent
|
|
736
|
+
MessageContentComponent,
|
|
737
|
+
ExpressionBuilderComponent] });
|
|
668
738
|
IoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: IoModule, imports: [CommonModule,
|
|
669
739
|
MatButtonModule,
|
|
670
740
|
MatDialogModule,
|
|
@@ -682,7 +752,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
|
|
|
682
752
|
ObserveIntersectingDirective,
|
|
683
753
|
TimelineComponent,
|
|
684
754
|
ListviewComponent,
|
|
685
|
-
MessageContentComponent
|
|
755
|
+
MessageContentComponent,
|
|
756
|
+
ExpressionBuilderComponent
|
|
686
757
|
],
|
|
687
758
|
imports: [
|
|
688
759
|
CommonModule,
|
|
@@ -700,7 +771,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
|
|
|
700
771
|
ObserveIntersectingDirective,
|
|
701
772
|
TimelineComponent,
|
|
702
773
|
ListviewComponent,
|
|
703
|
-
MessageContentComponent
|
|
774
|
+
MessageContentComponent,
|
|
775
|
+
ExpressionBuilderComponent
|
|
704
776
|
]
|
|
705
777
|
}]
|
|
706
778
|
}] });
|
|
@@ -1020,6 +1092,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
|
|
|
1020
1092
|
}] });
|
|
1021
1093
|
|
|
1022
1094
|
class UiModule {
|
|
1095
|
+
static forRoot(configuration) {
|
|
1096
|
+
return {
|
|
1097
|
+
ngModule: UiModule,
|
|
1098
|
+
providers: [
|
|
1099
|
+
{ provide: 'FactorUiConfiguration', useValue: configuration }
|
|
1100
|
+
]
|
|
1101
|
+
};
|
|
1102
|
+
}
|
|
1023
1103
|
}
|
|
1024
1104
|
UiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: UiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1025
1105
|
UiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.2", ngImport: i0, type: UiModule, imports: [CommonModule,
|
|
@@ -1054,5 +1134,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
|
|
|
1054
1134
|
* Generated bundle index. Do not edit.
|
|
1055
1135
|
*/
|
|
1056
1136
|
|
|
1057
|
-
export { AvatarComponent, IconComponent, ImageComponent, IoModule, ListComponent, ListviewComponent, MessageComponent, MessageContentComponent, MessageService, NavbarComponent, NavigationModule, ObserveIntersectingDirective, ProgressComponent, ProgressService, RatingComponent, SearchboxComponent, TimelineComponent, ToolbarComponent, UiModule };
|
|
1137
|
+
export { AvatarComponent, ExpressionBuilderComponent, IconComponent, ImageComponent, IoModule, ListComponent, ListviewComponent, MessageComponent, MessageContentComponent, MessageService, NavbarComponent, NavigationModule, ObserveIntersectingDirective, ProgressComponent, ProgressService, RatingComponent, SearchboxComponent, TimelineComponent, ToolbarComponent, UiModule };
|
|
1058
1138
|
//# sourceMappingURL=factor_ec-ui.mjs.map
|