@acorex/components 16.0.19 → 16.0.21
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/esm2022/lib/calendar/calendar-box/calendar-box.component.mjs +74 -31
- package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +4 -4
- package/esm2022/lib/selectbox/selectbox.component.mjs +4 -2
- package/esm2022/lib/tooltip/tooltip.directive.mjs +16 -5
- package/fesm2022/acorex-components.mjs +89 -32
- package/fesm2022/acorex-components.mjs.map +1 -1
- package/lib/calendar/calendar-box/calendar-box.component.d.ts +8 -4
- package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +2 -2
- package/lib/tooltip/tooltip.directive.d.ts +1 -0
- package/package.json +1 -1
| @@ -973,21 +973,43 @@ class AXCalendarBoxComponent { | |
| 973 973 | 
             
                    jalali: {
         | 
| 974 974 | 
             
                        locale: AXConfig.get('dateTime.jalali.locale') || 'fa',
         | 
| 975 975 | 
             
                        dir: 'rtl',
         | 
| 976 | 
            -
                        number: 1
         | 
| 976 | 
            +
                        number: 1,
         | 
| 977 977 | 
             
                    },
         | 
| 978 978 | 
             
                    gregorian: {
         | 
| 979 979 | 
             
                        locale: AXConfig.get('dateTime.gregorian.locale') || 'en',
         | 
| 980 980 | 
             
                        dir: 'ltr',
         | 
| 981 | 
            -
                        number: 0
         | 
| 982 | 
            -
                    }
         | 
| 981 | 
            +
                        number: 0,
         | 
| 982 | 
            +
                    },
         | 
| 983 983 | 
             
                };
         | 
| 984 984 | 
             
                numRotate;
         | 
| 985 985 | 
             
                size = 'md';
         | 
| 986 986 | 
             
                type;
         | 
| 987 987 | 
             
                locale;
         | 
| 988 988 | 
             
                dir;
         | 
| 989 | 
            -
                 | 
| 990 | 
            -
                 | 
| 989 | 
            +
                _min;
         | 
| 990 | 
            +
                set min(v) {
         | 
| 991 | 
            +
                    if (v) {
         | 
| 992 | 
            +
                        this._min = v;
         | 
| 993 | 
            +
                        this.focusedValue = this.today;
         | 
| 994 | 
            +
                        this.viewRange = this.today.month.range;
         | 
| 995 | 
            +
                        this.navigate(0);
         | 
| 996 | 
            +
                    }
         | 
| 997 | 
            +
                }
         | 
| 998 | 
            +
                get min() {
         | 
| 999 | 
            +
                    return this._min;
         | 
| 1000 | 
            +
                }
         | 
| 1001 | 
            +
                _max;
         | 
| 1002 | 
            +
                set max(v) {
         | 
| 1003 | 
            +
                    if (v) {
         | 
| 1004 | 
            +
                        this._max = v;
         | 
| 1005 | 
            +
                        this.focusedValue = this.today;
         | 
| 1006 | 
            +
                        this.viewRange = this.today.month.range;
         | 
| 1007 | 
            +
                        this.navigate(0);
         | 
| 1008 | 
            +
                    }
         | 
| 1009 | 
            +
                }
         | 
| 1010 | 
            +
                get max() {
         | 
| 1011 | 
            +
                    return this._max;
         | 
| 1012 | 
            +
                }
         | 
| 991 1013 | 
             
                selectableHoliday = true;
         | 
| 992 1014 | 
             
                dayStyle = [];
         | 
| 993 1015 | 
             
                dayMinMaxResoan = '';
         | 
| @@ -1028,7 +1050,7 @@ class AXCalendarBoxComponent { | |
| 1028 1050 | 
             
                        vv = AXDateTime.convert(v);
         | 
| 1029 1051 | 
             
                    }
         | 
| 1030 1052 | 
             
                    let unValidDate = false;
         | 
