ps-toolkit-ui 1.5.63 → 1.5.66
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/bundles/ps-toolkit-ui.umd.js +10 -4
- package/bundles/ps-toolkit-ui.umd.js.map +1 -1
- package/bundles/ps-toolkit-ui.umd.min.js +1 -1
- package/bundles/ps-toolkit-ui.umd.min.js.map +1 -1
- package/esm2015/lib/classes/enum.class.js +2 -1
- package/esm2015/lib/classes/form.class.js +2 -2
- package/esm2015/lib/components/form/index/form.component.js +2 -2
- package/esm2015/lib/components/form/textbox/form.textbox.component.js +5 -1
- package/esm2015/lib/components/header/header.component.js +4 -3
- package/esm2015/lib/components/layout/layout.component.js +2 -2
- package/fesm2015/ps-toolkit-ui.js +10 -4
- package/fesm2015/ps-toolkit-ui.js.map +1 -1
- package/lib/classes/enum.class.d.ts +2 -1
- package/lib/components/header/header.component.d.ts +3 -1
- package/package.json +1 -1
- package/ps-toolkit-ui.metadata.json +1 -1
|
@@ -774,6 +774,7 @@
|
|
|
774
774
|
InputType[InputType["Color"] = 40] = "Color";
|
|
775
775
|
InputType[InputType["Star"] = 41] = "Star";
|
|
776
776
|
InputType[InputType["BarcodeReader"] = 42] = "BarcodeReader";
|
|
777
|
+
InputType[InputType["BillNumber"] = 43] = "BillNumber";
|
|
777
778
|
})(exports.InputType || (exports.InputType = {}));
|
|
778
779
|
(function (OperationEnum) {
|
|
779
780
|
OperationEnum[OperationEnum["All"] = -1] = "All";
|
|
@@ -1847,7 +1848,7 @@
|
|
|
1847
1848
|
this.placeholder = name;
|
|
1848
1849
|
this.icon = icon;
|
|
1849
1850
|
this.class = cls + ([exports.InputType.Mobile, exports.InputType.Phone, exports.InputType.Password, exports.InputType.Email, exports.InputType.Number, exports.InputType.Price,
|
|
1850
|
-
exports.InputType.NationalCode, exports.InputType.Sheba, exports.InputType.PostalCode, exports.InputType.Date, exports.InputType.Time].includes(type) ? ' ltr' : '');
|
|
1851
|
+
exports.InputType.NationalCode, exports.InputType.Sheba, exports.InputType.PostalCode, exports.InputType.Date, exports.InputType.Time, exports.InputType.BillNumber].includes(type) ? ' ltr' : '');
|
|
1851
1852
|
this.type = type;
|
|
1852
1853
|
this.value = value;
|
|
1853
1854
|
this.default = value == null ? null : (typeof value === 'number' ? _.cloneDeep(value) : HelperClass.clone(value));
|
|
@@ -2081,7 +2082,7 @@
|
|
|
2081
2082
|
HeaderComponent.decorators = [
|
|
2082
2083
|
{ type: core.Component, args: [{
|
|
2083
2084
|
selector: 'lib-header',
|
|
2084
|
-
template: "<div id=\"Header\" class=\"underline\">\r\n <div class=\"content\"><ng-content></ng-content></div>\r\n <div (click)=\"showUserDropDown($event)\" class=\"user-con\">\r\n <i class=\"fa-duotone fa-user user\"></i>\r\n <div class=\"user-drop-down\">\r\n <lib-form-button [inp]=\"logoutInp\"></lib-form-button>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
2085
|
+
template: "<div id=\"Header\" class=\"underline\">\r\n <div class=\"content\"><ng-content></ng-content></div>\r\n <div (click)=\"showUserDropDown($event)\" class=\"user-con\">\r\n <i class=\"fa-duotone fa-user user\"></i>\r\n <div class=\"user-drop-down\">\r\n <div class=\"username\">{{currentData.user.Username}}</div>\r\n <lib-form-button [inp]=\"logoutInp\"></lib-form-button>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
2085
2086
|
styles: ["#Header{background-color:#fff;float:right;height:50px;position:relative;width:100%;z-index:11}#Header .content{float:right;height:100%;margin-right:50px;text-align:center;width:calc(100% - 150px)}#Header .user-con{align-items:center;display:flex;float:right;height:100%;justify-content:center;position:relative;width:100px}#Header .user-con .user{border-radius:50%;color:var(--primary);cursor:pointer;float:right;font-size:18px;height:30px;line-height:30px;text-align:center;width:30px}#Header .user-con .user:hover{color:var(--primary-dark)}#Header .user-con .user-drop-down{background-color:#fff;border-radius:var(--border-radius-base);box-shadow:var(--box-shadow);display:none;left:20px;position:absolute;top:55px;width:150px}@media (max-width:399.98px){#Header .content{font-size:12px;width:calc(100% - 100px)}#Header .user-con{width:50px}}@media (min-width:400px) and (max-width:499.98px){#Header .content{font-size:12px;width:calc(100% - 100px)}#Header .user-con{width:50px}}"]
|
|
2086
2087
|
},] }
|
|
2087
2088
|
];
|
|
@@ -2089,6 +2090,7 @@
|
|
|
2089
2090
|
{ type: PsToolkitUiConfigService }
|
|
2090
2091
|
]; };
|
|
2091
2092
|
HeaderComponent.propDecorators = {
|
|
2093
|
+
currentData: [{ type: core.Input }],
|
|
2092
2094
|
logout: [{ type: core.Output }]
|
|
2093
2095
|
};
|
|
2094
2096
|
|
|
@@ -4231,7 +4233,7 @@
|
|
|
4231
4233
|
FormComponent.decorators = [
|
|
4232
4234
|
{ type: core.Component, args: [{
|
|
4233
4235
|
selector: 'lib-form',
|
|
4234
|
-
template: "<form [style]=\"form.style\" *ngIf=\"form\" [id]=\"form.id + 'Form'\" [className]=\"'form' + (form.class ? ' ' + form.class : '')\">\r\n <div *ngIf=\"form.displayLabel\" [className]=\"(form.subName ? '' : 'underline ') + 'title'\">{{this.form.l(this.form.name)}}</div>\r\n <div *ngIf=\"form.displayLabel && form.subName\" class=\"sub-title underline\">{{this.form.l(this.form.subName)}}</div>\r\n <div *ngIf=\"form.loading\" class=\"loading\">\r\n <div class=\"text\" [innerHTML]=\"form.l('LoadingTable', 'Processing')\"></div>\r\n </div>\r\n <div *ngIf=\"!form.permission\" class=\"loading\">\r\n <div class=\"text\"><i class=\"fas fa-shield-alt icon\"></i>{{ form.l(\"PermissionDenied\") }}</div>\r\n </div>\r\n <div class=\"inputs\">\r\n <span *ngFor=\"let inp of form.inputs; let i = index\">\r\n <lib-form-textbox (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Text || inp.type == type.Password || inp.type == type.Mobile || inp.type == type.Phone || inp.type == type.Email || inp.type == type.NationalCode || inp.type == type.Number || inp.type == type.Url || inp.type == type.PostalCode || inp.type == type.Price || inp.type == type.Sheba || inp.type == type.Color || inp.type == type.BarcodeReader)\" [inp]=\"inp\"></lib-form-textbox>\r\n <lib-form-textarea (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.TextArea\" [inp]=\"inp\"></lib-form-textarea>\r\n <lib-form-checkbox (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Check\" [inp]=\"inp\"></lib-form-checkbox>\r\n <lib-form-select [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Select || inp.type == type.SelectSearch || inp.type == type.SelectAutoComplete)\" [inp]=\"inp\"></lib-form-select>\r\n <lib-form-date [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Date\" [inp]=\"inp\"></lib-form-date>\r\n <lib-form-time [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Time\" [inp]=\"inp\"></lib-form-time>\r\n <lib-form-datetime [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.DateTime\" [inp]=\"inp\"></lib-form-datetime>\r\n <lib-form-label *ngIf=\"inp.visible && inp.type == type.Label\" [inp]=\"inp\"></lib-form-label>\r\n <lib-form-file (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.File\" [inp]=\"inp\"></lib-form-file>\r\n <lib-form-button (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Button || inp.type == type.Submit)\" [inp]=\"inp\"></lib-form-button>\r\n <lib-form-icon (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Icon\" [inp]=\"inp\"></lib-form-icon>\r\n <lib-form-radio (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Radio\" [inp]=\"inp\"></lib-form-radio>\r\n <lib-form-tree (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Tree || inp.type == type.TreeRadio)\" [inp]=\"inp\"></lib-form-tree>\r\n <lib-form-plaque (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Plaque || inp.type == type.PlaqueM || inp.type == type.PlaqueF)\" [inp]=\"inp\"></lib-form-plaque>\r\n <lib-form-plaque-select (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.SelectAutoCompletePlaque || inp.type == type.SelectAutoCompletePlaqueM || inp.type == type.SelectAutoCompletePlaqueF)\" [inp]=\"inp\"></lib-form-plaque-select>\r\n <lib-form-bank-card (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.BankCard\" [inp]=\"inp\"></lib-form-bank-card>\r\n <lib-form-car-search (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.CarSearch\" [inp]=\"inp\"></lib-form-car-search>\r\n <lib-form-car (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Car\" [inp]=\"inp\"></lib-form-car>\r\n <lib-form-finger (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Finger\" [inp]=\"inp\"></lib-form-finger>\r\n <lib-form-star (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Star\" [inp]=\"inp\"></lib-form-star>\r\n <lib-form-table *ngIf=\"inp.visible && inp.type == type.Table\" [inp]=\"inp\"></lib-form-table>\r\n <lib-form-hidden *ngIf=\"inp.type == type.Hidden\" [inp]=\"inp\"></lib-form-hidden>\r\n </span>\r\n </div>\r\n</form>\r\n",
|
|
4236
|
+
template: "<form [style]=\"form.style\" *ngIf=\"form\" [id]=\"form.id + 'Form'\" [className]=\"'form' + (form.class ? ' ' + form.class : '')\">\r\n <div *ngIf=\"form.displayLabel\" [className]=\"(form.subName ? '' : 'underline ') + 'title'\">{{this.form.l(this.form.name)}}</div>\r\n <div *ngIf=\"form.displayLabel && form.subName\" class=\"sub-title underline\">{{this.form.l(this.form.subName)}}</div>\r\n <div *ngIf=\"form.loading\" class=\"loading\">\r\n <div class=\"text\" [innerHTML]=\"form.l('LoadingTable', 'Processing')\"></div>\r\n </div>\r\n <div *ngIf=\"!form.permission\" class=\"loading\">\r\n <div class=\"text\"><i class=\"fas fa-shield-alt icon\"></i>{{ form.l(\"PermissionDenied\") }}</div>\r\n </div>\r\n <div class=\"inputs\">\r\n <span *ngFor=\"let inp of form.inputs; let i = index\">\r\n <lib-form-textbox (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Text || inp.type == type.Password || inp.type == type.Mobile || inp.type == type.Phone || inp.type == type.Email || inp.type == type.NationalCode || inp.type == type.Number || inp.type == type.Url || inp.type == type.PostalCode || inp.type == type.Price || inp.type == type.Sheba || inp.type == type.Color || inp.type == type.BarcodeReader || inp.type == type.BillNumber)\" [inp]=\"inp\"></lib-form-textbox>\r\n <lib-form-textarea (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.TextArea\" [inp]=\"inp\"></lib-form-textarea>\r\n <lib-form-checkbox (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Check\" [inp]=\"inp\"></lib-form-checkbox>\r\n <lib-form-select [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Select || inp.type == type.SelectSearch || inp.type == type.SelectAutoComplete)\" [inp]=\"inp\"></lib-form-select>\r\n <lib-form-date [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Date\" [inp]=\"inp\"></lib-form-date>\r\n <lib-form-time [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Time\" [inp]=\"inp\"></lib-form-time>\r\n <lib-form-datetime [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.DateTime\" [inp]=\"inp\"></lib-form-datetime>\r\n <lib-form-label *ngIf=\"inp.visible && inp.type == type.Label\" [inp]=\"inp\"></lib-form-label>\r\n <lib-form-file (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.File\" [inp]=\"inp\"></lib-form-file>\r\n <lib-form-button (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Button || inp.type == type.Submit)\" [inp]=\"inp\"></lib-form-button>\r\n <lib-form-icon (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Icon\" [inp]=\"inp\"></lib-form-icon>\r\n <lib-form-radio (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Radio\" [inp]=\"inp\"></lib-form-radio>\r\n <lib-form-tree (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Tree || inp.type == type.TreeRadio)\" [inp]=\"inp\"></lib-form-tree>\r\n <lib-form-plaque (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Plaque || inp.type == type.PlaqueM || inp.type == type.PlaqueF)\" [inp]=\"inp\"></lib-form-plaque>\r\n <lib-form-plaque-select (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.SelectAutoCompletePlaque || inp.type == type.SelectAutoCompletePlaqueM || inp.type == type.SelectAutoCompletePlaqueF)\" [inp]=\"inp\"></lib-form-plaque-select>\r\n <lib-form-bank-card (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.BankCard\" [inp]=\"inp\"></lib-form-bank-card>\r\n <lib-form-car-search (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.CarSearch\" [inp]=\"inp\"></lib-form-car-search>\r\n <lib-form-car (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Car\" [inp]=\"inp\"></lib-form-car>\r\n <lib-form-finger (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Finger\" [inp]=\"inp\"></lib-form-finger>\r\n <lib-form-star (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Star\" [inp]=\"inp\"></lib-form-star>\r\n <lib-form-table *ngIf=\"inp.visible && inp.type == type.Table\" [inp]=\"inp\"></lib-form-table>\r\n <lib-form-hidden *ngIf=\"inp.type == type.Hidden\" [inp]=\"inp\"></lib-form-hidden>\r\n </span>\r\n </div>\r\n</form>\r\n",
|
|
4235
4237
|
styles: [".form{border-radius:var(--border-radius-base);float:right;padding:20px;position:relative;width:100%}.form>.title{font-family:VazirBold;font-size:16px;height:40px}.form>.sub-title,.form>.title{float:right;line-height:30px;margin-bottom:10px;position:relative;text-align:right;width:100%}.form>.sub-title{color:var(--black-light);font-family:VazirLight;font-size:12px;height:30px}.form .loading{background-color:#fff;border-radius:var(--border-radius-base);height:100%;right:0;top:0;z-index:4}.form .loading,.form .loading .text{position:absolute;text-align:center;width:100%}.form .loading .text{font-family:VazirBold;height:35px;line-height:35px;top:calc(50% - 20px)}::ng-deep .form .loading .icon{font-size:20px!important;line-height:30px;margin-left:5px;position:relative;top:5px}.form-buttons,.form-error{float:right;width:100%}.form-error{color:var(--red-light);font-size:11px;height:15px;line-height:8px;margin-top:10px;padding:0 10px;position:relative;text-align:center}.form-error .message{float:left;width:calc(100% - 40px)}.form-error .icon{float:right;height:20px;line-height:6px;right:0;top:0;width:40px}.form .inputs{margin:0 -15px}"]
|
|
4236
4238
|
},] }
|
|
4237
4239
|
];
|
|
@@ -5807,6 +5809,10 @@
|
|
|
5807
5809
|
_this.inp.error = exports.InputError.Invalid;
|
|
5808
5810
|
return false;
|
|
5809
5811
|
}
|
|
5812
|
+
if (_this.inp.type === exports.InputType.BillNumber && !RegExp(/^\d+(\/\d+)*$/).test(_this.inp.value)) {
|
|
5813
|
+
_this.inp.error = exports.InputError.Invalid;
|
|
5814
|
+
return false;
|
|
5815
|
+
}
|
|
5810
5816
|
if (_this.inp.required && _this.inp.type === exports.InputType.Email && !RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(_this.inp.value)) {
|
|
5811
5817
|
_this.inp.error = exports.InputError.Invalid;
|
|
5812
5818
|
return false;
|
|
@@ -7127,7 +7133,7 @@
|
|
|
7127
7133
|
LayoutComponent.decorators = [
|
|
7128
7134
|
{ type: core.Component, args: [{
|
|
7129
7135
|
selector: 'lib-layout',
|
|
7130
|
-
template: "<div id=\"Layout\">\r\n <div class=\"layout-con\">\r\n <div class=\"panel\">\r\n <lib-sidebar [currentData]=\"currentData\">\r\n <ng-content select=\"[slot=sidebar]\"></ng-content>\r\n </lib-sidebar>\r\n <div class=\"content\">\r\n <lib-header (logout)=\"logout.emit()\">\r\n <ng-content select=\"[slot=header]\"></ng-content>\r\n </lib-header>\r\n\r\n <div class=\"content-scroll-con\">\r\n <div class=\"content-scroll\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
7136
|
+
template: "<div id=\"Layout\">\r\n <div class=\"layout-con\">\r\n <div class=\"panel\">\r\n <lib-sidebar [currentData]=\"currentData\">\r\n <ng-content select=\"[slot=sidebar]\"></ng-content>\r\n </lib-sidebar>\r\n <div class=\"content\">\r\n <lib-header (logout)=\"logout.emit()\" [currentData]=\"currentData\">\r\n <ng-content select=\"[slot=header]\"></ng-content>\r\n </lib-header>\r\n\r\n <div class=\"content-scroll-con\">\r\n <div class=\"content-scroll\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
7131
7137
|
styles: ["#Layout,#Layout .layout-con,#Layout .panel{float:right;width:100%}#Layout .panel{display:flex;flex-direction:row;position:relative}#Layout .panel .content{background-color:var(--base-white);direction:rtl;float:left;overflow:hidden;position:relative;transition:width .3s;width:100%}#Layout .panel .content .content-scroll-con{height:calc(100vh - 85px);min-height:calc(100vh - 85px);overflow-y:auto;width:100%}#Layout .panel .content .content-scroll-con .content-scroll{float:right;padding:20px;width:100%}@media (max-width:399.98px){#Layout .panel .content .content-scroll-con{height:calc(100vh - 110px);min-height:calc(100vh - 110px)}}@media (min-width:400px) and (max-width:499.98px){#Layout .panel .content .content-scroll-con{height:calc(100vh - 110px);min-height:calc(100vh - 110px)}}@media (min-width:500px) and (max-width:599.98px){#Layout .panel .content .content-scroll-con{height:calc(100vh - 110px);min-height:calc(100vh - 110px)}}"]
|
|
7132
7138
|
},] }
|
|
7133
7139
|
];
|