@kuzntsv/uikit 1.0.88 → 1.0.92
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.
|
@@ -38,7 +38,7 @@ import { MatSort, MatSortModule } from "@angular/material/sort";
|
|
|
38
38
|
import * as i1 from "@angular/material/table";
|
|
39
39
|
import { MatTableDataSource, MatTableModule } from "@angular/material/table";
|
|
40
40
|
const loginSchema = z$1.object({
|
|
41
|
-
username: z$1.string().min(1, { message: "Пожалуйста, заполните это поле" }).regex(/^[A-Za-z]{1,}\.[A-Za-z]{1,}\.[A-Za-z]*$/, { message: "Пожалуйста, используйте
|
|
41
|
+
username: z$1.string().min(1, { message: "Пожалуйста, заполните это поле" }).regex(/^[A-Za-z]{1,}\.[A-Za-z]{1,}\.[A-Za-z]*$/, { message: "Пожалуйста, используйте формат \"a.p.petrov\"" }),
|
|
42
42
|
password: z$1.string().min(1, { message: "Пожалуйста, заполните это поле" })
|
|
43
43
|
});
|
|
44
44
|
var LoginFormComponent = class LoginFormComponent {
|
|
@@ -85,7 +85,7 @@ var LoginFormComponent = class LoginFormComponent {
|
|
|
85
85
|
} },
|
|
86
86
|
outputs: { submitted: "submitted" },
|
|
87
87
|
ngImport: i0,
|
|
88
|
-
template: "<mat-card appearance=\"outlined\">\r\n <mat-card-header>\r\n <mat-card-title> Авторизация </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <form [formRoot]=\"form\">\r\n <mat-form-field class=\"login-field\">\r\n <mat-label>Имя пользователя</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n autocomplete=\"on\"\r\n placeholder=\"Имя пользователя\"\r\n [formField]=\"form.username\"\r\n />\r\n @if (form.username().touched() && form.username().invalid()) {\r\n <ng-container ngProjectAs=\"mat-error\">\r\n
|
|
88
|
+
template: "<mat-card appearance=\"outlined\">\r\n <mat-card-header>\r\n <mat-card-title> Авторизация </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <form [formRoot]=\"form\">\r\n <mat-form-field class=\"login-field\">\r\n <mat-label>Имя пользователя</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n autocomplete=\"on\"\r\n placeholder=\"Имя пользователя\"\r\n [formField]=\"form.username\"\r\n />\r\n @if (form.username().touched() && form.username().invalid()) {\r\n <ng-container ngProjectAs=\"mat-error\">\r\n <mat-error>{{ form.username().errors()[0]?.message }}</mat-error>\r\n </ng-container>\r\n }\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"login-field\">\r\n <mat-label>Пароль</mat-label>\r\n <input\r\n [type]=\"isHidePassword() ? 'password' : 'text'\"\r\n matInput\r\n placeholder=\"Пароль\"\r\n [formField]=\"form.password\"\r\n />\r\n <mat-icon\r\n class=\"watcher\"\r\n matSuffix\r\n (mousedown)=\"showPassword()\"\r\n (mouseup)=\"hidePassword()\"\r\n >{{ isHidePassword() ? \"visibility_off\" : \"visibility\" }}</mat-icon\r\n >\r\n @if (form.password().touched() && form.password().invalid()) {\r\n <ng-container ngProjectAs=\"mat-error\">\r\n <mat-error>{{ form.password().errors()[0]?.message }}</mat-error>\r\n </ng-container>\r\n }\r\n </mat-form-field>\r\n\r\n <div class=\"loginButtons\">\r\n <button\r\n type=\"submit\"\r\n mat-button\r\n mat-stroked-button\r\n color=\"primary\"\r\n [disabled]=\"!form().valid() || pending()\"\r\n >\r\n Войти\r\n </button>\r\n </div>\r\n </form>\r\n </mat-card-content>\r\n</mat-card>\r\n",
|
|
89
89
|
styles: [":host{display:flex;justify-content:center;margin:32px 0}form{display:flex;flex-direction:column;gap:16px}.login-field{width:100%;min-width:300px}mat-card-header{justify-content:center}mat-card-content{font-size:16px}.loginButtons{display:flex;flex-direction:row;justify-content:flex-end}.watcher{cursor:default}\n"],
|
|
90
90
|
dependencies: [
|
|
91
91
|
{
|
|
@@ -220,7 +220,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
220
220
|
MatSuffix,
|
|
221
221
|
MatButton
|
|
222
222
|
],
|
|
223
|
-
template: "<mat-card appearance=\"outlined\">\r\n <mat-card-header>\r\n <mat-card-title> Авторизация </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <form [formRoot]=\"form\">\r\n <mat-form-field class=\"login-field\">\r\n <mat-label>Имя пользователя</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n autocomplete=\"on\"\r\n placeholder=\"Имя пользователя\"\r\n [formField]=\"form.username\"\r\n />\r\n @if (form.username().touched() && form.username().invalid()) {\r\n <ng-container ngProjectAs=\"mat-error\">\r\n
|
|
223
|
+
template: "<mat-card appearance=\"outlined\">\r\n <mat-card-header>\r\n <mat-card-title> Авторизация </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <form [formRoot]=\"form\">\r\n <mat-form-field class=\"login-field\">\r\n <mat-label>Имя пользователя</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n autocomplete=\"on\"\r\n placeholder=\"Имя пользователя\"\r\n [formField]=\"form.username\"\r\n />\r\n @if (form.username().touched() && form.username().invalid()) {\r\n <ng-container ngProjectAs=\"mat-error\">\r\n <mat-error>{{ form.username().errors()[0]?.message }}</mat-error>\r\n </ng-container>\r\n }\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"login-field\">\r\n <mat-label>Пароль</mat-label>\r\n <input\r\n [type]=\"isHidePassword() ? 'password' : 'text'\"\r\n matInput\r\n placeholder=\"Пароль\"\r\n [formField]=\"form.password\"\r\n />\r\n <mat-icon\r\n class=\"watcher\"\r\n matSuffix\r\n (mousedown)=\"showPassword()\"\r\n (mouseup)=\"hidePassword()\"\r\n >{{ isHidePassword() ? \"visibility_off\" : \"visibility\" }}</mat-icon\r\n >\r\n @if (form.password().touched() && form.password().invalid()) {\r\n <ng-container ngProjectAs=\"mat-error\">\r\n <mat-error>{{ form.password().errors()[0]?.message }}</mat-error>\r\n </ng-container>\r\n }\r\n </mat-form-field>\r\n\r\n <div class=\"loginButtons\">\r\n <button\r\n type=\"submit\"\r\n mat-button\r\n mat-stroked-button\r\n color=\"primary\"\r\n [disabled]=\"!form().valid() || pending()\"\r\n >\r\n Войти\r\n </button>\r\n </div>\r\n </form>\r\n </mat-card-content>\r\n</mat-card>\r\n",
|
|
224
224
|
styles: [":host{display:flex;justify-content:center;margin:32px 0}form{display:flex;flex-direction:column;gap:16px}.login-field{width:100%;min-width:300px}mat-card-header{justify-content:center}mat-card-content{font-size:16px}.loginButtons{display:flex;flex-direction:row;justify-content:flex-end}.watcher{cursor:default}\n"]
|
|
225
225
|
}]
|
|
226
226
|
}],
|
|
@@ -2265,10 +2265,9 @@ var BaseSignalPageClass = class BaseSignalPageClass {
|
|
|
2265
2265
|
}
|
|
2266
2266
|
initFilters() {
|
|
2267
2267
|
if (!this.filterSchema || !this.defaultFilters) return;
|
|
2268
|
-
const prefix = this.storagePrefix;
|
|
2269
2268
|
const initial = { ...this.defaultFilters };
|
|
2270
2269
|
Object.keys(this.defaultFilters).forEach((key) => {
|
|
2271
|
-
const storageKey = `${
|
|
2270
|
+
const storageKey = `${this.storagePrefix}${key}`;
|
|
2272
2271
|
const rawValue = this.localStorageService.getData(storageKey);
|
|
2273
2272
|
if (rawValue !== null && rawValue !== void 0) try {
|
|
2274
2273
|
initial[key] = JSON.parse(rawValue);
|
|
@@ -2279,15 +2278,6 @@ var BaseSignalPageClass = class BaseSignalPageClass {
|
|
|
2279
2278
|
const validation = this.filterSchema.safeParse(initial);
|
|
2280
2279
|
this.filters.set(validation.success ? validation.data : this.defaultFilters);
|
|
2281
2280
|
}
|
|
2282
|
-
clearEvent() {
|
|
2283
|
-
if (!this.defaultFilters) return;
|
|
2284
|
-
const prefix = this.storagePrefix;
|
|
2285
|
-
Object.keys(this.defaultFilters).forEach((key) => {
|
|
2286
|
-
localStorage.removeItem(`${prefix}${key}`);
|
|
2287
|
-
});
|
|
2288
|
-
this.filters.set({ ...this.defaultFilters });
|
|
2289
|
-
this.clearFilters.set({});
|
|
2290
|
-
}
|
|
2291
2281
|
getInitialFilters2() {
|
|
2292
2282
|
const prefix = this.constructor.name + "_Filter_";
|
|
2293
2283
|
const state = {};
|
|
@@ -2305,6 +2295,18 @@ var BaseSignalPageClass = class BaseSignalPageClass {
|
|
|
2305
2295
|
}
|
|
2306
2296
|
return state;
|
|
2307
2297
|
}
|
|
2298
|
+
clearEvent() {
|
|
2299
|
+
if (!this.defaultFilters) return;
|
|
2300
|
+
Object.keys(this.defaultFilters).forEach((key) => {
|
|
2301
|
+
this.localStorageService.removeData(`${this.storagePrefix}${key}`);
|
|
2302
|
+
});
|
|
2303
|
+
this.tableState.update((prev) => ({
|
|
2304
|
+
...prev,
|
|
2305
|
+
pageIndex: 0
|
|
2306
|
+
}));
|
|
2307
|
+
this.filters.set({ ...this.defaultFilters });
|
|
2308
|
+
this.clearFilters.set({});
|
|
2309
|
+
}
|
|
2308
2310
|
filters = signal({}, ...ngDevMode ? [{ debugName: "filters" }] : /* istanbul ignore next */ []);
|
|
2309
2311
|
clearFilters = signal(null, ...ngDevMode ? [{ debugName: "clearFilters" }] : /* istanbul ignore next */ []);
|
|
2310
2312
|
tableState = signal({
|
|
@@ -2323,15 +2325,14 @@ var BaseSignalPageClass = class BaseSignalPageClass {
|
|
|
2323
2325
|
let previousFilters = { ...this.filters() };
|
|
2324
2326
|
effect(() => {
|
|
2325
2327
|
const currentFilters = this.filters();
|
|
2326
|
-
const prefix = this.storagePrefix;
|
|
2327
2328
|
let filterChanged = false;
|
|
2328
2329
|
Object.keys(currentFilters).forEach((key) => {
|
|
2329
2330
|
const prevVal = previousFilters[key];
|
|
2330
2331
|
const currVal = currentFilters[key];
|
|
2331
2332
|
if (prevVal !== currVal) {
|
|
2332
2333
|
filterChanged = true;
|
|
2333
|
-
const storageKey = `${
|
|
2334
|
-
if (currVal === null || currVal === void 0 || currVal === "" || currVal === 0 || currVal === -1 || Array.isArray(currVal) && currVal.length === 0)
|
|
2334
|
+
const storageKey = `${this.storagePrefix}${String(key)}`;
|
|
2335
|
+
if (currVal === null || currVal === void 0 || currVal === "" || currVal === 0 || currVal === -1 || Array.isArray(currVal) && currVal.length === 0) this.localStorageService.removeData(storageKey);
|
|
2335
2336
|
else this.localStorageService.saveData(storageKey, JSON.stringify(currVal));
|
|
2336
2337
|
}
|
|
2337
2338
|
});
|
|
@@ -2418,7 +2419,7 @@ var BaseSignalPageClass = class BaseSignalPageClass {
|
|
|
2418
2419
|
}
|
|
2419
2420
|
newEvent() {
|
|
2420
2421
|
if (this.entityEditComponent) {
|
|
2421
|
-
const defaultEntity = this.
|
|
2422
|
+
const defaultEntity = this.schemaDTO.parse({});
|
|
2422
2423
|
const data = {
|
|
2423
2424
|
action: Action.Add,
|
|
2424
2425
|
entity: defaultEntity
|
|
@@ -2461,7 +2462,7 @@ var BaseSignalPageClass = class BaseSignalPageClass {
|
|
|
2461
2462
|
if (this.entityEditComponent) {
|
|
2462
2463
|
const data = {
|
|
2463
2464
|
action: Action.Edit,
|
|
2464
|
-
entity: this.selected[0]
|
|
2465
|
+
entity: this.formModelToDomainModel(this.selected[0])
|
|
2465
2466
|
};
|
|
2466
2467
|
if (this.beforeOpenDialogOnEditEvent) this.beforeOpenDialogOnEditEvent(data.entity, data.extraData);
|
|
2467
2468
|
const dialogRef = this.openDialog(this.entityEditComponent, data, this.dialog);
|
|
@@ -2576,6 +2577,12 @@ var BaseSignalPageClass = class BaseSignalPageClass {
|
|
|
2576
2577
|
}
|
|
2577
2578
|
};
|
|
2578
2579
|
}
|
|
2580
|
+
formModelToDomainModel(formModel, originalDomain) {
|
|
2581
|
+
return {
|
|
2582
|
+
...originalDomain,
|
|
2583
|
+
...formModel
|
|
2584
|
+
};
|
|
2585
|
+
}
|
|
2579
2586
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
2580
2587
|
minVersion: "12.0.0",
|
|
2581
2588
|
version: "22.2.2",
|
|
@@ -3609,7 +3616,7 @@ var DateRangeInputComponent = class DateRangeInputComponent {
|
|
|
3609
3616
|
useValue: MY_NATIVE_FORMATS
|
|
3610
3617
|
}],
|
|
3611
3618
|
ngImport: i0,
|
|
3612
|
-
template: "<mat-form-field appearance=\"fill\">\r\n <mat-label>{{ label() }}</mat-label>\r\n <mat-date-range-input\r\n [rangePicker]=\"picker\"\r\n [min]=\"minDate()\"\r\n >\r\n <input matStartDate [formField]=\"form.begin\" placeholder=\"Дата начала\" />\r\n <input matEndDate [formField]=\"form.end\" placeholder=\"Дата окончания\" />\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #picker></mat-date-range-picker>\r\n @if (form.begin().touched() && form.begin().invalid()) {\r\n <ng-container ngProjectAs=\"mat-error\">\r\n
|
|
3619
|
+
template: "<mat-form-field appearance=\"fill\">\r\n <mat-label>{{ label() }}</mat-label>\r\n <mat-date-range-input\r\n [rangePicker]=\"picker\"\r\n [min]=\"minDate()\"\r\n >\r\n <input matStartDate [formField]=\"form.begin\" placeholder=\"Дата начала\" />\r\n <input matEndDate [formField]=\"form.end\" placeholder=\"Дата окончания\" />\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #picker></mat-date-range-picker>\r\n @if (form.begin().touched() && form.begin().invalid()) {\r\n <ng-container ngProjectAs=\"mat-error\">\r\n <mat-error>{{ form.begin().errors()[0]?.message }}</mat-error>\r\n </ng-container>\r\n }\r\n @if (form.end().touched() && form.end().invalid()) {\r\n <ng-container ngProjectAs=\"mat-error\">\r\n <mat-error>{{ form.end().errors()[0]?.message }}</mat-error>\r\n </ng-container>\r\n }\r\n</mat-form-field>\r\n",
|
|
3613
3620
|
styles: ["mat-form-field{margin-right:16px}\n"],
|
|
3614
3621
|
dependencies: [
|
|
3615
3622
|
{
|
|
@@ -3729,7 +3736,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
3729
3736
|
provide: MAT_DATE_FORMATS,
|
|
3730
3737
|
useValue: MY_NATIVE_FORMATS
|
|
3731
3738
|
}],
|
|
3732
|
-
template: "<mat-form-field appearance=\"fill\">\r\n <mat-label>{{ label() }}</mat-label>\r\n <mat-date-range-input\r\n [rangePicker]=\"picker\"\r\n [min]=\"minDate()\"\r\n >\r\n <input matStartDate [formField]=\"form.begin\" placeholder=\"Дата начала\" />\r\n <input matEndDate [formField]=\"form.end\" placeholder=\"Дата окончания\" />\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #picker></mat-date-range-picker>\r\n @if (form.begin().touched() && form.begin().invalid()) {\r\n <ng-container ngProjectAs=\"mat-error\">\r\n
|
|
3739
|
+
template: "<mat-form-field appearance=\"fill\">\r\n <mat-label>{{ label() }}</mat-label>\r\n <mat-date-range-input\r\n [rangePicker]=\"picker\"\r\n [min]=\"minDate()\"\r\n >\r\n <input matStartDate [formField]=\"form.begin\" placeholder=\"Дата начала\" />\r\n <input matEndDate [formField]=\"form.end\" placeholder=\"Дата окончания\" />\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #picker></mat-date-range-picker>\r\n @if (form.begin().touched() && form.begin().invalid()) {\r\n <ng-container ngProjectAs=\"mat-error\">\r\n <mat-error>{{ form.begin().errors()[0]?.message }}</mat-error>\r\n </ng-container>\r\n }\r\n @if (form.end().touched() && form.end().invalid()) {\r\n <ng-container ngProjectAs=\"mat-error\">\r\n <mat-error>{{ form.end().errors()[0]?.message }}</mat-error>\r\n </ng-container>\r\n }\r\n</mat-form-field>\r\n",
|
|
3733
3740
|
styles: ["mat-form-field{margin-right:16px}\n"]
|
|
3734
3741
|
}]
|
|
3735
3742
|
}],
|