| 1031 | 
            -
                    if (this. | 
| 1053 | 
            +
                    if (this._max || this._min) {
         | 
| 1032 1054 | 
             
                        unValidDate = this.isInMInMaxRange(vv);
         | 
| 1033 1055 | 
             
                    }
         | 
| 1034 1056 | 
             
                    if (!unValidDate) {
         | 
| @@ -1040,7 +1062,7 @@ class AXCalendarBoxComponent { | |
| 1040 1062 | 
             
                            this.onValueChanged.emit({
         | 
| 1041 1063 | 
             
                                component: this,
         | 
| 1042 1064 | 
             
                                value: this._value?.date,
         | 
| 1043 | 
            -
                                htmlElement: this.ref.nativeElement
         | 
| 1065 | 
            +
                                htmlElement: this.ref.nativeElement,
         | 
| 1044 1066 | 
             
                            });
         | 
| 1045 1067 | 
             
                        }
         | 
| 1046 1068 | 
             
                        if (v == undefined) {
         | 
| @@ -1052,7 +1074,7 @@ class AXCalendarBoxComponent { | |
| 1052 1074 | 
             
                        this.onClick.emit({
         | 
| 1053 1075 | 
             
                            component: this,
         | 
| 1054 1076 | 
             
                            value: this._value?.date,
         | 
| 1055 | 
            -
                            htmlElement: this.ref.nativeElement
         | 
| 1077 | 
            +
                            htmlElement: this.ref.nativeElement,
         | 
| 1056 1078 | 
             
                        });
         | 
| 1057 1079 | 
             
                    }
         | 
| 1058 1080 | 
             
                }
         | 
| @@ -1088,8 +1110,10 @@ class AXCalendarBoxComponent { | |
| 1088 1110 | 
             
                        return this.dayStyle.find((c) => c.date.split('T')[0] == date.toISOString().split('T')[0]).text;
         | 
| 1089 1111 | 
             
                    }
         | 
| 1090 1112 | 
             
                    else {
         | 
| 1091 | 
            -
                        if ((this. | 
| 1092 | 
            -
                             | 
| 1113 | 
            +
                        if ((this._min &&
         | 
| 1114 | 
            +
                            this._max &&
         | 
| 1115 | 
            +
                            date.compaireNew(new AXDateTime(this._min, this.type), 'YMD', this.type) === -1) ||
         | 
| 1116 | 
            +
                            date.compaireNew(new AXDateTime(this._max, this.type), 'YMD', this.type) === 1) {
         | 
| 1093 1117 | 
             
                            return this.dayMinMaxResoan;
         | 
| 1094 1118 | 
             
                        }
         | 
| 1095 1119 | 
             
                        else {
         | 
| @@ -1143,7 +1167,7 @@ class AXCalendarBoxComponent { | |
| 1143 1167 | 
             
                        AXTranslator.get(`${path}.wed`, this.locale),
         | 
| 1144 1168 | 
             
                        AXTranslator.get(`${path}.thu`, this.locale),
         | 
| 1145 1169 | 
             
                        AXTranslator.get(`${path}.fri`, this.locale),
         | 
| 1146 | 
            -
                        AXTranslator.get(`${path}.sat`, this.locale)
         | 
| 1170 | 
            +
                        AXTranslator.get(`${path}.sat`, this.locale),
         | 
| 1147 1171 | 
             
                    ];
         | 
| 1148 1172 | 
             
                }
         | 
| 1149 1173 | 
             
                getTodayName() {
         | 
| @@ -1157,7 +1181,11 @@ class AXCalendarBoxComponent { | |
| 1157 1181 | 
             
                }
         | 
| 1158 1182 | 
             
                rotate(array, n) {
         | 
| 1159 1183 | 
             
                    const len = array.length;
         | 
| 1160 | 
            -
                    return !(n % len) | 
| 1184 | 
            +
                    return !(n % len)
         | 
| 1185 | 
            +
                        ? array
         | 
| 1186 | 
            +
                        : n > 0
         | 
| 1187 | 
            +
                            ? array.map((e, i, a) => a[(i + n) % len])
         | 
| 1188 | 
            +
                            : array.map((e, i, a) => a[(len - ((len - i - n) % len)) % len]);
         | 
| 1161 1189 | 
             
                }
         | 
| 1162 1190 | 
             
                navigate(value) {
         | 
| 1163 1191 | 
             
                    let start;
         | 
| @@ -1168,7 +1196,10 @@ class AXCalendarBoxComponent { | |
| 1168 1196 | 
             
                            fd = value.startOf('month');
         | 
| 1169 1197 | 
             
                        }
         | 
| 1170 1198 | 
             
                        else {
         | 
| 1171 | 
            -
                            fd = this.viewRange.startTime | 
| 1199 | 
            +
                            fd = this.viewRange.startTime
         | 
| 1200 | 
            +
                                .add('day', 15)
         | 
| 1201 | 
            +
                                .add('month', value)
         | 
| 1202 | 
            +
                                .startOf('month');
         | 
| 1172 1203 | 
             
                        }
         | 
| 1173 1204 | 
             
                        start = fd.firstDayOfWeek;
         | 
| 1174 1205 | 
             
                        end = fd.endOf('month').endDayOfWeek;
         | 
| @@ -1191,7 +1222,10 @@ class AXCalendarBoxComponent { | |
| 1191 1222 | 
             
                            fd = value.startOf('year');
         | 
| 1192 1223 | 
             
                        }
         | 
| 1193 1224 | 
             
                        else {
         | 
| 1194 | 
            -
                            fd = this.viewRange.startTime | 
| 1225 | 
            +
                            fd = this.viewRange.startTime
         | 
| 1226 | 
            +
                                .add('day', 15)
         | 
| 1227 | 
            +
                                .add('year', value)
         | 
| 1228 | 
            +
                                .startOf('year');
         | 
| 1195 1229 | 
             
                        }
         | 
| 1196 1230 | 
             
                        start = fd;
         | 
| 1197 1231 | 
             
                        end = fd.endOf('year');
         | 
| @@ -1221,7 +1255,8 @@ class AXCalendarBoxComponent { | |
| 1221 1255 | 
             
                    //
         | 
| 1222 1256 | 
             
                    if (this.view === 'day') {
         | 
| 1223 1257 | 
             
                        this.matrix = this.matrixify(this.applyStyle(this.viewRange.enumurate('day', this.type)), 7);
         | 
| 1224 | 
            -
                        if (this.matrix.length > 0 && | 
| 1258 | 
            +
                        if (this.matrix.length > 0 &&
         | 
| 1259 | 
            +
                            this.matrix[0].find((c) => c.nextMonth === false) === undefined) {
         | 
| 1225 1260 | 
             
                            this.matrix.splice(0, 1);
         | 
| 1226 1261 | 
             
                        }
         | 
| 1227 1262 | 
             
                        if (this.matrix[this.matrix.length - 1].find((c) => c.nextMonth === false) === undefined) {
         | 
| @@ -1241,12 +1276,17 @@ class AXCalendarBoxComponent { | |
| 1241 1276 | 
             
                    dates.forEach((d, i, j) => {
         | 
| 1242 1277 | 
             
                        const item = {};
         | 
| 1243 1278 | 
             
                        item.date = d;
         | 
| 1244 | 
            -
                        item.selected = | 
| 1245 | 
            -
             | 
| 1246 | 
            -
                        item. | 
| 1279 | 
            +
                        item.selected =
         | 
| 1280 | 
            +
                            d.compaireNew(new AXDateTime(this.value, this.type), this.getViewCompaire(this.view), this.type) === 0;
         | 
| 1281 | 
            +
                        item.focused =
         | 
| 1282 | 
            +
                            d.compaireNew(this.focusedValue, this.getViewCompaire(this.view), this.type) === 0;
         | 
| 1283 | 
            +
                        item.today =
         | 
| 1284 | 
            +
                            this.today &&
         | 
| 1285 | 
            +
                                d.compaireNew(this.today, this.getViewCompaire(this.view), this.type) === 0;
         | 
| 1247 1286 | 
             
                        if (this.view === 'day') {
         | 
| 1248 1287 | 
             
                            //  item.nextMonth = d.compaireNew(this.viewRange.startTime.add('day', 10), 'YM') !== 0;
         | 
| 1249 | 
            -
                            item.nextMonth = | 
| 1288 | 
            +
                            item.nextMonth =
         | 
| 1289 | 
            +
                                d.compaireNew(this.viewRange.startTime.add('day', 10), 'YM', this.type) !== 0;
         | 
| 1250 1290 | 
             
                            item.unselect = this.isInMInMaxRange(d);
         | 
| 1251 1291 | 
             
                            this.holidays.forEach((h) => {
         | 
| 1252 1292 | 
             
                                const comp = d.compaireNew(new AXDateTime(h.date, this.type), 'YMD', this.type);
         | 
| @@ -1298,16 +1338,18 @@ class AXCalendarBoxComponent { | |
| 1298 1338 | 
             
                isInMInMaxRange(d) {
         | 
| 1299 1339 | 
             
                    let r = false;
         | 
| 1300 1340 | 
             
                    if (d !== undefined) {
         | 
| 1301 | 
            -
                        if (this. | 
| 1302 | 
            -
                            r = | 
| 1341 | 
            +
                        if (this._min && !this._max) {
         | 
| 1342 | 
            +
                            r =
         | 
| 1343 | 
            +
                                d.compaireNew(new AXDateTime(this._min, this.type), this.getViewCompaire(this.view), this.type) === -1;
         | 
| 1303 1344 | 
             
                        }
         | 
| 1304 | 
            -
                        if (this. | 
| 1305 | 
            -
                            r = | 
| 1345 | 
            +
                        if (this._max && !this._min) {
         | 
| 1346 | 
            +
                            r =
         | 
| 1347 | 
            +
                                d.compaireNew(new AXDateTime(this._max, this.type), this.getViewCompaire(this.view), this.type) === 1;
         | 
| 1306 1348 | 
             
                        }
         | 
| 1307 | 
            -
                        if (this. | 
| 1349 | 
            +
                        if (this._min && this._max) {
         | 
| 1308 1350 | 
             
                            r =
         | 
| 1309 | 
            -
                                d.compaireNew(new AXDateTime(this. | 
| 1310 | 
            -
                                    d.compaireNew(new AXDateTime(this. | 
| 1351 | 
            +
                                d.compaireNew(new AXDateTime(this._min, this.type), this.getViewCompaire(this.view), this.type) === -1 ||
         | 
| 1352 | 
            +
                                    d.compaireNew(new AXDateTime(this._max, this.type), this.getViewCompaire(this.view), this.type) === 1;
         | 
| 1311 1353 | 
             
                        }
         | 
| 1312 1354 | 
             
                    }
         | 
| 1313 1355 | 
             
                    return r;
         | 
| @@ -1318,7 +1360,9 @@ class AXCalendarBoxComponent { | |
| 1318 1360 | 
             
                    }
         | 
| 1319 1361 | 
             
                    else {
         | 
| 1320 1362 | 
             
                        this.view = 'day';
         | 
| 1321 | 
            -
                        this.setFocus(new AXDateTime(this.value, this.type) | 
| 1363 | 
            +
                        this.setFocus(new AXDateTime(this.value, this.type)
         | 
| 1364 | 
            +
                            .set('year', date.year)
         | 
| 1365 | 
            +
                            .set('month', date.monthOfYear));
         | 
| 1322 1366 | 
             
                    }
         | 
| 1323 1367 | 
             
                    event.stopPropagation();
         | 
| 1324 1368 | 
             
                }
         | 
| @@ -1651,6 +1695,11 @@ class AXTooltipDirective { | |
| 1651 1695 | 
             
                        this.hide();
         | 
| 1652 1696 | 
             
                    }
         | 
| 1653 1697 | 
             
                }
         | 
| 1698 | 
            +
                onMouseClick() {
         | 
| 1699 | 
            +
                    if (this.tooltip && this.tooltipTitle) {
         | 
| 1700 | 
            +
                        this.hide();
         | 
| 1701 | 
            +
                    }
         | 
| 1702 | 
            +
                }
         | 
| 1654 1703 | 
             
                show() {
         | 
| 1655 1704 | 
             
                    this.create();
         | 
| 1656 1705 | 
             
                    this.setPosition();
         | 
| @@ -1686,7 +1735,10 @@ class AXTooltipDirective { | |
| 1686 1735 | 
             
                setPosition() {
         | 
| 1687 1736 | 
             
                    const hostPos = this.el.nativeElement.getBoundingClientRect();
         | 
| 1688 1737 | 
             
                    const tooltipPos = this.tooltip.getBoundingClientRect();
         | 
| 1689 | 
            -
                    const scrollPos = window.pageYOffset || | 
| 1738 | 
            +
                    const scrollPos = window.pageYOffset ||
         | 
| 1739 | 
            +
                        document.documentElement.scrollTop ||
         | 
| 1740 | 
            +
                        document.body.scrollTop ||
         | 
| 1741 | 
            +
                        0;
         | 
| 1690 1742 | 
             
                    let top;
         | 
| 1691 1743 | 
             
                    let left;
         | 
| 1692 1744 | 
             
                    if (this.placement === 'top') {
         | 
| @@ -1709,12 +1761,12 @@ class AXTooltipDirective { | |
| 1709 1761 | 
             
                    this.renderer.setStyle(this.tooltip, 'left', `${left}px`);
         | 
| 1710 1762 | 
             
                }
         | 
| 1711 1763 | 
             
                static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
         | 
| 1712 | 
            -
                static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AXTooltipDirective, selector: "[axTooltip]", inputs: { tooltipTitle: ["tooltip", "tooltipTitle"], placement: "placement", delay: "delay" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, ngImport: i0 });
         | 
| 1764 | 
            +
                static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AXTooltipDirective, selector: "[axTooltip]", inputs: { tooltipTitle: ["tooltip", "tooltipTitle"], placement: "placement", delay: "delay" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "click": "onMouseClick()" } }, ngImport: i0 });
         | 
| 1713 1765 | 
             
            }
         | 
| 1714 1766 | 
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXTooltipDirective, decorators: [{
         | 
| 1715 1767 | 
             
                        type: Directive,
         | 
| 1716 1768 | 
             
                        args: [{
         | 
| 1717 | 
            -
                                selector: '[axTooltip]'
         | 
| 1769 | 
            +
                                selector: '[axTooltip]',
         | 
| 1718 1770 | 
             
                            }]
         | 
| 1719 1771 | 
             
                    }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { tooltipTitle: [{
         | 
| 1720 1772 | 
             
                            type: Input,
         | 
| @@ -1729,6 +1781,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo | |
| 1729 1781 | 
             
                        }], onMouseLeave: [{
         | 
| 1730 1782 | 
             
                            type: HostListener,
         | 
| 1731 1783 | 
             
                            args: ['mouseleave']
         | 
| 1784 | 
            +
                        }], onMouseClick: [{
         | 
| 1785 | 
            +
                            type: HostListener,
         | 
| 1786 | 
            +
                            args: ['click']
         | 
| 1732 1787 | 
             
                        }] } });
         | 
| 1733 1788 |  | 
| 1734 1789 | 
             
            class AXMenuItemClickEvent extends AXEvent {
         | 
| @@ -8851,7 +8906,9 @@ class AXSelectBoxComponent extends AXValidatableComponent { | |
| 8851 8906 | 
             
                                }
         | 
| 8852 8907 | 
             
                                else {
         | 
| 8853 8908 | 
             
                                    data.items.forEach((item) => {
         | 
| 8854 | 
            -
                                        this.items. | 
| 8909 | 
            +
                                        if (!this.items.some((x) => x[this.valueField] === item[this.valueField])) {
         | 
| 8910 | 
            +
                                            this.items.push(item);
         | 
| 8911 | 
            +
                                        }
         | 
| 8855 8912 | 
             
                                    });
         | 
| 8856 8913 | 
             
                                    // if (this.itemsStatusObserver) {
         | 
| 8857 8914 | 
             
                                    //   this.itemsStatusObserver.next(this.items.length);
         | 
| @@ -13187,7 +13244,7 @@ class AXSelectBoxPropertyEditorComponent extends AXProperyEditorComponent { | |
| 13187 13244 | 
             
                selectionMode = 'single';
         | 
| 13188 13245 | 
             
                selectionDataMode = 'value';
         | 
| 13189 13246 | 
             
                allowSearch = true;
         | 
| 13190 | 
            -
                allowNull =  | 
| 13247 | 
            +
                allowNull = true;
         | 
| 13191 13248 | 
             
                disabled = false;
         | 
| 13192 13249 | 
             
                items = [];
         | 
| 13193 13250 | 
             
                remoteOperation = false;
         |