boruto-xrmui 1.22.23 → 1.22.25
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/boruto-xrmui.mjs +224 -35
- package/fesm2022/boruto-xrmui.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/layout.scss +202 -77
- package/types/boruto-xrmui.d.ts +25 -7
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ViewEncapsulation, ChangeDetectionStrategy, Component, effect, input, output, HostListener, Directive, inject, ElementRef, Input, signal, ChangeDetectorRef, ViewChild, NgModule, Injectable, computed, ViewContainerRef, DestroyRef, model, ViewChildren, EventEmitter, Output } from '@angular/core';
|
|
2
|
+
import { ViewEncapsulation, ChangeDetectionStrategy, Component, effect, input, output, HostListener, Directive, inject, ElementRef, Input, signal, ChangeDetectorRef, ViewChild, NgModule, Injectable, computed, ViewContainerRef, DestroyRef, model, untracked, ViewChildren, EventEmitter, Output } from '@angular/core';
|
|
3
3
|
import { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';
|
|
4
4
|
import { NativeDateAdapter } from '@angular/material/core';
|
|
5
5
|
import { MatIcon, MatIconModule } from '@angular/material/icon';
|
|
@@ -1420,6 +1420,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
1420
1420
|
class XrmuiIcon {
|
|
1421
1421
|
host = inject(ElementRef);
|
|
1422
1422
|
_icon = input('', { ...(ngDevMode ? { debugName: "_icon" } : /* istanbul ignore next */ {}), alias: 'icon' });
|
|
1423
|
+
fontClass = input('material-symbols-outlined', /* @ts-ignore */
|
|
1424
|
+
...(ngDevMode ? [{ debugName: "fontClass" }] : /* istanbul ignore next */ []));
|
|
1425
|
+
inlineStyle = input('', /* @ts-ignore */
|
|
1426
|
+
...(ngDevMode ? [{ debugName: "inlineStyle" }] : /* istanbul ignore next */ []));
|
|
1423
1427
|
disabled = input(false, /* @ts-ignore */
|
|
1424
1428
|
...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
1425
1429
|
type = input('mat', /* @ts-ignore */
|
|
@@ -1466,12 +1470,12 @@ class XrmuiIcon {
|
|
|
1466
1470
|
}
|
|
1467
1471
|
}
|
|
1468
1472
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: XrmuiIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1469
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: XrmuiIcon, isStandalone: true, selector: "xrmui-icon", inputs: { _icon: { classPropertyName: "_icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<span style=\"display: none;\"><ng-content></ng-content></span>\r\n@if (icon() != '') {\r\n@if (type() == 'mat') {\r\n
|
|
1473
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: XrmuiIcon, isStandalone: true, selector: "xrmui-icon", inputs: { _icon: { classPropertyName: "_icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, fontClass: { classPropertyName: "fontClass", publicName: "fontClass", isSignal: true, isRequired: false, transformFunction: null }, inlineStyle: { classPropertyName: "inlineStyle", publicName: "inlineStyle", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<span style=\"display: none;\"><ng-content></ng-content></span>\r\n@if (icon() != '') {\r\n @if (type() == 'mat') {\r\n <mat-icon [ngClass]=\"classes()\" [style]=\"inlineStyle()\" fontSet=\"material-symbols-outlined\">{{ icon() }}</mat-icon>\r\n }\r\n @if (type() == 'fa') {\r\n <i [ngClass]=\"classes()\" [style]=\"inlineStyle()\"></i>\r\n }\r\n @if (type() == 'font') {\r\n <span [class]=\"fontClass()\" [style]=\"inlineStyle()\">{{ icon() }}</span>\r\n }\r\n}", styles: [":host mat-icon.disabled{opacity:20%}:host .fa.disabled{opacity:20%}:host .f12{font-size:12px}:host .f24{font-size:24px}:host .f36{font-size:36px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
1470
1474
|
}
|
|
1471
1475
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: XrmuiIcon, decorators: [{
|
|
1472
1476
|
type: Component,
|
|
1473
|
-
args: [{ selector: 'xrmui-icon', changeDetection: ChangeDetectionStrategy.Eager, imports: [NgClass, MatIcon], template: "<span style=\"display: none;\"><ng-content></ng-content></span>\r\n@if (icon() != '') {\r\n@if (type() == 'mat') {\r\n
|
|
1474
|
-
}], ctorParameters: () => [], propDecorators: { _icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
|
|
1477
|
+
args: [{ selector: 'xrmui-icon', changeDetection: ChangeDetectionStrategy.Eager, imports: [NgClass, MatIcon], template: "<span style=\"display: none;\"><ng-content></ng-content></span>\r\n@if (icon() != '') {\r\n @if (type() == 'mat') {\r\n <mat-icon [ngClass]=\"classes()\" [style]=\"inlineStyle()\" fontSet=\"material-symbols-outlined\">{{ icon() }}</mat-icon>\r\n }\r\n @if (type() == 'fa') {\r\n <i [ngClass]=\"classes()\" [style]=\"inlineStyle()\"></i>\r\n }\r\n @if (type() == 'font') {\r\n <span [class]=\"fontClass()\" [style]=\"inlineStyle()\">{{ icon() }}</span>\r\n }\r\n}", styles: [":host mat-icon.disabled{opacity:20%}:host .fa.disabled{opacity:20%}:host .f12{font-size:12px}:host .f24{font-size:24px}:host .f36{font-size:36px}\n"] }]
|
|
1478
|
+
}], ctorParameters: () => [], propDecorators: { _icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], fontClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "fontClass", required: false }] }], inlineStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "inlineStyle", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
|
|
1475
1479
|
|
|
1476
1480
|
class ChangeScopeDirective {
|
|
1477
1481
|
changeScope = input.required(/* @ts-ignore */
|
|
@@ -1517,6 +1521,18 @@ const NAVIGATIONKEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Esca
|
|
|
1517
1521
|
const NUMBERS = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
|
|
1518
1522
|
const DECIMALS = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ','];
|
|
1519
1523
|
const CTRL_KEYS = ['c', 'C', 'v', 'V', 'x', 'X'];
|
|
1524
|
+
const bo_counter = {
|
|
1525
|
+
lastName: 0,
|
|
1526
|
+
lastId: 0
|
|
1527
|
+
};
|
|
1528
|
+
const bo_nextName = function () {
|
|
1529
|
+
bo_counter.lastName++;
|
|
1530
|
+
return `bo_name_${bo_counter.lastName}`;
|
|
1531
|
+
};
|
|
1532
|
+
const bo_nextId = function () {
|
|
1533
|
+
bo_counter.lastId++;
|
|
1534
|
+
return `bo_id_${bo_counter.lastId}`;
|
|
1535
|
+
};
|
|
1520
1536
|
class XrmuiInput {
|
|
1521
1537
|
searchElement;
|
|
1522
1538
|
textareaElement;
|
|
@@ -1530,6 +1546,14 @@ class XrmuiInput {
|
|
|
1530
1546
|
formScope = inject(FormScopeDirective, { optional: true, host: true });
|
|
1531
1547
|
destroyRef = inject(DestroyRef);
|
|
1532
1548
|
blurThead;
|
|
1549
|
+
setdefaultitem = {
|
|
1550
|
+
id: "-999999",
|
|
1551
|
+
name: "--select--"
|
|
1552
|
+
};
|
|
1553
|
+
selectall = {
|
|
1554
|
+
id: "-999999",
|
|
1555
|
+
name: "Select all"
|
|
1556
|
+
};
|
|
1533
1557
|
label = input('', /* @ts-ignore */
|
|
1534
1558
|
...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
1535
1559
|
_shortLabel = input(undefined, { ...(ngDevMode ? { debugName: "_shortLabel" } : /* istanbul ignore next */ {}), alias: 'short-label' });
|
|
@@ -1578,6 +1602,10 @@ class XrmuiInput {
|
|
|
1578
1602
|
...(ngDevMode ? [{ debugName: "required" }] : /* istanbul ignore next */ []));
|
|
1579
1603
|
type = input('text', /* @ts-ignore */
|
|
1580
1604
|
...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
|
|
1605
|
+
name = input(bo_nextName(), /* @ts-ignore */
|
|
1606
|
+
...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
|
|
1607
|
+
inputid = input(bo_nextId(), /* @ts-ignore */
|
|
1608
|
+
...(ngDevMode ? [{ debugName: "inputid" }] : /* istanbul ignore next */ []));
|
|
1581
1609
|
setfocus = model(false, /* @ts-ignore */
|
|
1582
1610
|
...(ngDevMode ? [{ debugName: "setfocus" }] : /* istanbul ignore next */ []));
|
|
1583
1611
|
autocomplete = input(null, /* @ts-ignore */
|
|
@@ -1586,6 +1614,8 @@ class XrmuiInput {
|
|
|
1586
1614
|
...(ngDevMode ? [{ debugName: "selectable" }] : /* istanbul ignore next */ []));
|
|
1587
1615
|
selected = model(undefined, /* @ts-ignore */
|
|
1588
1616
|
...(ngDevMode ? [{ debugName: "selected" }] : /* istanbul ignore next */ []));
|
|
1617
|
+
multiselected = model(undefined, /* @ts-ignore */
|
|
1618
|
+
...(ngDevMode ? [{ debugName: "multiselected" }] : /* istanbul ignore next */ []));
|
|
1589
1619
|
optionsetvalue = input(null, /* @ts-ignore */
|
|
1590
1620
|
...(ngDevMode ? [{ debugName: "optionsetvalue" }] : /* istanbul ignore next */ []));
|
|
1591
1621
|
entityreference = input(null, /* @ts-ignore */
|
|
@@ -1612,6 +1642,12 @@ class XrmuiInput {
|
|
|
1612
1642
|
release = input(null, /* @ts-ignore */
|
|
1613
1643
|
...(ngDevMode ? [{ debugName: "release" }] : /* istanbul ignore next */ []));
|
|
1614
1644
|
released = output();
|
|
1645
|
+
isautocomplete = computed(() => this.autocomplete() != null, /* @ts-ignore */
|
|
1646
|
+
...(ngDevMode ? [{ debugName: "isautocomplete" }] : /* istanbul ignore next */ []));
|
|
1647
|
+
isselectable = computed(() => !this.isautocomplete() && this.selectable() != null, /* @ts-ignore */
|
|
1648
|
+
...(ngDevMode ? [{ debugName: "isselectable" }] : /* istanbul ignore next */ []));
|
|
1649
|
+
ismultible = computed(() => this.multiselected() != undefined, /* @ts-ignore */
|
|
1650
|
+
...(ngDevMode ? [{ debugName: "ismultible" }] : /* istanbul ignore next */ []));
|
|
1615
1651
|
autoopenonblank = computed(() => {
|
|
1616
1652
|
const au = this._autoopenonblank();
|
|
1617
1653
|
if (au != undefined) {
|
|
@@ -1638,9 +1674,8 @@ class XrmuiInput {
|
|
|
1638
1674
|
...(ngDevMode ? [{ debugName: "hasfocus" }] : /* istanbul ignore next */ []));
|
|
1639
1675
|
search = '';
|
|
1640
1676
|
// private items: ISelectable[] | null = null;
|
|
1641
|
-
itemlist =
|
|
1677
|
+
itemlist = signal([], /* @ts-ignore */
|
|
1642
1678
|
...(ngDevMode ? [{ debugName: "itemlist" }] : /* istanbul ignore next */ []));
|
|
1643
|
-
;
|
|
1644
1679
|
showitems = signal(false, /* @ts-ignore */
|
|
1645
1680
|
...(ngDevMode ? [{ debugName: "showitems" }] : /* istanbul ignore next */ []));
|
|
1646
1681
|
searchthread = null;
|
|
@@ -1669,6 +1704,8 @@ class XrmuiInput {
|
|
|
1669
1704
|
return this.type() + ' ' + 'number';
|
|
1670
1705
|
}, /* @ts-ignore */
|
|
1671
1706
|
...(ngDevMode ? [{ debugName: "inputclasses" }] : /* istanbul ignore next */ []));
|
|
1707
|
+
isover = signal(false, /* @ts-ignore */
|
|
1708
|
+
...(ngDevMode ? [{ debugName: "isover" }] : /* istanbul ignore next */ []));
|
|
1672
1709
|
constructor() {
|
|
1673
1710
|
this.destroyRef.onDestroy(() => {
|
|
1674
1711
|
if (this.blurThead) {
|
|
@@ -1716,12 +1753,6 @@ class XrmuiInput {
|
|
|
1716
1753
|
}
|
|
1717
1754
|
this.shadowValue.set(value.toString());
|
|
1718
1755
|
});
|
|
1719
|
-
effect(() => {
|
|
1720
|
-
const sel = this.selected();
|
|
1721
|
-
if (sel) {
|
|
1722
|
-
this.shadowValue.set(sel.name ?? '');
|
|
1723
|
-
}
|
|
1724
|
-
});
|
|
1725
1756
|
effect(() => {
|
|
1726
1757
|
const osv = this.optionsetvalue();
|
|
1727
1758
|
const sels = this.selectable();
|
|
@@ -1747,17 +1778,54 @@ class XrmuiInput {
|
|
|
1747
1778
|
this.shadowValue.set(name);
|
|
1748
1779
|
}
|
|
1749
1780
|
});
|
|
1781
|
+
effect(() => {
|
|
1782
|
+
const ap = this.autocomplete();
|
|
1783
|
+
if (ap) {
|
|
1784
|
+
const next = ap.items();
|
|
1785
|
+
this.bindItems(next);
|
|
1786
|
+
}
|
|
1787
|
+
});
|
|
1788
|
+
effect(() => {
|
|
1789
|
+
const _sels = this.selectable();
|
|
1790
|
+
const isnullable = untracked(() => this.nullable());
|
|
1791
|
+
const multi = untracked(() => this.ismultible());
|
|
1792
|
+
if (_sels && _sels.length > 0) {
|
|
1793
|
+
const sels = [..._sels];
|
|
1794
|
+
if (this.nullable() && !multi && sels[0] != this.setdefaultitem) {
|
|
1795
|
+
sels.unshift(this.setdefaultitem);
|
|
1796
|
+
}
|
|
1797
|
+
if (multi && sels[0] != this.selectall) {
|
|
1798
|
+
sels.unshift(this.selectall);
|
|
1799
|
+
}
|
|
1800
|
+
this.bindItems(sels);
|
|
1801
|
+
const sel = this.selected();
|
|
1802
|
+
if (sel) {
|
|
1803
|
+
this.shadowValue.set(sel.name ?? '');
|
|
1804
|
+
this.current = sel;
|
|
1805
|
+
const ci = sels.findIndex(s => s.id == sel.id);
|
|
1806
|
+
if (ci >= 0) {
|
|
1807
|
+
this.currentindex.set(ci);
|
|
1808
|
+
}
|
|
1809
|
+
}
|
|
1810
|
+
else {
|
|
1811
|
+
this.shadowValue.set(this.setdefaultitem.name ?? '');
|
|
1812
|
+
this.currentindex.set(-1);
|
|
1813
|
+
}
|
|
1814
|
+
}
|
|
1815
|
+
});
|
|
1750
1816
|
effect(() => {
|
|
1751
1817
|
const si = this.showitems();
|
|
1752
1818
|
if (si) {
|
|
1753
|
-
this.
|
|
1819
|
+
this.showAutocompleteSuggestions();
|
|
1754
1820
|
}
|
|
1755
1821
|
else {
|
|
1756
|
-
this.
|
|
1822
|
+
this.hideAutocompleteSuggestions();
|
|
1757
1823
|
}
|
|
1758
1824
|
});
|
|
1759
1825
|
}
|
|
1760
1826
|
lastBind = [];
|
|
1827
|
+
allIsSelected = computed(() => this.ismultible() && this.selectable()?.length == this.multiselected()?.length, /* @ts-ignore */
|
|
1828
|
+
...(ngDevMode ? [{ debugName: "allIsSelected" }] : /* istanbul ignore next */ []));
|
|
1761
1829
|
bindItems(values) {
|
|
1762
1830
|
const same = values.length === this.lastBind.length &&
|
|
1763
1831
|
values.every(v => this.lastBind.includes(v));
|
|
@@ -1765,6 +1833,7 @@ class XrmuiInput {
|
|
|
1765
1833
|
return;
|
|
1766
1834
|
}
|
|
1767
1835
|
this.lastBind = values;
|
|
1836
|
+
this.itemlist.set(values);
|
|
1768
1837
|
this.expandedItems = new Map();
|
|
1769
1838
|
}
|
|
1770
1839
|
pickDate(d) {
|
|
@@ -1822,6 +1891,12 @@ class XrmuiInput {
|
|
|
1822
1891
|
}
|
|
1823
1892
|
}
|
|
1824
1893
|
}
|
|
1894
|
+
autoRefocus() {
|
|
1895
|
+
if (this.blurThead) {
|
|
1896
|
+
clearTimeout(this.blurThead);
|
|
1897
|
+
}
|
|
1898
|
+
this.focusMe(undefined, false);
|
|
1899
|
+
}
|
|
1825
1900
|
onBlur() {
|
|
1826
1901
|
this.handleNumber();
|
|
1827
1902
|
this.blurThead = setTimeout(() => {
|
|
@@ -1876,6 +1951,9 @@ class XrmuiInput {
|
|
|
1876
1951
|
e.preventDefault();
|
|
1877
1952
|
this.next(-1);
|
|
1878
1953
|
}
|
|
1954
|
+
openSelect() {
|
|
1955
|
+
this.showitems.set(true);
|
|
1956
|
+
}
|
|
1879
1957
|
onenter(e) {
|
|
1880
1958
|
e.stopPropagation();
|
|
1881
1959
|
e.preventDefault();
|
|
@@ -1887,7 +1965,21 @@ class XrmuiInput {
|
|
|
1887
1965
|
this.complete(e, this.current);
|
|
1888
1966
|
return;
|
|
1889
1967
|
}
|
|
1890
|
-
this.
|
|
1968
|
+
if (this.isselectable()) {
|
|
1969
|
+
const showitemisopen = untracked(() => this.showitems());
|
|
1970
|
+
if (!showitemisopen) {
|
|
1971
|
+
this.openSelect();
|
|
1972
|
+
return;
|
|
1973
|
+
}
|
|
1974
|
+
if (this.current != null) {
|
|
1975
|
+
this.SetSelectedItem(this.current);
|
|
1976
|
+
}
|
|
1977
|
+
if (!this.ismultible()) {
|
|
1978
|
+
this.showitems.set(false);
|
|
1979
|
+
}
|
|
1980
|
+
this.onEnter.emit();
|
|
1981
|
+
return;
|
|
1982
|
+
}
|
|
1891
1983
|
if (this.showitems() == false) {
|
|
1892
1984
|
this.searchbyname();
|
|
1893
1985
|
return;
|
|
@@ -1907,6 +1999,18 @@ class XrmuiInput {
|
|
|
1907
1999
|
onesc(e) {
|
|
1908
2000
|
this.showitems.set(false);
|
|
1909
2001
|
}
|
|
2002
|
+
onbackspace(e) {
|
|
2003
|
+
const ms = untracked(() => this.multiselected());
|
|
2004
|
+
if (ms && ms.length > 0) {
|
|
2005
|
+
this.multiselected.set(ms.slice(0, -1));
|
|
2006
|
+
this.notifyOnChange();
|
|
2007
|
+
setTimeout(() => {
|
|
2008
|
+
if (this.overlayRef) {
|
|
2009
|
+
this.overlayRef.updatePosition();
|
|
2010
|
+
}
|
|
2011
|
+
}, 100);
|
|
2012
|
+
}
|
|
2013
|
+
}
|
|
1910
2014
|
onClick() {
|
|
1911
2015
|
this.click.emit();
|
|
1912
2016
|
}
|
|
@@ -1935,24 +2039,13 @@ class XrmuiInput {
|
|
|
1935
2039
|
}
|
|
1936
2040
|
}
|
|
1937
2041
|
}
|
|
1938
|
-
setchoice(v) {
|
|
1939
|
-
const sel = this.selectable();
|
|
1940
|
-
if (sel && sel.length > 0) {
|
|
1941
|
-
const value = v.target.value;
|
|
1942
|
-
const next = sel.find(r => r.id == value);
|
|
1943
|
-
if (next) {
|
|
1944
|
-
const osv = this.optionsetvalue();
|
|
1945
|
-
if (osv) {
|
|
1946
|
-
osv.set(Number(next.id), next.name);
|
|
1947
|
-
}
|
|
1948
|
-
this.selected.set(next);
|
|
1949
|
-
this.notifyOnChange();
|
|
1950
|
-
}
|
|
1951
|
-
}
|
|
1952
|
-
}
|
|
1953
2042
|
select(e, v) {
|
|
1954
2043
|
e.stopImmediatePropagation();
|
|
1955
2044
|
e.stopPropagation();
|
|
2045
|
+
if (this.isselectable()) {
|
|
2046
|
+
this.SetSelectedItem(v);
|
|
2047
|
+
return;
|
|
2048
|
+
}
|
|
1956
2049
|
if (v.expandable == true && !this.isexpanded(v)) {
|
|
1957
2050
|
this.expanding = true;
|
|
1958
2051
|
this.expand(e, v);
|
|
@@ -1972,7 +2065,80 @@ class XrmuiInput {
|
|
|
1972
2065
|
this.onselect.emit(v);
|
|
1973
2066
|
this.notifyOnChange();
|
|
1974
2067
|
}
|
|
2068
|
+
SetSelectedItem(v) {
|
|
2069
|
+
if (this.ismultible()) {
|
|
2070
|
+
if (v != undefined) {
|
|
2071
|
+
const issel = this.isSelected(v);
|
|
2072
|
+
if (v == this.selectall) {
|
|
2073
|
+
const allSelected = untracked(() => this.allIsSelected());
|
|
2074
|
+
if (allSelected) {
|
|
2075
|
+
this.multiselected.set([]);
|
|
2076
|
+
}
|
|
2077
|
+
else {
|
|
2078
|
+
this.multiselected.set([...this.selectable()]);
|
|
2079
|
+
}
|
|
2080
|
+
this.notifyOnChange();
|
|
2081
|
+
this.autoRefocus();
|
|
2082
|
+
setTimeout(() => {
|
|
2083
|
+
if (this.overlayRef) {
|
|
2084
|
+
this.overlayRef.updatePosition();
|
|
2085
|
+
}
|
|
2086
|
+
}, 100);
|
|
2087
|
+
return;
|
|
2088
|
+
}
|
|
2089
|
+
if (issel) {
|
|
2090
|
+
const next = this.multiselected().filter(r => r.id != v.id);
|
|
2091
|
+
this.multiselected.set(next);
|
|
2092
|
+
this.notifyOnChange();
|
|
2093
|
+
}
|
|
2094
|
+
else {
|
|
2095
|
+
const next = [...this.multiselected(), v];
|
|
2096
|
+
this.multiselected.set(next);
|
|
2097
|
+
}
|
|
2098
|
+
this.current = v;
|
|
2099
|
+
this.currentindex.set(this.itemlist().indexOf(v));
|
|
2100
|
+
this.notifyOnChange();
|
|
2101
|
+
this.autoRefocus();
|
|
2102
|
+
setTimeout(() => {
|
|
2103
|
+
if (this.overlayRef) {
|
|
2104
|
+
this.overlayRef.updatePosition();
|
|
2105
|
+
}
|
|
2106
|
+
}, 100);
|
|
2107
|
+
}
|
|
2108
|
+
return;
|
|
2109
|
+
}
|
|
2110
|
+
else {
|
|
2111
|
+
const os = this.optionsetvalue();
|
|
2112
|
+
if (v == undefined || v == this.setdefaultitem) {
|
|
2113
|
+
this.selected.set(undefined);
|
|
2114
|
+
if (os) {
|
|
2115
|
+
os.set(undefined, undefined);
|
|
2116
|
+
}
|
|
2117
|
+
this.shadowValue.set(this.setdefaultitem.name ?? '');
|
|
2118
|
+
}
|
|
2119
|
+
else {
|
|
2120
|
+
this.selected.set(v);
|
|
2121
|
+
if (os) {
|
|
2122
|
+
os.set(Number(v.id), v.name);
|
|
2123
|
+
}
|
|
2124
|
+
this.shadowValue.set(v.name ?? '');
|
|
2125
|
+
}
|
|
2126
|
+
this.current = v;
|
|
2127
|
+
if (v) {
|
|
2128
|
+
const sels = untracked(() => this.itemlist());
|
|
2129
|
+
this.currentindex.set(sels.indexOf(v));
|
|
2130
|
+
}
|
|
2131
|
+
else {
|
|
2132
|
+
this.currentindex.set(-1);
|
|
2133
|
+
}
|
|
2134
|
+
this.onselect.emit(v);
|
|
2135
|
+
this.notifyOnChange();
|
|
2136
|
+
}
|
|
2137
|
+
}
|
|
1975
2138
|
next(e) {
|
|
2139
|
+
if (!this.showitems()) {
|
|
2140
|
+
return;
|
|
2141
|
+
}
|
|
1976
2142
|
const items = this.itemlist();
|
|
1977
2143
|
if (items.length > 0) {
|
|
1978
2144
|
this.currentindex.set(this.currentindex() + e);
|
|
@@ -2012,6 +2178,18 @@ class XrmuiInput {
|
|
|
2012
2178
|
if (!this.disabled() && this.datefieldElement != null) {
|
|
2013
2179
|
this.datefieldElement.nativeElement.focus();
|
|
2014
2180
|
}
|
|
2181
|
+
if (!this.disabled() && this.ismultible()) {
|
|
2182
|
+
const si = untracked(() => this.showitems());
|
|
2183
|
+
if (si && clicked) {
|
|
2184
|
+
this.showitems.set(false);
|
|
2185
|
+
}
|
|
2186
|
+
else {
|
|
2187
|
+
this.showitems.set(true);
|
|
2188
|
+
}
|
|
2189
|
+
}
|
|
2190
|
+
if (this.blurThead) {
|
|
2191
|
+
clearTimeout(this.blurThead);
|
|
2192
|
+
}
|
|
2015
2193
|
if (clicked) {
|
|
2016
2194
|
this.click.emit();
|
|
2017
2195
|
}
|
|
@@ -2028,6 +2206,10 @@ class XrmuiInput {
|
|
|
2028
2206
|
this.dosearchbyname();
|
|
2029
2207
|
}, 600);
|
|
2030
2208
|
}
|
|
2209
|
+
isSelected(s) {
|
|
2210
|
+
const mus = this.multiselected();
|
|
2211
|
+
return mus.find(m => m.id == s.id) != undefined;
|
|
2212
|
+
}
|
|
2031
2213
|
async dosearchbyname(ommitcm) {
|
|
2032
2214
|
const ap = this.autocomplete();
|
|
2033
2215
|
if (ap) {
|
|
@@ -2108,6 +2290,7 @@ class XrmuiInput {
|
|
|
2108
2290
|
}
|
|
2109
2291
|
}
|
|
2110
2292
|
this.expandedItems.set(e, children);
|
|
2293
|
+
this.itemlist.set(nextlist);
|
|
2111
2294
|
}
|
|
2112
2295
|
}
|
|
2113
2296
|
async complete(ev, e) {
|
|
@@ -2122,6 +2305,12 @@ class XrmuiInput {
|
|
|
2122
2305
|
expandedvalues(e) {
|
|
2123
2306
|
return this.expandedItems.get(e) ?? null;
|
|
2124
2307
|
}
|
|
2308
|
+
removeMultiSelected(e, v) {
|
|
2309
|
+
e.stopPropagation();
|
|
2310
|
+
const nextMS = this.multiselected().filter(r => r.id != v.id);
|
|
2311
|
+
this.multiselected.set(nextMS);
|
|
2312
|
+
this.notifyOnChange();
|
|
2313
|
+
}
|
|
2125
2314
|
setNumberValueString() {
|
|
2126
2315
|
const v = Number(this.value());
|
|
2127
2316
|
let decimals = this.decimals();
|
|
@@ -2135,7 +2324,7 @@ class XrmuiInput {
|
|
|
2135
2324
|
this.shadowValue.set(nFormater.flex(v));
|
|
2136
2325
|
}
|
|
2137
2326
|
}
|
|
2138
|
-
|
|
2327
|
+
showAutocompleteSuggestions() {
|
|
2139
2328
|
if (!this.overlayRef && this.searchElement) {
|
|
2140
2329
|
const positionStrategy = this.overlay
|
|
2141
2330
|
.position()
|
|
@@ -2166,15 +2355,15 @@ class XrmuiInput {
|
|
|
2166
2355
|
}
|
|
2167
2356
|
}
|
|
2168
2357
|
}
|
|
2169
|
-
|
|
2358
|
+
hideAutocompleteSuggestions() {
|
|
2170
2359
|
this.overlayRef?.detach();
|
|
2171
2360
|
}
|
|
2172
2361
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: XrmuiInput, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2173
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: XrmuiInput, isStandalone: true, selector: "xrmui-input", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, _shortLabel: { classPropertyName: "_shortLabel", publicName: "short-label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, _disabled: { classPropertyName: "_disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, _showlock: { classPropertyName: "_showlock", publicName: "showlock", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, setfocus: { classPropertyName: "setfocus", publicName: "setfocus", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, optionsetvalue: { classPropertyName: "optionsetvalue", publicName: "optionsetvalue", isSignal: true, isRequired: false, transformFunction: null }, entityreference: { classPropertyName: "entityreference", publicName: "entityreference", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, validate: { classPropertyName: "validate", publicName: "validate", isSignal: true, isRequired: false, transformFunction: null }, decimals: { classPropertyName: "decimals", publicName: "decimals", isSignal: true, isRequired: false, transformFunction: null }, resizeable: { classPropertyName: "resizeable", publicName: "resizeable", isSignal: true, isRequired: false, transformFunction: null }, info: { classPropertyName: "info", publicName: "info", isSignal: true, isRequired: false, transformFunction: null }, notdark: { classPropertyName: "notdark", publicName: "notdark", isSignal: true, isRequired: false, transformFunction: null }, _autoopenonblank: { classPropertyName: "_autoopenonblank", publicName: "autoopenonblank", isSignal: true, isRequired: false, transformFunction: null }, nullable: { classPropertyName: "nullable", publicName: "nullable", isSignal: true, isRequired: false, transformFunction: null }, release: { classPropertyName: "release", publicName: "release", isSignal: true, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: true, isRequired: false, transformFunction: null }, toolIcon: { classPropertyName: "toolIcon", publicName: "toolIcon", isSignal: true, isRequired: false, transformFunction: null }, numberoflines: { classPropertyName: "numberoflines", publicName: "numberoflines", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", setfocus: "setfocusChange", selected: "selectedChange", onselect: "onselect", validate: "validateChange", onfocusEvent: "focus", onblurEvent: "blur", click: "click", released: "released", decimalsUsed: "decimalsUsed", onEnter: "onEnter", toolClick: "toolClick" }, viewQueries: [{ propertyName: "searchElement", first: true, predicate: ["inputfield"], descendants: true }, { propertyName: "textareaElement", first: true, predicate: ["textareafield"], descendants: true }, { propertyName: "datefieldElement", first: true, predicate: ["datefield"], descendants: true }, { propertyName: "suggestionsTemplate", first: true, predicate: ["suggestionsTemplate"], descendants: true }, { propertyName: "options", predicate: ["option"], descendants: true }], ngImport: i0, template: "<div class=\"boruto-ui\">\r\n@if (label() != '' && label().length > 0 && shortLabel() != 'above') {\r\n<div class=\"label\" [ngClass]=\"{ short: shortLabel() == true }\" (click)=\"focusMe($event)\">{{ label() }}</div>\r\n}\r\n@if ((label() != '' || type() == 'number') && showlock()) {\r\n<div class=\"locked\">\r\n @if (required() && shortLabel() != 'above') {\r\n <div style=\"display: inline-block;height: 10px;color: red; position: relative; top: -8px; right: 0\">*</div>\r\n }\r\n @if (disabled()) {\r\n <mat-icon fontSet=\"material-symbols-outlined\">lock</mat-icon>\r\n }\r\n</div>\r\n}\r\n<div class=\"input\" [ngClass]=\"{ focus: hasfocus(), error: error(), textarea: numberoflines() > 1, labelabove: shortLabel() == 'above', toolicon: toolIcon()?.length ?? 0 > 0 }\" (click)=\"focusMe($event)\">\r\n @if (shortLabel() == 'above' && label() != '') {\r\n <div class=\"label-above\">\r\n {{ label() }}\r\n @if (required()) {<span style=\"color: red\"> *</span>}\r\n </div>\r\n }\r\n @if (numberoflines() == 1 && validate() != 'date' && validate() != 'checkbox' && !isselect()) {\r\n <input \r\n #inputfield \r\n [ngClass]=\"inputclasses()\"\r\n [type]=\"type() != 'password'? 'text' : 'password'\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n [(ngModel)]=\"shadowValue\" \r\n (ngModelChange)=\"onValueChanged()\" \r\n (focus)=\"onFocus()\" \r\n (blur)=\"onBlur()\"\r\n (keydown.arrowdown)=\"ondown($event)\"\r\n (keydown.arrowup)=\"onup($event)\"\r\n (keydown.enter)=\"onenter($event)\"\r\n (keydown.esc)=\"onesc($event)\"\r\n (keydown)=\"onkeydown($event)\"\r\n [maxlength]=\"maxlength()\"/>\r\n }\r\n @if (validate() == 'checkbox') {\r\n <div class=\"checkbox\">\r\n <input \r\n type=\"checkbox\"\r\n class=\"text checkbox\"\r\n [(ngModel)]=\"shadowBool\"\r\n [disabled]=\"disabled()\"\r\n (ngModelChange)=\"onCheckboxToggle()\" \r\n (focus)=\"onFocus()\" \r\n (blur)=\"onBlurCheckbox()\"\r\n />\r\n </div>\r\n }\r\n @if (numberoflines() == 1 && validate() == 'date' && !isselect()) {\r\n <input\r\n #datefield\r\n class=\"text datepicker\"\r\n [matDatepicker]=\"picker\"\r\n [value]=\"shadowDate()\"\r\n (dateChange)=\"pickDate($event)\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlurDate()\"/>\r\n @if (!disabled()) {\r\n <mat-icon \r\n class=\"calendar-icon\" \r\n fontSet=\"material-symbols-outlined\"\r\n (click)=\"picker.open()\">calendar_month</mat-icon>\r\n }\r\n <mat-datepicker #picker></mat-datepicker>\r\n }\r\n @if (numberoflines() > 1 && !isselect()) {\r\n <textarea\r\n #textareafield\r\n [maxlength]=\"maxlength()\"\r\n [rows]=\"numberoflines()\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n [(ngModel)]=\"shadowValue\" \r\n [ngClass]=\"{ noresize: !resizeable() }\"\r\n (ngModelChange)=\"onValueChanged()\" \r\n (focus)=\"onFocus()\" \r\n (blur)=\"onBlur()\"\r\n (keydown.arrowdown)=\"ondown($event)\"\r\n (keydown.arrowup)=\"onup($event)\"\r\n (keydown.enter)=\"onenter($event)\"\r\n (keydown.esc)=\"onesc($event)\"\r\n (keydown)=\"onkeydown($event)\"></textarea>\r\n }\r\n @let options = selectable();\r\n @if (options && options.length > 0) {\r\n <select \r\n (change)=\"setchoice($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n [disabled]=\"disabled()\">\r\n @for (option of options; track option) {\r\n <option [value]=\"option.id\" [selected]=\"option == selected()\">{{ option.name }}</option>\r\n }\r\n </select>\r\n @if (!disabled()) {\r\n <mat-icon class=\"dropdown\" fontSet=\"material-symbols-outlined\">arrow_drop_down</mat-icon>\r\n }\r\n }\r\n @let ti = toolIcon();\r\n @if (!disabled() && ti && ti.length > 0) {\r\n <mat-icon class=\"toolicon\" fontSet=\"material-symbols-outlined\" (click)=\"toolClicked($event)\">{{ ti }}</mat-icon>\r\n }\r\n</div>\r\n\r\n@if (label() == '' && type() != 'number' && showlock()) {\r\n <div class=\"locked\" style=\"text-align: left;\">\r\n @if (disabled()) {\r\n <mat-icon fontSet=\"material-symbols-outlined\">lock</mat-icon>\r\n }\r\n </div>\r\n}\r\n\r\n@if (info()) {<div class=\"info\" [title]=\"info()\"><mat-icon class=\"info\">info</mat-icon></div>}\r\n</div>\r\n\r\n<ng-template #suggestionsTemplate>\r\n <div class=\"boruto-ui\">\r\n <div class=\"autocomplete\" [ngClass]=\"{ nolabel: (!label() || label().length == 0 || shortLabel() == 'above'), shortLabel: shortLabel() == true, notdark: notdark() }\">\r\n @if (itemlist().length == 0) {\r\n <div class=\"element\"><div class=\"item\">Ingen fundet</div></div>\r\n }\r\n @for (elm of itemlist(); track elm) {\r\n <div #option class=\"element\" [ngClass]=\"{ current: current == elm, selectable: !elm.disabled }\" (click)=\"select($event, elm)\">\r\n <div class=\"item\">\r\n @if (itemTemplate(); as template) {\r\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: elm }\"></ng-container>\r\n } @else {\r\n {{ elm.name }}\r\n }\r\n </div>\r\n @if (elm.expandable == true) {\r\n <div class=\"icon expand\" (click)=\"expand($event, elm)\">\r\n <xrmui-icon icon=\"arrow_drop_down\" size=\"24\"></xrmui-icon>\r\n </div>\r\n }\r\n @if (elm.completeOnly == true) {\r\n <div class=\"icon complete\" (click)=\"complete($event, elm)\">\r\n <xrmui-icon icon=\"search\" size=\"24\"></xrmui-icon>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".boruto-ui{display:flex;margin-bottom:10px}.boruto-ui div.autocomplete{display:block;box-sizing:border-box;background-color:#fff;color:#000;border:solid;border-width:1px 1px 1px 1px;border-color:#d3d3d3;border-radius:4px;padding:5px;max-height:200px;overflow-x:hidden;overflow-y:auto}.boruto-ui div.autocomplete.nolabel{left:0}.boruto-ui div.autocomplete.shortLabel{left:124px}.boruto-ui div.autocomplete div.element.selectable{cursor:pointer}@media(prefers-color-scheme:dark){.boruto-ui div.autocomplete{background-color:#000;color:#fff}}@media(prefers-color-scheme:dark){.boruto-ui div.autocomplete.notdark{background-color:#fff;color:#000}}.boruto-ui div.autocomplete div.element{margin:5px;padding:5px;display:flex;border:solid;border-width:0 0 1px 0;border-color:#d3d3d3;font-size:14px;color:gray}.boruto-ui div.autocomplete div.element.current{border-color:#0f6cbd;color:#000}.boruto-ui div.autocomplete div.element div.item{flex-grow:1}.boruto-ui div.label{width:180px;min-width:180px;max-height:180px;height:32px;line-height:32px}.boruto-ui div.label.short{width:90px;min-width:90px}.boruto-ui div.locked{width:30px;min-width:30px;max-width:30px;height:32px;line-height:32px;text-align:right;padding-right:3px}.boruto-ui div.input{flex-grow:1;height:32px;line-height:32px;background-color:#f5f5f5;border-radius:3px;margin:0;padding:0;border:solid;border-width:0 0 3px 0;border-color:transparent}.boruto-ui div.input.labelabove{height:48px}.boruto-ui div.input.labelabove div.label-above{font-size:12px;line-height:12px;width:100%;padding-left:15px;padding-top:5px;color:gray}.boruto-ui div.input.focus.labelabove div.label-above{color:#0f6cbd}.boruto-ui div.input.textarea{height:inherit}.boruto-ui div.info{width:30px}.boruto-ui div textarea{background-color:#f5f5f5;border-radius:3px;margin:0;padding:10px 15px;border:solid;border-width:0 0 3px 0;border-color:transparent;width:100%;box-sizing:border-box}.boruto-ui div.input.focus,.boruto-ui div.textarea.focus,.boruto-ui div.select.focus{border-color:#0f6cbd}.boruto-ui div.input.error,.boruto-ui div.input.focus.error,.boruto-ui div.select.focus.error{border-color:red;color:red}.boruto-ui input{background-color:transparent;margin:0;border:none;height:29px;padding:0 0 0 15px;width:100%;box-sizing:border-box}.boruto-ui input.number{text-align:right}.boruto-ui select{background-color:transparent;margin:0;border:none;height:29px;padding:0 0 0 15px;width:calc(100% - 10px);box-sizing:border-box}.boruto-ui input.datepicker{width:calc(100% - 35px)}.boruto-ui div.input>div.checkbox{margin-left:15px;margin-top:5px}.boruto-ui div.input.above>div.checkbox{margin-top:2px}.boruto-ui input.checkbox{width:15px;height:15px}.boruto-ui div.input.toolicon input{width:calc(100% - 35px)}@media(prefers-color-scheme:dark){.boruto-ui input{color:#000}.boruto-ui input:disabled{color:#5f615f}}.boruto-ui input.number{text-align:right;padding-right:15px;padding-left:0}.boruto-ui *:focus{outline:none}.boruto-ui mat-icon{color:#d3d3d3;font-size:12px;position:relative;top:5px;width:12px}.boruto-ui .complete mat-icon,.boruto-ui .expand mat-icon{width:24px}.boruto-ui textarea.noresize{resize:none}.boruto-ui mat-icon.info{font-size:30px;width:30px;height:30px;color:gray}.boruto-ui mat-icon.info:hover{color:#000}.boruto-ui mat-icon.calendar-icon{font-size:25px;width:25px;height:25px;color:#a9a9a9}.boruto-ui mat-icon.toolicon{cursor:pointer;font-size:25px;width:25px;height:25px;color:gray}.boruto-ui mat-icon.dropdown{position:absolute;right:10px;top:4px;font-size:25px;width:25px;height:25px;color:gray;pointer-events:none}.boruto-ui div.input.labelabove mat-icon.dropdown{top:12px}.boruto-ui div.input.labelabove mat-icon.toolicon,.boruto-ui div.input.labelabove mat-icon.calendar-icon{position:relative;top:-5px}.boruto-ui select{appearance:none;-webkit-appearance:none;-moz-appearance:none}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox]:not([ngNoCva])[formControlName],input[type=checkbox]:not([ngNoCva])[formControl],input[type=checkbox]:not([ngNoCva])[ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: XrmuiIcon, selector: "xrmui-icon", inputs: ["icon", "disabled", "type", "size"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
|
|
2362
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: XrmuiInput, isStandalone: true, selector: "xrmui-input", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, _shortLabel: { classPropertyName: "_shortLabel", publicName: "short-label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, _disabled: { classPropertyName: "_disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, _showlock: { classPropertyName: "_showlock", publicName: "showlock", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, inputid: { classPropertyName: "inputid", publicName: "inputid", isSignal: true, isRequired: false, transformFunction: null }, setfocus: { classPropertyName: "setfocus", publicName: "setfocus", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, multiselected: { classPropertyName: "multiselected", publicName: "multiselected", isSignal: true, isRequired: false, transformFunction: null }, optionsetvalue: { classPropertyName: "optionsetvalue", publicName: "optionsetvalue", isSignal: true, isRequired: false, transformFunction: null }, entityreference: { classPropertyName: "entityreference", publicName: "entityreference", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, validate: { classPropertyName: "validate", publicName: "validate", isSignal: true, isRequired: false, transformFunction: null }, decimals: { classPropertyName: "decimals", publicName: "decimals", isSignal: true, isRequired: false, transformFunction: null }, resizeable: { classPropertyName: "resizeable", publicName: "resizeable", isSignal: true, isRequired: false, transformFunction: null }, info: { classPropertyName: "info", publicName: "info", isSignal: true, isRequired: false, transformFunction: null }, notdark: { classPropertyName: "notdark", publicName: "notdark", isSignal: true, isRequired: false, transformFunction: null }, _autoopenonblank: { classPropertyName: "_autoopenonblank", publicName: "autoopenonblank", isSignal: true, isRequired: false, transformFunction: null }, nullable: { classPropertyName: "nullable", publicName: "nullable", isSignal: true, isRequired: false, transformFunction: null }, release: { classPropertyName: "release", publicName: "release", isSignal: true, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: true, isRequired: false, transformFunction: null }, toolIcon: { classPropertyName: "toolIcon", publicName: "toolIcon", isSignal: true, isRequired: false, transformFunction: null }, numberoflines: { classPropertyName: "numberoflines", publicName: "numberoflines", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", setfocus: "setfocusChange", selected: "selectedChange", multiselected: "multiselectedChange", onselect: "onselect", validate: "validateChange", onfocusEvent: "focus", onblurEvent: "blur", click: "click", released: "released", decimalsUsed: "decimalsUsed", onEnter: "onEnter", toolClick: "toolClick" }, viewQueries: [{ propertyName: "searchElement", first: true, predicate: ["inputfield"], descendants: true }, { propertyName: "textareaElement", first: true, predicate: ["textareafield"], descendants: true }, { propertyName: "datefieldElement", first: true, predicate: ["datefield"], descendants: true }, { propertyName: "suggestionsTemplate", first: true, predicate: ["suggestionsTemplate"], descendants: true }, { propertyName: "options", predicate: ["option"], descendants: true }], ngImport: i0, template: "<div class=\"boruto-ui\">\r\n@if (label() != '' && label().length > 0 && shortLabel() != 'above') {\r\n<div class=\"label\" [ngClass]=\"{ short: shortLabel() == true }\" (click)=\"focusMe($event)\">{{ label() }}</div>\r\n}\r\n@if ((label() != '' || type() == 'number') && showlock()) {\r\n<div class=\"locked\">\r\n @if (required() && shortLabel() != 'above') {\r\n <div style=\"display: inline-block;height: 10px;color: red; position: relative; top: -8px; right: 0\">*</div>\r\n }\r\n @if (disabled()) {\r\n <mat-icon fontSet=\"material-symbols-outlined\">lock</mat-icon>\r\n }\r\n</div>\r\n}\r\n<div class=\"input\" \r\n [ngClass]=\"{ focus: hasfocus(), multi: ismultible(), error: error(), textarea: numberoflines() > 1, labelabove: shortLabel() == 'above', toolicon: toolIcon()?.length ?? 0 > 0 }\" \r\n (mouseover)=\"isover.set(true)\"\r\n (mouseleave)=\"isover.set(false)\"\r\n (click)=\"focusMe($event, true)\">\r\n @if (shortLabel() == 'above' && label() != '') {\r\n <div class=\"label-above\">\r\n {{ label() }}\r\n @if (required()) {<span style=\"color: red\"> *</span>}\r\n </div>\r\n }\r\n @if (numberoflines() == 1 && validate() != 'date' && validate() != 'checkbox' && !isselect()) {\r\n <input\r\n [id]=\"inputid()\"\r\n [name]=\"name()\"\r\n #inputfield \r\n autocomplete=\"off\"\r\n [ngClass]=\"inputclasses()\"\r\n [type]=\"type() != 'password'? 'text' : 'password'\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n [(ngModel)]=\"shadowValue\" \r\n (ngModelChange)=\"onValueChanged()\" \r\n (focus)=\"onFocus()\" \r\n (blur)=\"onBlur()\"\r\n (keydown.arrowdown)=\"ondown($event)\"\r\n (keydown.arrowup)=\"onup($event)\"\r\n (keydown.enter)=\"onenter($event)\"\r\n (keydown.esc)=\"onesc($event)\"\r\n (keydown)=\"onkeydown($event)\"\r\n [maxlength]=\"maxlength()\"/>\r\n }\r\n @if (validate() == 'checkbox') {\r\n <div class=\"checkbox\">\r\n <input\r\n [id]=\"inputid()\"\r\n [name]=\"name()\"\r\n type=\"checkbox\"\r\n class=\"text checkbox\"\r\n [(ngModel)]=\"shadowBool\"\r\n [disabled]=\"disabled()\"\r\n (ngModelChange)=\"onCheckboxToggle()\" \r\n (focus)=\"onFocus()\" \r\n (blur)=\"onBlurCheckbox()\"\r\n />\r\n </div>\r\n }\r\n @if (numberoflines() == 1 && validate() == 'date' && !isselect()) {\r\n <input\r\n [id]=\"inputid()\"\r\n [name]=\"name()\"\r\n #datefield\r\n class=\"text datepicker\"\r\n [matDatepicker]=\"picker\"\r\n [value]=\"shadowDate()\"\r\n (dateChange)=\"pickDate($event)\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlurDate()\"/>\r\n @if (!disabled()) {\r\n <mat-icon \r\n class=\"calendar-icon\" \r\n fontSet=\"material-symbols-outlined\"\r\n (click)=\"picker.open()\">calendar_month</mat-icon>\r\n }\r\n <mat-datepicker #picker></mat-datepicker>\r\n }\r\n @if (numberoflines() > 1 && !isselect()) {\r\n <textarea\r\n [id]=\"inputid()\"\r\n [name]=\"name()\"\r\n #textareafield\r\n [maxlength]=\"maxlength()\"\r\n [rows]=\"numberoflines()\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n [(ngModel)]=\"shadowValue\" \r\n [ngClass]=\"{ noresize: !resizeable() }\"\r\n (ngModelChange)=\"onValueChanged()\" \r\n (focus)=\"onFocus()\" \r\n (blur)=\"onBlur()\"></textarea>\r\n }\r\n @let options = selectable();\r\n @if (options && options.length > 0 && !ismultible()) {\r\n <button \r\n #inputfield \r\n [id]=\"inputid()\"\r\n [name]=\"name()\"\r\n (click)=\"openSelect()\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n [disabled]=\"disabled()\"\r\n class=\"optionsetbutton\"\r\n [ngClass]=\"{ grayed: selected() === undefined }\"\r\n (keydown.arrowdown)=\"ondown($event)\"\r\n (keydown.arrowup)=\"onup($event)\"\r\n (keydown.enter)=\"onenter($event)\"\r\n (keydown.esc)=\"onesc($event)\"\r\n (keydown)=\"onkeydown($event)\">\r\n <div class=\"bo-grid-rows\">\r\n <div class=\"bo-row\">\r\n <div class=bo-grid-columns>\r\n <div class=\"bo-column\">{{ selected()?.name ?? setdefaultitem.name }}</div>\r\n <div class=\"bo-column bo-fixed\" style=\"--bo-fixed-size: 25 px; margin-top: -10px;position: relative;\">\r\n <xrmui-icon icon=\"keyboard_arrow_down\" type=\"font\" style=\"color: black\"></xrmui-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </button>\r\n }\r\n @if (options && options.length > 0 && ismultible()) {\r\n <div class=\"multi-select\">\r\n @let optionsselected = multiselected()!;\r\n @for (ms of optionsselected; track ms.id; let ix = $index) {\r\n <div class=\"multi-select-item\" [ngClass]=\"{ over: isover() && !showitems() }\">@if(ix>0 && (!isover() || showitems())) {, }\r\n <button tabindex=\"-1\" (click)=\"removeMultiSelected($event, ms)\">\r\n @if (ms.icon && ms.icon.length > 0) {\r\n <span class=\"material-symbols-outlined\" style=\"font-size: small; position: relative; top: 3px\">{{ ms.icon }}</span>\r\n }\r\n {{ ms.name }}\r\n @if (isover() && !showitems()) {\r\n <span class=\"material-symbols-outlined\" style=\"font-size: small; position: relative; top: 3px\">close_small</span>\r\n }\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n <div style=\"height: 2px\" class=\"multi-select-input\">\r\n <input \r\n #inputfield \r\n readonly\r\n [id]=\"inputid()\"\r\n [name]=\"name()\"\r\n (click)=\"openSelect()\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n [disabled]=\"disabled()\"\r\n (keydown.arrowdown)=\"ondown($event)\"\r\n (keydown.arrowup)=\"onup($event)\"\r\n (keydown.enter)=\"onenter($event)\"\r\n (keydown.esc)=\"onesc($event)\"\r\n (keydown.backspace)=\"onbackspace($event)\"\r\n (keydown)=\"onkeydown($event)\"\r\n />\r\n </div>\r\n }\r\n @let ti = toolIcon();\r\n @if (!disabled() && ti && ti.length > 0) {\r\n <mat-icon class=\"toolicon\" fontSet=\"material-symbols-outlined\" (click)=\"toolClicked($event)\">{{ ti }}</mat-icon>\r\n }\r\n</div>\r\n\r\n@if (label() == '' && type() != 'number' && showlock()) {\r\n <div class=\"locked\" style=\"text-align: left;\">\r\n @if (disabled()) {\r\n <mat-icon fontSet=\"material-symbols-outlined\">lock</mat-icon>\r\n }\r\n </div>\r\n}\r\n\r\n@if (info()) {<div class=\"info\" [title]=\"info()\"><mat-icon class=\"info\">info</mat-icon></div>}\r\n</div>\r\n\r\n<ng-template #suggestionsTemplate>\r\n <div class=\"boruto-ui\">\r\n <div class=\"autocomplete\" [ngClass]=\"{ nolabel: (!label() || label().length == 0 || shortLabel() == 'above'), shortLabel: shortLabel() == true, notdark: notdark() }\">\r\n @if (itemlist().length == 0) {\r\n <div class=\"element\"><div class=\"item\">Ingen fundet</div></div>\r\n }\r\n @for (elm of itemlist(); track elm) {\r\n <div #option class=\"element\" [ngClass]=\"{ current: current == elm, selectable: !elm.disabled }\" (click)=\"select($event, elm)\">\r\n @if (elm.icon && elm.icon.length > 0) {\r\n <div class=\"icon\" style=\"min-width: 28px;\">\r\n <xrmui-icon type=\"font\" [icon]=\"elm.icon\"></xrmui-icon>\r\n </div>\r\n }\r\n <div class=\"item\">\r\n @if (itemTemplate(); as template) {\r\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: elm }\"></ng-container>\r\n } @else {\r\n @if (elm == selectall) {\r\n @if (allIsSelected()) {\r\n Remove all\r\n } @else {\r\n Select all\r\n }\r\n } @else {\r\n {{ elm.name }}\r\n }\r\n }\r\n </div>\r\n @if (isselectable() && !multiselected()) {\r\n <div class=\"icon\" style=\"min-width: 24px;\">\r\n @if (current == elm && elm != setdefaultitem) {\r\n <xrmui-icon type=\"font\" icon=\"check\" inlineStyle=\"font-size: small\"></xrmui-icon>\r\n }\r\n </div>\r\n }\r\n @if (isselectable() && multiselected() && elm != selectall) {\r\n <div class=\"icon\" style=\"min-width: 24px;\">\r\n @if (isSelected(elm)) {\r\n <xrmui-icon type=\"font\" icon=\"check_box\"></xrmui-icon>\r\n }\r\n @if (!isSelected(elm)) {\r\n <xrmui-icon type=\"font\" icon=\"check_box_outline_blank\"></xrmui-icon>\r\n }\r\n </div>\r\n }\r\n @if (elm.expandable == true) {\r\n <div class=\"icon expand\" (click)=\"expand($event, elm)\">\r\n <xrmui-icon icon=\"arrow_drop_down\" size=\"24\"></xrmui-icon>\r\n </div>\r\n }\r\n @if (elm.completeOnly == true) {\r\n <div class=\"icon complete\" (click)=\"complete($event, elm)\">\r\n <xrmui-icon icon=\"search\" size=\"24\"></xrmui-icon>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n", styles: [".boruto-ui{display:flex;margin-bottom:10px}.boruto-ui div.autocomplete{display:block;box-sizing:border-box;background-color:#fff;color:#000;border:solid;border-width:1px 1px 1px 1px;border-color:#d3d3d3;border-radius:4px;padding:5px;max-height:200px;overflow-x:hidden;overflow-y:auto}.boruto-ui div.autocomplete.nolabel{left:0}.boruto-ui div.autocomplete.shortLabel{left:124px}.boruto-ui div.autocomplete div.element.selectable{cursor:pointer}@media(prefers-color-scheme:dark){.boruto-ui div.autocomplete{background-color:#000;color:#fff}}@media(prefers-color-scheme:dark){.boruto-ui div.autocomplete.notdark{background-color:#fff;color:#000}}.boruto-ui div.autocomplete div.element{margin:5px;padding:5px;display:flex;border:solid;border-width:0 0 1px 0;border-color:#d3d3d3;font-size:14px;color:gray}.boruto-ui div.autocomplete div.element.current{border-color:#0f6cbd;color:#000}.boruto-ui div.autocomplete div.element div.item{flex-grow:1}.boruto-ui div.label{width:180px;min-width:180px;max-height:180px;height:32px;line-height:32px}.boruto-ui div.label.short{width:90px;min-width:90px}.boruto-ui div.locked{width:30px;min-width:30px;max-width:30px;height:32px;line-height:32px;text-align:right;padding-right:3px}.boruto-ui div.input{flex-grow:1;height:32px;line-height:32px;background-color:#f5f5f5;border-radius:3px;margin:0;padding:0;border:solid;border-width:0 0 3px 0;border-color:transparent}.boruto-ui div.input.multi{height:auto;min-height:32px;line-height:normal}.boruto-ui div.input.labelabove{height:48px}.boruto-ui div.input.labelabove.multi{height:auto;min-height:48px;line-height:normal}.boruto-ui div.input.labelabove div.label-above{font-size:12px;line-height:12px;width:100%;padding-left:15px;padding-top:5px;color:gray}.boruto-ui div.input.focus.labelabove div.label-above{color:#0f6cbd}.boruto-ui div.input.textarea{height:inherit}.boruto-ui div.info{width:30px}.boruto-ui div textarea{background-color:#f5f5f5;border-radius:3px;margin:0;padding:10px 15px;border:solid;border-width:0 0 3px 0;border-color:transparent;width:100%;box-sizing:border-box}.boruto-ui div.input.focus,.boruto-ui div.textarea.focus,.boruto-ui div.select.focus{border-color:#0f6cbd}.boruto-ui div.input.error,.boruto-ui div.input.focus.error,.boruto-ui div.select.focus.error{border-color:red;color:red}.boruto-ui input{background-color:transparent;margin:0;border:none;height:29px;padding:0 0 0 15px;width:100%;box-sizing:border-box}.boruto-ui input.number{text-align:right}.boruto-ui select{background-color:transparent;margin:0;border:none;height:29px;padding:0 0 0 15px;width:calc(100% - 10px);box-sizing:border-box}.boruto-ui input.datepicker{width:calc(100% - 35px)}.boruto-ui div.input>div.checkbox{margin-left:15px;margin-top:5px}.boruto-ui div.input.above>div.checkbox{margin-top:2px}.boruto-ui input.checkbox{width:15px;height:15px}.boruto-ui div.input.toolicon input{width:calc(100% - 35px)}@media(prefers-color-scheme:dark){.boruto-ui input{color:#000}.boruto-ui input:disabled{color:#5f615f}}.boruto-ui input.number{text-align:right;padding-right:15px;padding-left:0}.boruto-ui *:focus{outline:none}.boruto-ui mat-icon{color:#d3d3d3;font-size:12px;position:relative;top:5px;width:12px}.boruto-ui .complete mat-icon,.boruto-ui .expand mat-icon{width:24px}.boruto-ui textarea.noresize{resize:none}.boruto-ui mat-icon.info{font-size:30px;width:30px;height:30px;color:gray}.boruto-ui mat-icon.info:hover{color:#000}.boruto-ui mat-icon.calendar-icon{font-size:25px;width:25px;height:25px;color:#a9a9a9}.boruto-ui mat-icon.toolicon{cursor:pointer;font-size:25px;width:25px;height:25px;color:gray}.boruto-ui mat-icon.dropdown{position:absolute;right:10px;top:4px;font-size:25px;width:25px;height:25px;color:gray;pointer-events:none}.boruto-ui div.input.labelabove mat-icon.dropdown{top:12px}.boruto-ui div.input.labelabove mat-icon.toolicon,.boruto-ui div.input.labelabove mat-icon.calendar-icon{position:relative;top:-5px}.boruto-ui select{appearance:none;-webkit-appearance:none;-moz-appearance:none}.boruto-ui button.optionsetbutton{width:100%;height:29px;border:none;box-sizing:border-box;background-color:transparent;text-align:left;padding-left:15px}.boruto-ui button.optionsetbutton.grayed{color:gray}.boruto-ui div.multi-select{padding-left:15px;font-size:small;display:flex;flex-direction:row;flex-wrap:wrap;min-height:27px}.boruto-ui div.multi-select div.multi-select-item{line-height:1.2;margin-right:2px;margin-top:5px;white-space:nowrap}.boruto-ui div.multi-select div.multi-select-item.over{padding:4px;margin-right:4px;background-color:#d8d8d8;cursor:pointer}.boruto-ui div.multi-select div.multi-select-item button{margin:0;padding:0;border:none;background-color:transparent;height:100%;cursor:pointer}.boruto-ui div.multi-select-input{position:relative;height:6px}.boruto-ui div.multi-select-input input{position:absolute;opacity:0;width:100%;height:11px;padding:0;border:0}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox]:not([ngNoCva])[formControlName],input[type=checkbox]:not([ngNoCva])[formControl],input[type=checkbox]:not([ngNoCva])[ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: XrmuiIcon, selector: "xrmui-icon", inputs: ["icon", "fontClass", "inlineStyle", "disabled", "type", "size"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
|
|
2174
2363
|
}
|
|
2175
2364
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: XrmuiInput, decorators: [{
|
|
2176
2365
|
type: Component,
|
|
2177
|
-
args: [{ selector: 'xrmui-input', changeDetection: ChangeDetectionStrategy.Eager, encapsulation: ViewEncapsulation.None, imports: [FormsModule, NgClass, MatIcon, TextFieldModule, MatDatepickerModule, MatCheckboxModule, XrmuiIcon, NgTemplateOutlet], template: "<div class=\"boruto-ui\">\r\n@if (label() != '' && label().length > 0 && shortLabel() != 'above') {\r\n<div class=\"label\" [ngClass]=\"{ short: shortLabel() == true }\" (click)=\"focusMe($event)\">{{ label() }}</div>\r\n}\r\n@if ((label() != '' || type() == 'number') && showlock()) {\r\n<div class=\"locked\">\r\n @if (required() && shortLabel() != 'above') {\r\n <div style=\"display: inline-block;height: 10px;color: red; position: relative; top: -8px; right: 0\">*</div>\r\n }\r\n @if (disabled()) {\r\n <mat-icon fontSet=\"material-symbols-outlined\">lock</mat-icon>\r\n }\r\n</div>\r\n}\r\n<div class=\"input\" [ngClass]=\"{ focus: hasfocus(), error: error(), textarea: numberoflines() > 1, labelabove: shortLabel() == 'above', toolicon: toolIcon()?.length ?? 0 > 0 }\" (click)=\"focusMe($event)\">\r\n @if (shortLabel() == 'above' && label() != '') {\r\n <div class=\"label-above\">\r\n {{ label() }}\r\n @if (required()) {<span style=\"color: red\"> *</span>}\r\n </div>\r\n }\r\n @if (numberoflines() == 1 && validate() != 'date' && validate() != 'checkbox' && !isselect()) {\r\n <input \r\n #inputfield \r\n [ngClass]=\"inputclasses()\"\r\n [type]=\"type() != 'password'? 'text' : 'password'\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n [(ngModel)]=\"shadowValue\" \r\n (ngModelChange)=\"onValueChanged()\" \r\n (focus)=\"onFocus()\" \r\n (blur)=\"onBlur()\"\r\n (keydown.arrowdown)=\"ondown($event)\"\r\n (keydown.arrowup)=\"onup($event)\"\r\n (keydown.enter)=\"onenter($event)\"\r\n (keydown.esc)=\"onesc($event)\"\r\n (keydown)=\"onkeydown($event)\"\r\n [maxlength]=\"maxlength()\"/>\r\n }\r\n @if (validate() == 'checkbox') {\r\n <div class=\"checkbox\">\r\n <input \r\n type=\"checkbox\"\r\n class=\"text checkbox\"\r\n [(ngModel)]=\"shadowBool\"\r\n [disabled]=\"disabled()\"\r\n (ngModelChange)=\"onCheckboxToggle()\" \r\n (focus)=\"onFocus()\" \r\n (blur)=\"onBlurCheckbox()\"\r\n />\r\n </div>\r\n }\r\n @if (numberoflines() == 1 && validate() == 'date' && !isselect()) {\r\n <input\r\n #datefield\r\n class=\"text datepicker\"\r\n [matDatepicker]=\"picker\"\r\n [value]=\"shadowDate()\"\r\n (dateChange)=\"pickDate($event)\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlurDate()\"/>\r\n @if (!disabled()) {\r\n <mat-icon \r\n class=\"calendar-icon\" \r\n fontSet=\"material-symbols-outlined\"\r\n (click)=\"picker.open()\">calendar_month</mat-icon>\r\n }\r\n <mat-datepicker #picker></mat-datepicker>\r\n }\r\n @if (numberoflines() > 1 && !isselect()) {\r\n <textarea\r\n #textareafield\r\n [maxlength]=\"maxlength()\"\r\n [rows]=\"numberoflines()\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n [(ngModel)]=\"shadowValue\" \r\n [ngClass]=\"{ noresize: !resizeable() }\"\r\n (ngModelChange)=\"onValueChanged()\" \r\n (focus)=\"onFocus()\" \r\n (blur)=\"onBlur()\"\r\n (keydown.arrowdown)=\"ondown($event)\"\r\n (keydown.arrowup)=\"onup($event)\"\r\n (keydown.enter)=\"onenter($event)\"\r\n (keydown.esc)=\"onesc($event)\"\r\n (keydown)=\"onkeydown($event)\"></textarea>\r\n }\r\n @let options = selectable();\r\n @if (options && options.length > 0) {\r\n <select \r\n (change)=\"setchoice($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n [disabled]=\"disabled()\">\r\n @for (option of options; track option) {\r\n <option [value]=\"option.id\" [selected]=\"option == selected()\">{{ option.name }}</option>\r\n }\r\n </select>\r\n @if (!disabled()) {\r\n <mat-icon class=\"dropdown\" fontSet=\"material-symbols-outlined\">arrow_drop_down</mat-icon>\r\n }\r\n }\r\n @let ti = toolIcon();\r\n @if (!disabled() && ti && ti.length > 0) {\r\n <mat-icon class=\"toolicon\" fontSet=\"material-symbols-outlined\" (click)=\"toolClicked($event)\">{{ ti }}</mat-icon>\r\n }\r\n</div>\r\n\r\n@if (label() == '' && type() != 'number' && showlock()) {\r\n <div class=\"locked\" style=\"text-align: left;\">\r\n @if (disabled()) {\r\n <mat-icon fontSet=\"material-symbols-outlined\">lock</mat-icon>\r\n }\r\n </div>\r\n}\r\n\r\n@if (info()) {<div class=\"info\" [title]=\"info()\"><mat-icon class=\"info\">info</mat-icon></div>}\r\n</div>\r\n\r\n<ng-template #suggestionsTemplate>\r\n <div class=\"boruto-ui\">\r\n <div class=\"autocomplete\" [ngClass]=\"{ nolabel: (!label() || label().length == 0 || shortLabel() == 'above'), shortLabel: shortLabel() == true, notdark: notdark() }\">\r\n @if (itemlist().length == 0) {\r\n <div class=\"element\"><div class=\"item\">Ingen fundet</div></div>\r\n }\r\n @for (elm of itemlist(); track elm) {\r\n <div #option class=\"element\" [ngClass]=\"{ current: current == elm, selectable: !elm.disabled }\" (click)=\"select($event, elm)\">\r\n <div class=\"item\">\r\n @if (itemTemplate(); as template) {\r\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: elm }\"></ng-container>\r\n } @else {\r\n {{ elm.name }}\r\n }\r\n </div>\r\n @if (elm.expandable == true) {\r\n <div class=\"icon expand\" (click)=\"expand($event, elm)\">\r\n <xrmui-icon icon=\"arrow_drop_down\" size=\"24\"></xrmui-icon>\r\n </div>\r\n }\r\n @if (elm.completeOnly == true) {\r\n <div class=\"icon complete\" (click)=\"complete($event, elm)\">\r\n <xrmui-icon icon=\"search\" size=\"24\"></xrmui-icon>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".boruto-ui{display:flex;margin-bottom:10px}.boruto-ui div.autocomplete{display:block;box-sizing:border-box;background-color:#fff;color:#000;border:solid;border-width:1px 1px 1px 1px;border-color:#d3d3d3;border-radius:4px;padding:5px;max-height:200px;overflow-x:hidden;overflow-y:auto}.boruto-ui div.autocomplete.nolabel{left:0}.boruto-ui div.autocomplete.shortLabel{left:124px}.boruto-ui div.autocomplete div.element.selectable{cursor:pointer}@media(prefers-color-scheme:dark){.boruto-ui div.autocomplete{background-color:#000;color:#fff}}@media(prefers-color-scheme:dark){.boruto-ui div.autocomplete.notdark{background-color:#fff;color:#000}}.boruto-ui div.autocomplete div.element{margin:5px;padding:5px;display:flex;border:solid;border-width:0 0 1px 0;border-color:#d3d3d3;font-size:14px;color:gray}.boruto-ui div.autocomplete div.element.current{border-color:#0f6cbd;color:#000}.boruto-ui div.autocomplete div.element div.item{flex-grow:1}.boruto-ui div.label{width:180px;min-width:180px;max-height:180px;height:32px;line-height:32px}.boruto-ui div.label.short{width:90px;min-width:90px}.boruto-ui div.locked{width:30px;min-width:30px;max-width:30px;height:32px;line-height:32px;text-align:right;padding-right:3px}.boruto-ui div.input{flex-grow:1;height:32px;line-height:32px;background-color:#f5f5f5;border-radius:3px;margin:0;padding:0;border:solid;border-width:0 0 3px 0;border-color:transparent}.boruto-ui div.input.labelabove{height:48px}.boruto-ui div.input.labelabove div.label-above{font-size:12px;line-height:12px;width:100%;padding-left:15px;padding-top:5px;color:gray}.boruto-ui div.input.focus.labelabove div.label-above{color:#0f6cbd}.boruto-ui div.input.textarea{height:inherit}.boruto-ui div.info{width:30px}.boruto-ui div textarea{background-color:#f5f5f5;border-radius:3px;margin:0;padding:10px 15px;border:solid;border-width:0 0 3px 0;border-color:transparent;width:100%;box-sizing:border-box}.boruto-ui div.input.focus,.boruto-ui div.textarea.focus,.boruto-ui div.select.focus{border-color:#0f6cbd}.boruto-ui div.input.error,.boruto-ui div.input.focus.error,.boruto-ui div.select.focus.error{border-color:red;color:red}.boruto-ui input{background-color:transparent;margin:0;border:none;height:29px;padding:0 0 0 15px;width:100%;box-sizing:border-box}.boruto-ui input.number{text-align:right}.boruto-ui select{background-color:transparent;margin:0;border:none;height:29px;padding:0 0 0 15px;width:calc(100% - 10px);box-sizing:border-box}.boruto-ui input.datepicker{width:calc(100% - 35px)}.boruto-ui div.input>div.checkbox{margin-left:15px;margin-top:5px}.boruto-ui div.input.above>div.checkbox{margin-top:2px}.boruto-ui input.checkbox{width:15px;height:15px}.boruto-ui div.input.toolicon input{width:calc(100% - 35px)}@media(prefers-color-scheme:dark){.boruto-ui input{color:#000}.boruto-ui input:disabled{color:#5f615f}}.boruto-ui input.number{text-align:right;padding-right:15px;padding-left:0}.boruto-ui *:focus{outline:none}.boruto-ui mat-icon{color:#d3d3d3;font-size:12px;position:relative;top:5px;width:12px}.boruto-ui .complete mat-icon,.boruto-ui .expand mat-icon{width:24px}.boruto-ui textarea.noresize{resize:none}.boruto-ui mat-icon.info{font-size:30px;width:30px;height:30px;color:gray}.boruto-ui mat-icon.info:hover{color:#000}.boruto-ui mat-icon.calendar-icon{font-size:25px;width:25px;height:25px;color:#a9a9a9}.boruto-ui mat-icon.toolicon{cursor:pointer;font-size:25px;width:25px;height:25px;color:gray}.boruto-ui mat-icon.dropdown{position:absolute;right:10px;top:4px;font-size:25px;width:25px;height:25px;color:gray;pointer-events:none}.boruto-ui div.input.labelabove mat-icon.dropdown{top:12px}.boruto-ui div.input.labelabove mat-icon.toolicon,.boruto-ui div.input.labelabove mat-icon.calendar-icon{position:relative;top:-5px}.boruto-ui select{appearance:none;-webkit-appearance:none;-moz-appearance:none}\n"] }]
|
|
2366
|
+
args: [{ selector: 'xrmui-input', changeDetection: ChangeDetectionStrategy.Eager, encapsulation: ViewEncapsulation.None, imports: [FormsModule, NgClass, MatIcon, TextFieldModule, MatDatepickerModule, MatCheckboxModule, XrmuiIcon, NgTemplateOutlet], template: "<div class=\"boruto-ui\">\r\n@if (label() != '' && label().length > 0 && shortLabel() != 'above') {\r\n<div class=\"label\" [ngClass]=\"{ short: shortLabel() == true }\" (click)=\"focusMe($event)\">{{ label() }}</div>\r\n}\r\n@if ((label() != '' || type() == 'number') && showlock()) {\r\n<div class=\"locked\">\r\n @if (required() && shortLabel() != 'above') {\r\n <div style=\"display: inline-block;height: 10px;color: red; position: relative; top: -8px; right: 0\">*</div>\r\n }\r\n @if (disabled()) {\r\n <mat-icon fontSet=\"material-symbols-outlined\">lock</mat-icon>\r\n }\r\n</div>\r\n}\r\n<div class=\"input\" \r\n [ngClass]=\"{ focus: hasfocus(), multi: ismultible(), error: error(), textarea: numberoflines() > 1, labelabove: shortLabel() == 'above', toolicon: toolIcon()?.length ?? 0 > 0 }\" \r\n (mouseover)=\"isover.set(true)\"\r\n (mouseleave)=\"isover.set(false)\"\r\n (click)=\"focusMe($event, true)\">\r\n @if (shortLabel() == 'above' && label() != '') {\r\n <div class=\"label-above\">\r\n {{ label() }}\r\n @if (required()) {<span style=\"color: red\"> *</span>}\r\n </div>\r\n }\r\n @if (numberoflines() == 1 && validate() != 'date' && validate() != 'checkbox' && !isselect()) {\r\n <input\r\n [id]=\"inputid()\"\r\n [name]=\"name()\"\r\n #inputfield \r\n autocomplete=\"off\"\r\n [ngClass]=\"inputclasses()\"\r\n [type]=\"type() != 'password'? 'text' : 'password'\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n [(ngModel)]=\"shadowValue\" \r\n (ngModelChange)=\"onValueChanged()\" \r\n (focus)=\"onFocus()\" \r\n (blur)=\"onBlur()\"\r\n (keydown.arrowdown)=\"ondown($event)\"\r\n (keydown.arrowup)=\"onup($event)\"\r\n (keydown.enter)=\"onenter($event)\"\r\n (keydown.esc)=\"onesc($event)\"\r\n (keydown)=\"onkeydown($event)\"\r\n [maxlength]=\"maxlength()\"/>\r\n }\r\n @if (validate() == 'checkbox') {\r\n <div class=\"checkbox\">\r\n <input\r\n [id]=\"inputid()\"\r\n [name]=\"name()\"\r\n type=\"checkbox\"\r\n class=\"text checkbox\"\r\n [(ngModel)]=\"shadowBool\"\r\n [disabled]=\"disabled()\"\r\n (ngModelChange)=\"onCheckboxToggle()\" \r\n (focus)=\"onFocus()\" \r\n (blur)=\"onBlurCheckbox()\"\r\n />\r\n </div>\r\n }\r\n @if (numberoflines() == 1 && validate() == 'date' && !isselect()) {\r\n <input\r\n [id]=\"inputid()\"\r\n [name]=\"name()\"\r\n #datefield\r\n class=\"text datepicker\"\r\n [matDatepicker]=\"picker\"\r\n [value]=\"shadowDate()\"\r\n (dateChange)=\"pickDate($event)\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlurDate()\"/>\r\n @if (!disabled()) {\r\n <mat-icon \r\n class=\"calendar-icon\" \r\n fontSet=\"material-symbols-outlined\"\r\n (click)=\"picker.open()\">calendar_month</mat-icon>\r\n }\r\n <mat-datepicker #picker></mat-datepicker>\r\n }\r\n @if (numberoflines() > 1 && !isselect()) {\r\n <textarea\r\n [id]=\"inputid()\"\r\n [name]=\"name()\"\r\n #textareafield\r\n [maxlength]=\"maxlength()\"\r\n [rows]=\"numberoflines()\"\r\n [disabled]=\"disabled()\" \r\n [placeholder]=\"placeholder()\" \r\n [(ngModel)]=\"shadowValue\" \r\n [ngClass]=\"{ noresize: !resizeable() }\"\r\n (ngModelChange)=\"onValueChanged()\" \r\n (focus)=\"onFocus()\" \r\n (blur)=\"onBlur()\"></textarea>\r\n }\r\n @let options = selectable();\r\n @if (options && options.length > 0 && !ismultible()) {\r\n <button \r\n #inputfield \r\n [id]=\"inputid()\"\r\n [name]=\"name()\"\r\n (click)=\"openSelect()\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n [disabled]=\"disabled()\"\r\n class=\"optionsetbutton\"\r\n [ngClass]=\"{ grayed: selected() === undefined }\"\r\n (keydown.arrowdown)=\"ondown($event)\"\r\n (keydown.arrowup)=\"onup($event)\"\r\n (keydown.enter)=\"onenter($event)\"\r\n (keydown.esc)=\"onesc($event)\"\r\n (keydown)=\"onkeydown($event)\">\r\n <div class=\"bo-grid-rows\">\r\n <div class=\"bo-row\">\r\n <div class=bo-grid-columns>\r\n <div class=\"bo-column\">{{ selected()?.name ?? setdefaultitem.name }}</div>\r\n <div class=\"bo-column bo-fixed\" style=\"--bo-fixed-size: 25 px; margin-top: -10px;position: relative;\">\r\n <xrmui-icon icon=\"keyboard_arrow_down\" type=\"font\" style=\"color: black\"></xrmui-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </button>\r\n }\r\n @if (options && options.length > 0 && ismultible()) {\r\n <div class=\"multi-select\">\r\n @let optionsselected = multiselected()!;\r\n @for (ms of optionsselected; track ms.id; let ix = $index) {\r\n <div class=\"multi-select-item\" [ngClass]=\"{ over: isover() && !showitems() }\">@if(ix>0 && (!isover() || showitems())) {, }\r\n <button tabindex=\"-1\" (click)=\"removeMultiSelected($event, ms)\">\r\n @if (ms.icon && ms.icon.length > 0) {\r\n <span class=\"material-symbols-outlined\" style=\"font-size: small; position: relative; top: 3px\">{{ ms.icon }}</span>\r\n }\r\n {{ ms.name }}\r\n @if (isover() && !showitems()) {\r\n <span class=\"material-symbols-outlined\" style=\"font-size: small; position: relative; top: 3px\">close_small</span>\r\n }\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n <div style=\"height: 2px\" class=\"multi-select-input\">\r\n <input \r\n #inputfield \r\n readonly\r\n [id]=\"inputid()\"\r\n [name]=\"name()\"\r\n (click)=\"openSelect()\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n [disabled]=\"disabled()\"\r\n (keydown.arrowdown)=\"ondown($event)\"\r\n (keydown.arrowup)=\"onup($event)\"\r\n (keydown.enter)=\"onenter($event)\"\r\n (keydown.esc)=\"onesc($event)\"\r\n (keydown.backspace)=\"onbackspace($event)\"\r\n (keydown)=\"onkeydown($event)\"\r\n />\r\n </div>\r\n }\r\n @let ti = toolIcon();\r\n @if (!disabled() && ti && ti.length > 0) {\r\n <mat-icon class=\"toolicon\" fontSet=\"material-symbols-outlined\" (click)=\"toolClicked($event)\">{{ ti }}</mat-icon>\r\n }\r\n</div>\r\n\r\n@if (label() == '' && type() != 'number' && showlock()) {\r\n <div class=\"locked\" style=\"text-align: left;\">\r\n @if (disabled()) {\r\n <mat-icon fontSet=\"material-symbols-outlined\">lock</mat-icon>\r\n }\r\n </div>\r\n}\r\n\r\n@if (info()) {<div class=\"info\" [title]=\"info()\"><mat-icon class=\"info\">info</mat-icon></div>}\r\n</div>\r\n\r\n<ng-template #suggestionsTemplate>\r\n <div class=\"boruto-ui\">\r\n <div class=\"autocomplete\" [ngClass]=\"{ nolabel: (!label() || label().length == 0 || shortLabel() == 'above'), shortLabel: shortLabel() == true, notdark: notdark() }\">\r\n @if (itemlist().length == 0) {\r\n <div class=\"element\"><div class=\"item\">Ingen fundet</div></div>\r\n }\r\n @for (elm of itemlist(); track elm) {\r\n <div #option class=\"element\" [ngClass]=\"{ current: current == elm, selectable: !elm.disabled }\" (click)=\"select($event, elm)\">\r\n @if (elm.icon && elm.icon.length > 0) {\r\n <div class=\"icon\" style=\"min-width: 28px;\">\r\n <xrmui-icon type=\"font\" [icon]=\"elm.icon\"></xrmui-icon>\r\n </div>\r\n }\r\n <div class=\"item\">\r\n @if (itemTemplate(); as template) {\r\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: elm }\"></ng-container>\r\n } @else {\r\n @if (elm == selectall) {\r\n @if (allIsSelected()) {\r\n Remove all\r\n } @else {\r\n Select all\r\n }\r\n } @else {\r\n {{ elm.name }}\r\n }\r\n }\r\n </div>\r\n @if (isselectable() && !multiselected()) {\r\n <div class=\"icon\" style=\"min-width: 24px;\">\r\n @if (current == elm && elm != setdefaultitem) {\r\n <xrmui-icon type=\"font\" icon=\"check\" inlineStyle=\"font-size: small\"></xrmui-icon>\r\n }\r\n </div>\r\n }\r\n @if (isselectable() && multiselected() && elm != selectall) {\r\n <div class=\"icon\" style=\"min-width: 24px;\">\r\n @if (isSelected(elm)) {\r\n <xrmui-icon type=\"font\" icon=\"check_box\"></xrmui-icon>\r\n }\r\n @if (!isSelected(elm)) {\r\n <xrmui-icon type=\"font\" icon=\"check_box_outline_blank\"></xrmui-icon>\r\n }\r\n </div>\r\n }\r\n @if (elm.expandable == true) {\r\n <div class=\"icon expand\" (click)=\"expand($event, elm)\">\r\n <xrmui-icon icon=\"arrow_drop_down\" size=\"24\"></xrmui-icon>\r\n </div>\r\n }\r\n @if (elm.completeOnly == true) {\r\n <div class=\"icon complete\" (click)=\"complete($event, elm)\">\r\n <xrmui-icon icon=\"search\" size=\"24\"></xrmui-icon>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n", styles: [".boruto-ui{display:flex;margin-bottom:10px}.boruto-ui div.autocomplete{display:block;box-sizing:border-box;background-color:#fff;color:#000;border:solid;border-width:1px 1px 1px 1px;border-color:#d3d3d3;border-radius:4px;padding:5px;max-height:200px;overflow-x:hidden;overflow-y:auto}.boruto-ui div.autocomplete.nolabel{left:0}.boruto-ui div.autocomplete.shortLabel{left:124px}.boruto-ui div.autocomplete div.element.selectable{cursor:pointer}@media(prefers-color-scheme:dark){.boruto-ui div.autocomplete{background-color:#000;color:#fff}}@media(prefers-color-scheme:dark){.boruto-ui div.autocomplete.notdark{background-color:#fff;color:#000}}.boruto-ui div.autocomplete div.element{margin:5px;padding:5px;display:flex;border:solid;border-width:0 0 1px 0;border-color:#d3d3d3;font-size:14px;color:gray}.boruto-ui div.autocomplete div.element.current{border-color:#0f6cbd;color:#000}.boruto-ui div.autocomplete div.element div.item{flex-grow:1}.boruto-ui div.label{width:180px;min-width:180px;max-height:180px;height:32px;line-height:32px}.boruto-ui div.label.short{width:90px;min-width:90px}.boruto-ui div.locked{width:30px;min-width:30px;max-width:30px;height:32px;line-height:32px;text-align:right;padding-right:3px}.boruto-ui div.input{flex-grow:1;height:32px;line-height:32px;background-color:#f5f5f5;border-radius:3px;margin:0;padding:0;border:solid;border-width:0 0 3px 0;border-color:transparent}.boruto-ui div.input.multi{height:auto;min-height:32px;line-height:normal}.boruto-ui div.input.labelabove{height:48px}.boruto-ui div.input.labelabove.multi{height:auto;min-height:48px;line-height:normal}.boruto-ui div.input.labelabove div.label-above{font-size:12px;line-height:12px;width:100%;padding-left:15px;padding-top:5px;color:gray}.boruto-ui div.input.focus.labelabove div.label-above{color:#0f6cbd}.boruto-ui div.input.textarea{height:inherit}.boruto-ui div.info{width:30px}.boruto-ui div textarea{background-color:#f5f5f5;border-radius:3px;margin:0;padding:10px 15px;border:solid;border-width:0 0 3px 0;border-color:transparent;width:100%;box-sizing:border-box}.boruto-ui div.input.focus,.boruto-ui div.textarea.focus,.boruto-ui div.select.focus{border-color:#0f6cbd}.boruto-ui div.input.error,.boruto-ui div.input.focus.error,.boruto-ui div.select.focus.error{border-color:red;color:red}.boruto-ui input{background-color:transparent;margin:0;border:none;height:29px;padding:0 0 0 15px;width:100%;box-sizing:border-box}.boruto-ui input.number{text-align:right}.boruto-ui select{background-color:transparent;margin:0;border:none;height:29px;padding:0 0 0 15px;width:calc(100% - 10px);box-sizing:border-box}.boruto-ui input.datepicker{width:calc(100% - 35px)}.boruto-ui div.input>div.checkbox{margin-left:15px;margin-top:5px}.boruto-ui div.input.above>div.checkbox{margin-top:2px}.boruto-ui input.checkbox{width:15px;height:15px}.boruto-ui div.input.toolicon input{width:calc(100% - 35px)}@media(prefers-color-scheme:dark){.boruto-ui input{color:#000}.boruto-ui input:disabled{color:#5f615f}}.boruto-ui input.number{text-align:right;padding-right:15px;padding-left:0}.boruto-ui *:focus{outline:none}.boruto-ui mat-icon{color:#d3d3d3;font-size:12px;position:relative;top:5px;width:12px}.boruto-ui .complete mat-icon,.boruto-ui .expand mat-icon{width:24px}.boruto-ui textarea.noresize{resize:none}.boruto-ui mat-icon.info{font-size:30px;width:30px;height:30px;color:gray}.boruto-ui mat-icon.info:hover{color:#000}.boruto-ui mat-icon.calendar-icon{font-size:25px;width:25px;height:25px;color:#a9a9a9}.boruto-ui mat-icon.toolicon{cursor:pointer;font-size:25px;width:25px;height:25px;color:gray}.boruto-ui mat-icon.dropdown{position:absolute;right:10px;top:4px;font-size:25px;width:25px;height:25px;color:gray;pointer-events:none}.boruto-ui div.input.labelabove mat-icon.dropdown{top:12px}.boruto-ui div.input.labelabove mat-icon.toolicon,.boruto-ui div.input.labelabove mat-icon.calendar-icon{position:relative;top:-5px}.boruto-ui select{appearance:none;-webkit-appearance:none;-moz-appearance:none}.boruto-ui button.optionsetbutton{width:100%;height:29px;border:none;box-sizing:border-box;background-color:transparent;text-align:left;padding-left:15px}.boruto-ui button.optionsetbutton.grayed{color:gray}.boruto-ui div.multi-select{padding-left:15px;font-size:small;display:flex;flex-direction:row;flex-wrap:wrap;min-height:27px}.boruto-ui div.multi-select div.multi-select-item{line-height:1.2;margin-right:2px;margin-top:5px;white-space:nowrap}.boruto-ui div.multi-select div.multi-select-item.over{padding:4px;margin-right:4px;background-color:#d8d8d8;cursor:pointer}.boruto-ui div.multi-select div.multi-select-item button{margin:0;padding:0;border:none;background-color:transparent;height:100%;cursor:pointer}.boruto-ui div.multi-select-input{position:relative;height:6px}.boruto-ui div.multi-select-input input{position:absolute;opacity:0;width:100%;height:11px;padding:0;border:0}\n"] }]
|
|
2178
2367
|
}], ctorParameters: () => [], propDecorators: { searchElement: [{
|
|
2179
2368
|
type: ViewChild,
|
|
2180
2369
|
args: ['inputfield']
|
|
@@ -2190,7 +2379,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
2190
2379
|
}], suggestionsTemplate: [{
|
|
2191
2380
|
type: ViewChild,
|
|
2192
2381
|
args: ['suggestionsTemplate']
|
|
2193
|
-
}], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], _shortLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "short-label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], _disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], _showlock: [{ type: i0.Input, args: [{ isSignal: true, alias: "showlock", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], setfocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "setfocus", required: false }] }, { type: i0.Output, args: ["setfocusChange"] }], autocomplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "autocomplete", required: false }] }], selectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectable", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }, { type: i0.Output, args: ["selectedChange"] }], optionsetvalue: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionsetvalue", required: false }] }], entityreference: [{ type: i0.Input, args: [{ isSignal: true, alias: "entityreference", required: false }] }], onselect: [{ type: i0.Output, args: ["onselect"] }], error: [{ type: i0.Input, args: [{ isSignal: true, alias: "error", required: false }] }], validate: [{ type: i0.Input, args: [{ isSignal: true, alias: "validate", required: false }] }, { type: i0.Output, args: ["validateChange"] }], decimals: [{ type: i0.Input, args: [{ isSignal: true, alias: "decimals", required: false }] }], onfocusEvent: [{ type: i0.Output, args: ["focus"] }], onblurEvent: [{ type: i0.Output, args: ["blur"] }], click: [{ type: i0.Output, args: ["click"] }], resizeable: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizeable", required: false }] }], info: [{ type: i0.Input, args: [{ isSignal: true, alias: "info", required: false }] }], notdark: [{ type: i0.Input, args: [{ isSignal: true, alias: "notdark", required: false }] }], _autoopenonblank: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoopenonblank", required: false }] }], nullable: [{ type: i0.Input, args: [{ isSignal: true, alias: "nullable", required: false }] }], release: [{ type: i0.Input, args: [{ isSignal: true, alias: "release", required: false }] }], released: [{ type: i0.Output, args: ["released"] }], itemTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemTemplate", required: false }] }], decimalsUsed: [{ type: i0.Output, args: ["decimalsUsed"] }], onEnter: [{ type: i0.Output, args: ["onEnter"] }], toolIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "toolIcon", required: false }] }], toolClick: [{ type: i0.Output, args: ["toolClick"] }], numberoflines: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberoflines", required: false }] }], maxlength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxlength", required: false }] }] } });
|
|
2382
|
+
}], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], _shortLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "short-label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], _disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], _showlock: [{ type: i0.Input, args: [{ isSignal: true, alias: "showlock", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], inputid: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputid", required: false }] }], setfocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "setfocus", required: false }] }, { type: i0.Output, args: ["setfocusChange"] }], autocomplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "autocomplete", required: false }] }], selectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectable", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }, { type: i0.Output, args: ["selectedChange"] }], multiselected: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiselected", required: false }] }, { type: i0.Output, args: ["multiselectedChange"] }], optionsetvalue: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionsetvalue", required: false }] }], entityreference: [{ type: i0.Input, args: [{ isSignal: true, alias: "entityreference", required: false }] }], onselect: [{ type: i0.Output, args: ["onselect"] }], error: [{ type: i0.Input, args: [{ isSignal: true, alias: "error", required: false }] }], validate: [{ type: i0.Input, args: [{ isSignal: true, alias: "validate", required: false }] }, { type: i0.Output, args: ["validateChange"] }], decimals: [{ type: i0.Input, args: [{ isSignal: true, alias: "decimals", required: false }] }], onfocusEvent: [{ type: i0.Output, args: ["focus"] }], onblurEvent: [{ type: i0.Output, args: ["blur"] }], click: [{ type: i0.Output, args: ["click"] }], resizeable: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizeable", required: false }] }], info: [{ type: i0.Input, args: [{ isSignal: true, alias: "info", required: false }] }], notdark: [{ type: i0.Input, args: [{ isSignal: true, alias: "notdark", required: false }] }], _autoopenonblank: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoopenonblank", required: false }] }], nullable: [{ type: i0.Input, args: [{ isSignal: true, alias: "nullable", required: false }] }], release: [{ type: i0.Input, args: [{ isSignal: true, alias: "release", required: false }] }], released: [{ type: i0.Output, args: ["released"] }], itemTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemTemplate", required: false }] }], decimalsUsed: [{ type: i0.Output, args: ["decimalsUsed"] }], onEnter: [{ type: i0.Output, args: ["onEnter"] }], toolIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "toolIcon", required: false }] }], toolClick: [{ type: i0.Output, args: ["toolClick"] }], numberoflines: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberoflines", required: false }] }], maxlength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxlength", required: false }] }] } });
|
|
2194
2383
|
|
|
2195
2384
|
class XrmuiRibbon {
|
|
2196
2385
|
fill = input(true, /* @ts-ignore */
|