@osovitny/anatoly 3.16.76 → 3.16.78
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/core/consts/settings.mjs +3 -3
- package/esm2022/lib/iam/pages/signin.page.mjs +2 -2
- package/esm2022/lib/iam/pages/signout.page.mjs +2 -2
- package/esm2022/lib/iam/pages/signup.page.mjs +2 -2
- package/esm2022/lib/ui/components/base/components/component.mjs +69 -0
- package/esm2022/lib/ui/components/base/components/edit.component.mjs +135 -0
- package/esm2022/lib/ui/components/base/dialog.mjs +2 -2
- package/esm2022/lib/ui/components/base/list.mjs +2 -2
- package/esm2022/lib/ui/components/base/pages/edit.page.mjs +31 -0
- package/esm2022/lib/ui/components/base/pages/page.mjs +31 -0
- package/esm2022/lib/ui/components/base/pages/paged.page.mjs +66 -0
- package/esm2022/lib/ui/components/html-editor/base-html-editor.component.mjs +2 -2
- package/esm2022/lib/ui/components/identity/signin-button.component.mjs +2 -2
- package/esm2022/lib/ui/components/identity/signout-button.component.mjs +2 -2
- package/esm2022/lib/ui/components/identity/signup-button.component.mjs +2 -2
- package/esm2022/lib/ui/components/index.mjs +6 -5
- package/esm2022/lib/ui/components/spinners/loading/loading.component.mjs +2 -2
- package/esm2022/lib/ui/forms/components/dropdownlists/timezone/timezone.dropdownlist.mjs +2 -2
- package/esm2022/lib/ui/forms/components/urlslug/urlslug.component.mjs +2 -2
- package/esm2022/lib/ui/forms/contact-us/contact-us.mjs +2 -2
- package/esm2022/lib/ui/validation/validation-summary.component.mjs +2 -2
- package/fesm2022/osovitny-anatoly.mjs +96 -65
- package/fesm2022/osovitny-anatoly.mjs.map +1 -1
- package/lib/core/consts/settings.d.ts +2 -2
- package/lib/iam/iam-pages.routes.d.ts +1 -1
- package/lib/iam/pages/signin.page.d.ts +1 -1
- package/lib/iam/pages/signout.page.d.ts +1 -1
- package/lib/iam/pages/signup.page.d.ts +1 -1
- package/lib/ui/components/base/{component.d.ts → components/component.d.ts} +5 -3
- package/lib/ui/components/base/dialog.d.ts +1 -1
- package/lib/ui/components/base/list.d.ts +1 -1
- package/lib/ui/components/base/pages/edit.page.d.ts +6 -0
- package/lib/ui/components/base/{page.d.ts → pages/page.d.ts} +1 -1
- package/lib/ui/components/html-editor/base-html-editor.component.d.ts +1 -1
- package/lib/ui/components/identity/signin-button.component.d.ts +1 -1
- package/lib/ui/components/identity/signout-button.component.d.ts +1 -1
- package/lib/ui/components/identity/signup-button.component.d.ts +1 -1
- package/lib/ui/components/index.d.ts +5 -4
- package/lib/ui/components/spinners/loading/loading.component.d.ts +1 -1
- package/lib/ui/forms/components/dropdownlists/timezone/timezone.dropdownlist.d.ts +1 -1
- package/lib/ui/forms/components/urlslug/urlslug.component.d.ts +1 -1
- package/lib/ui/forms/contact-us/contact-us.d.ts +1 -1
- package/lib/ui/validation/validation-summary.component.d.ts +1 -1
- package/package.json +1 -1
- package/esm2022/lib/ui/components/base/component.mjs +0 -65
- package/esm2022/lib/ui/components/base/edit.component.mjs +0 -135
- package/esm2022/lib/ui/components/base/page.mjs +0 -31
- package/esm2022/lib/ui/components/base/paged.page.mjs +0 -66
- /package/lib/ui/components/base/{edit.component.d.ts → components/edit.component.d.ts} +0 -0
- /package/lib/ui/components/base/{paged.page.d.ts → pages/paged.page.d.ts} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare function getAppSettingsById(id:
|
|
2
|
-
export declare function getAppSettingsByName(name:
|
|
1
|
+
export declare function getAppSettingsById(id: any): any;
|
|
2
|
+
export declare function getAppSettingsByName(name: any): any;
|
|
3
3
|
export declare const AppCoreSettings: any;
|
|
4
4
|
export declare const L10NUrl: string;
|
|
5
5
|
export declare const AppVersion: string;
|
|
@@ -3,4 +3,4 @@ import { SignInPage } from "./pages/signin.page";
|
|
|
3
3
|
import { SignOutPage } from "./pages/signout.page";
|
|
4
4
|
import { SignUpPage } from "./pages/signup.page";
|
|
5
5
|
export declare const IAMRouterModule: import("@angular/core").ModuleWithProviders<RouterModule>;
|
|
6
|
-
export declare const PAGES: (typeof
|
|
6
|
+
export declare const PAGES: (typeof SignUpPage | typeof SignInPage | typeof SignOutPage)[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
2
|
import { AuthService } from '../services/auth.service';
|
|
3
|
-
import { PageBase } from '../../ui/components/base/page';
|
|
3
|
+
import { PageBase } from '../../ui/components/base/pages/page';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class SignInPage extends PageBase implements OnInit {
|
|
6
6
|
private auth;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
2
|
import { AuthService } from '../services/auth.service';
|
|
3
|
-
import { PageBase } from '../../ui/components/base/page';
|
|
3
|
+
import { PageBase } from '../../ui/components/base/pages/page';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class SignOutPage extends PageBase implements OnInit {
|
|
6
6
|
private auth;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
2
|
import { AuthService } from '../services/auth.service';
|
|
3
|
-
import { PageBase } from '../../ui/components/base/page';
|
|
3
|
+
import { PageBase } from '../../ui/components/base/pages/page';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class SignUpPage extends PageBase implements OnInit {
|
|
6
6
|
private auth;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { OnDestroy } from "@angular/core";
|
|
2
|
-
import { Subs } from "
|
|
1
|
+
import { OnDestroy, OnInit } from "@angular/core";
|
|
2
|
+
import { Subs } from "../../../../core";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare abstract class ComponentBase implements OnDestroy {
|
|
4
|
+
export declare abstract class ComponentBase implements OnInit, OnDestroy {
|
|
5
|
+
protected isDevMode: boolean;
|
|
5
6
|
protected subs: Subs;
|
|
6
7
|
protected dataLoading: boolean;
|
|
7
8
|
protected dataLoaded: boolean;
|
|
8
9
|
protected dataFound: boolean;
|
|
9
10
|
classes: string;
|
|
11
|
+
ngOnInit(): void;
|
|
10
12
|
ngOnDestroy(): void;
|
|
11
13
|
getEntityId(): string;
|
|
12
14
|
getValueByNameInQS(name: any): string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from "@angular/core";
|
|
2
|
-
import { EditComponentBase } from "./edit.component";
|
|
2
|
+
import { EditComponentBase } from "./components/edit.component";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare abstract class DialogBase extends EditComponentBase {
|
|
5
5
|
private _isOpen;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { EditComponentBase } from "../components/edit.component";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare abstract class EditPageBase extends EditComponentBase {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EditPageBase, never>;
|
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EditPageBase, "ng-component", never, {}, {}, never, never, false, never>;
|
|
6
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AfterViewInit, OnInit } from "@angular/core";
|
|
2
|
-
import { EditComponentBase } from "../base/edit.component";
|
|
2
|
+
import { EditComponentBase } from "../base/components/edit.component";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare abstract class HtmlEditorComponentBase extends EditComponentBase implements OnInit, AfterViewInit {
|
|
5
5
|
protected froalaEditor: any;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OnInit } from "@angular/core";
|
|
2
|
-
import { ComponentBase } from "../base/component";
|
|
2
|
+
import { ComponentBase } from "../base/components/component";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class SignInButtonComponent extends ComponentBase implements OnInit {
|
|
5
5
|
url: any;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OnInit } from "@angular/core";
|
|
2
|
-
import { ComponentBase } from "../base/component";
|
|
2
|
+
import { ComponentBase } from "../base/components/component";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class SignOutButtonComponent extends ComponentBase implements OnInit {
|
|
5
5
|
url: any;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OnInit } from "@angular/core";
|
|
2
|
-
import { ComponentBase } from "../base/component";
|
|
2
|
+
import { ComponentBase } from "../base/components/component";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class SignUpButtonComponent extends ComponentBase implements OnInit {
|
|
5
5
|
url: any;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
export * from './base/edit.component';
|
|
2
|
-
export * from './base/component';
|
|
1
|
+
export * from './base/components/edit.component';
|
|
2
|
+
export * from './base/components/component';
|
|
3
|
+
export * from './base/pages/page';
|
|
4
|
+
export * from './base/pages/edit.page';
|
|
5
|
+
export * from './base/pages/paged.page';
|
|
3
6
|
export * from './base/dialog';
|
|
4
7
|
export * from './base/list';
|
|
5
|
-
export * from './base/page';
|
|
6
|
-
export * from './base/paged.page';
|
|
7
8
|
export * from './billing/buyaccess-button.component';
|
|
8
9
|
export * from './billing/subscribe-plan-button.component';
|
|
9
10
|
export * from './check-icon/check-icon.component';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
|
-
import { ComponentBase } from '../../base/component';
|
|
2
|
+
import { ComponentBase } from '../../base/components/component';
|
|
3
3
|
import { LoadingService } from '../../../../core/services/loading.service';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class LoadingComponent extends ComponentBase implements OnInit {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
|
-
import { EditComponentBase } from '../../../../components/base/edit.component';
|
|
2
|
+
import { EditComponentBase } from '../../../../components/base/components/edit.component';
|
|
3
3
|
import { AppContextService } from '../../../../../core/services/appcontext.service';
|
|
4
4
|
import { CoreApiService } from '../../../../../data/services/core-api.service';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
-
import { EditComponentBase } from '../../../components/base/edit.component';
|
|
2
|
+
import { EditComponentBase } from '../../../components/base/components/edit.component';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class UrlSlugComponent extends EditComponentBase implements OnInit {
|
|
5
5
|
firstValue: boolean;
|
|
@@ -4,7 +4,7 @@ import { ReCaptchaV3Service } from 'ngx-captcha';
|
|
|
4
4
|
import { AppContextService } from "../../../core/services/appcontext.service";
|
|
5
5
|
import { NotificationService } from "../../../core/notifications/services/notification-service";
|
|
6
6
|
import { EmailsApiService } from '../../../data/services/emails-api.service';
|
|
7
|
-
import { EditComponentBase } from "../../components/base/edit.component";
|
|
7
|
+
import { EditComponentBase } from "../../components/base/components/edit.component";
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export declare class ContactUsForm extends EditComponentBase implements OnInit {
|
|
10
10
|
private reCaptcha;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EditComponentBase } from "../components/base/edit.component";
|
|
1
|
+
import { EditComponentBase } from "../components/base/components/edit.component";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare abstract class ValidationSummaryComponent extends EditComponentBase {
|
|
4
4
|
constructor();
|
package/package.json
CHANGED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
28 Aug 2018
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
//Node
|
|
17
|
-
import { Component, Input } from "@angular/core";
|
|
18
|
-
//App
|
|
19
|
-
import { Utils, Subs } from "../../../core";
|
|
20
|
-
import * as i0 from "@angular/core";
|
|
21
|
-
export class ComponentBase {
|
|
22
|
-
subs = new Subs();
|
|
23
|
-
//Component Data => usually loading from API
|
|
24
|
-
dataLoading = true;
|
|
25
|
-
dataLoaded = false;
|
|
26
|
-
dataFound = false;
|
|
27
|
-
//Inputs
|
|
28
|
-
classes;
|
|
29
|
-
ngOnDestroy() {
|
|
30
|
-
this.subs.unsubscribe();
|
|
31
|
-
}
|
|
32
|
-
getEntityId() {
|
|
33
|
-
return this.getValueByNameInQS("id");
|
|
34
|
-
}
|
|
35
|
-
getValueByNameInQS(name) {
|
|
36
|
-
let value = Utils.getValueByNameInQS(name);
|
|
37
|
-
if (typeof value === "undefined" || value == "")
|
|
38
|
-
return null;
|
|
39
|
-
return value;
|
|
40
|
-
}
|
|
41
|
-
dataStartedLoading() {
|
|
42
|
-
this.dataLoading = true;
|
|
43
|
-
this.dataLoaded = false;
|
|
44
|
-
this.dataFound = false;
|
|
45
|
-
}
|
|
46
|
-
dataLoadedAndNothingFound() {
|
|
47
|
-
this.dataLoadedAndFound(false);
|
|
48
|
-
}
|
|
49
|
-
dataLoadedAndFound(found = true) {
|
|
50
|
-
this.dataLoading = false;
|
|
51
|
-
this.dataLoaded = true;
|
|
52
|
-
this.dataFound = found;
|
|
53
|
-
}
|
|
54
|
-
static ɵfac = function ComponentBase_Factory(t) { return new (t || ComponentBase)(); };
|
|
55
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ComponentBase, selectors: [["ng-component"]], inputs: { classes: "classes" }, decls: 0, vars: 0, template: function ComponentBase_Template(rf, ctx) { }, encapsulation: 2 });
|
|
56
|
-
}
|
|
57
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ComponentBase, [{
|
|
58
|
-
type: Component,
|
|
59
|
-
args: [{
|
|
60
|
-
template: ''
|
|
61
|
-
}]
|
|
62
|
-
}], null, { classes: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}] }); })();
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvYmFzZS9jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBYSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQsS0FBSztBQUNMLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUs1QyxNQUFNLE9BQWdCLGFBQWE7SUFDdkIsSUFBSSxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7SUFFbEMsNENBQTRDO0lBQ2xDLFdBQVcsR0FBWSxJQUFJLENBQUM7SUFDNUIsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUM1QixTQUFTLEdBQVksS0FBSyxDQUFDO0lBRXJDLFFBQVE7SUFDQyxPQUFPLENBQVM7SUFFekIsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLGtCQUFrQixDQUFDLElBQUk7UUFDNUIsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVyxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFN0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFTSx5QkFBeUI7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxRQUFpQixJQUFJO1FBQzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7dUVBeENtQixhQUFhOzZEQUFiLGFBQWE7O3VGQUFiLGFBQWE7Y0FIbEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxFQUFFO2FBQ2I7Z0JBVVUsT0FBTztrQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI4IEF1ZyAyMDE4XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBVdGlscywgU3VicyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHByb3RlY3RlZCBzdWJzOiBTdWJzID0gbmV3IFN1YnMoKTtcclxuXHJcbiAgLy9Db21wb25lbnQgRGF0YSA9PiB1c3VhbGx5IGxvYWRpbmcgZnJvbSBBUElcclxuICBwcm90ZWN0ZWQgZGF0YUxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHByb3RlY3RlZCBkYXRhTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJvdGVjdGVkIGRhdGFGb3VuZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvL0lucHV0c1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnN1YnMudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRFbnRpdHlJZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmdldFZhbHVlQnlOYW1lSW5RUyhcImlkXCIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFZhbHVlQnlOYW1lSW5RUyhuYW1lKSB7XHJcbiAgICBsZXQgdmFsdWUgPSBVdGlscy5nZXRWYWx1ZUJ5TmFtZUluUVMobmFtZSk7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInVuZGVmaW5lZFwiIHx8IHZhbHVlID09IFwiXCIpIHJldHVybiBudWxsO1xyXG5cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkYXRhU3RhcnRlZExvYWRpbmcoKSB7XHJcbiAgICB0aGlzLmRhdGFMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZGF0YUxvYWRlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5kYXRhRm91bmQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkYXRhTG9hZGVkQW5kTm90aGluZ0ZvdW5kKCkge1xyXG4gICAgdGhpcy5kYXRhTG9hZGVkQW5kRm91bmQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRhdGFMb2FkZWRBbmRGb3VuZChmb3VuZDogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIHRoaXMuZGF0YUxvYWRpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuZGF0YUxvYWRlZCA9IHRydWU7XHJcbiAgICB0aGlzLmRhdGFGb3VuZCA9IGZvdW5kO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
20 Nov 2017
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
//Node
|
|
17
|
-
import { Component, Input } from "@angular/core";
|
|
18
|
-
import { FormControl } from "@angular/forms";
|
|
19
|
-
//App
|
|
20
|
-
import { ComponentBase } from "./component";
|
|
21
|
-
import { Utils } from "../../../core";
|
|
22
|
-
import * as i0 from "@angular/core";
|
|
23
|
-
export class EditComponentBase extends ComponentBase {
|
|
24
|
-
formGroup;
|
|
25
|
-
formSubmitted = false;
|
|
26
|
-
constructor() {
|
|
27
|
-
super();
|
|
28
|
-
}
|
|
29
|
-
isActionAdding() {
|
|
30
|
-
return !Utils.idExistsInQS();
|
|
31
|
-
}
|
|
32
|
-
isControlValid(name, frmGroup = null) {
|
|
33
|
-
return !this.isControlInvalid(name, frmGroup);
|
|
34
|
-
}
|
|
35
|
-
isControlInvalid(name, frmGroup = null) {
|
|
36
|
-
if (typeof name === "undefined" || name == "") {
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
40
|
-
if (!fg) {
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
if (fg.get(name)) {
|
|
44
|
-
return ((this.formSubmitted && fg.get(name).invalid) ||
|
|
45
|
-
(fg.get(name).touched && fg.get(name).invalid));
|
|
46
|
-
}
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
//FormGroup functions
|
|
50
|
-
getFormValue(name, frmGroup = null) {
|
|
51
|
-
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
52
|
-
return fg.controls[name].value;
|
|
53
|
-
}
|
|
54
|
-
setFormValue(name, value, frmGroup = null) {
|
|
55
|
-
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
56
|
-
fg.controls[name].setValue(value);
|
|
57
|
-
}
|
|
58
|
-
getFormGroupValue(groupName, name, frmGroup = null) {
|
|
59
|
-
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
60
|
-
return fg.controls[groupName].get(name).value;
|
|
61
|
-
}
|
|
62
|
-
setFormGroupValue(groupName, name, value, frmGroup = null) {
|
|
63
|
-
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
64
|
-
fg.controls[groupName].get(name).setValue(value);
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Add control to form group
|
|
68
|
-
* @param name
|
|
69
|
-
* @param formControl
|
|
70
|
-
* @param frmGroup
|
|
71
|
-
*/
|
|
72
|
-
addControl(name, formControl, frmGroup = null) {
|
|
73
|
-
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
74
|
-
fg.addControl(name, formControl);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Removes control from form group
|
|
78
|
-
* @param name
|
|
79
|
-
* @param frmGroup
|
|
80
|
-
*/
|
|
81
|
-
removeControl(name, frmGroup = null) {
|
|
82
|
-
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
83
|
-
if (fg.get(name)) {
|
|
84
|
-
fg.removeControl(name);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* return new form control
|
|
89
|
-
* @param formState
|
|
90
|
-
* @param validatorOrOpts
|
|
91
|
-
* @param asyncValidator
|
|
92
|
-
*/
|
|
93
|
-
createFormControl(formState, validatorOrOpts, asyncValidator) {
|
|
94
|
-
return new FormControl(formState, validatorOrOpts, asyncValidator);
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Set error to control
|
|
98
|
-
* @param controlName formControl name
|
|
99
|
-
* @param err error expect {erroname: boolean} format
|
|
100
|
-
* @param frmGroup
|
|
101
|
-
*/
|
|
102
|
-
setControlError(controlName, err, frmGroup = null) {
|
|
103
|
-
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
104
|
-
fg.get(controlName)?.setErrors(err);
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Set {invalid: true} for the specified form
|
|
108
|
-
* @param controlName form control name
|
|
109
|
-
* @param frmGroup
|
|
110
|
-
*/
|
|
111
|
-
setInValidError(controlName, frmGroup = null) {
|
|
112
|
-
let fg = frmGroup ? frmGroup : this.formGroup;
|
|
113
|
-
fg.get(controlName)?.setErrors({ invalid: true });
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* returns formgroup controls.
|
|
117
|
-
* main use case is used in html pages
|
|
118
|
-
*/
|
|
119
|
-
get fc() {
|
|
120
|
-
return this.formGroup.controls;
|
|
121
|
-
}
|
|
122
|
-
static ɵfac = function EditComponentBase_Factory(t) { return new (t || EditComponentBase)(); };
|
|
123
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EditComponentBase, selectors: [["ng-component"]], inputs: { formGroup: "formGroup", formSubmitted: "formSubmitted" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 0, vars: 0, template: function EditComponentBase_Template(rf, ctx) { }, encapsulation: 2 });
|
|
124
|
-
}
|
|
125
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EditComponentBase, [{
|
|
126
|
-
type: Component,
|
|
127
|
-
args: [{
|
|
128
|
-
template: ''
|
|
129
|
-
}]
|
|
130
|
-
}], function () { return []; }, { formGroup: [{
|
|
131
|
-
type: Input
|
|
132
|
-
}], formSubmitted: [{
|
|
133
|
-
type: Input
|
|
134
|
-
}] }); })();
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9iYXNlL2VkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBOEIsV0FBVyxFQUF5RCxNQUFNLGdCQUFnQixDQUFDO0FBRWhJLEtBQUs7QUFDTCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3RDLE1BQU0sT0FBZ0IsaUJBQWtCLFNBQVEsYUFBYTtJQUNsRCxTQUFTLENBQVk7SUFDckIsYUFBYSxHQUFZLEtBQUssQ0FBQztJQUV4QztRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBWSxFQUFFLFdBQXNCLElBQUk7UUFDckQsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVksRUFBRSxXQUFzQixJQUFJO1FBQ3ZELElBQUksT0FBTyxJQUFJLEtBQUssV0FBVyxJQUFJLElBQUksSUFBSSxFQUFFLEVBQUU7WUFDN0MsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzlDLElBQUksQ0FBQyxFQUFF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O1FBQ3RFLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzlDLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsZUFBZSxDQUFDLFdBQW1CLEVBQUUsV0FBc0IsSUFBSTtRQUM3RCxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLEVBQUU7UUFDSixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7MkVBbEltQixpQkFBaUI7NkRBQWpCLGlCQUFpQjs7dUZBQWpCLGlCQUFpQjtjQUh0QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLEVBQUU7YUFDYjtzQ0FFVSxTQUFTO2tCQUFqQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyMCBOb3YgMjAxN1xyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JGbiwgQWJzdHJhY3RDb250cm9sT3B0aW9ucywgQXN5bmNWYWxpZGF0b3JGbiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gXCIuL2NvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVkaXRDb21wb25lbnRCYXNlIGV4dGVuZHMgQ29tcG9uZW50QmFzZSB7XHJcbiAgQElucHV0KCkgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgZm9ybVN1Ym1pdHRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBpc0FjdGlvbkFkZGluZygpIHtcclxuICAgIHJldHVybiAhVXRpbHMuaWRFeGlzdHNJblFTKCk7XHJcbiAgfVxyXG5cclxuICBpc0NvbnRyb2xWYWxpZChuYW1lOiBzdHJpbmcsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICByZXR1cm4gIXRoaXMuaXNDb250cm9sSW52YWxpZChuYW1lLCBmcm1Hcm91cCk7XHJcbiAgfVxyXG5cclxuICBpc0NvbnRyb2xJbnZhbGlkKG5hbWU6IHN0cmluZywgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGlmICh0eXBlb2YgbmFtZSA9PT0gXCJ1bmRlZmluZWRcIiB8fCBuYW1lID09IFwiXCIpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIGlmICghZmcpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChmZy5nZXQobmFtZSkpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICAodGhpcy5mb3JtU3VibWl0dGVkICYmIGZnLmdldChuYW1lKS5pbnZhbGlkKSB8fFxyXG4gICAgICAgIChmZy5nZXQobmFtZSkudG91Y2hlZCAmJiBmZy5nZXQobmFtZSkuaW52YWxpZClcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvL0Zvcm1Hcm91cCBmdW5jdGlvbnNcclxuICBnZXRGb3JtVmFsdWUobmFtZSwgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIHJldHVybiBmZy5jb250cm9sc1tuYW1lXS52YWx1ZTtcclxuICB9XHJcblxyXG4gIHNldEZvcm1WYWx1ZShuYW1lLCB2YWx1ZSwgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIGZnLmNvbnRyb2xzW25hbWVdLnNldFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldEZvcm1Hcm91cFZhbHVlKGdyb3VwTmFtZSwgbmFtZSwgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIHJldHVybiBmZy5jb250cm9sc1tncm91cE5hbWVdLmdldChuYW1lKS52YWx1ZTtcclxuICB9XHJcblxyXG4gIHNldEZvcm1Hcm91cFZhbHVlKGdyb3VwTmFtZSwgbmFtZSwgdmFsdWUsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBmZy5jb250cm9sc1tncm91cE5hbWVdLmdldChuYW1lKS5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgY29udHJvbCB0byBmb3JtIGdyb3VwXHJcbiAgICogQHBhcmFtIG5hbWVcclxuICAgKiBAcGFyYW0gZm9ybUNvbnRyb2xcclxuICAgKiBAcGFyYW0gZnJtR3JvdXBcclxuICAgKi9cclxuICBhZGRDb250cm9sKFxyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCxcclxuICAgIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsXHJcbiAgKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBmZy5hZGRDb250cm9sKG5hbWUsIGZvcm1Db250cm9sKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZXMgY29udHJvbCBmcm9tIGZvcm0gZ3JvdXBcclxuICAgKiBAcGFyYW0gbmFtZVxyXG4gICAqIEBwYXJhbSBmcm1Hcm91cFxyXG4gICAqL1xyXG4gIHJlbW92ZUNvbnRyb2wobmFtZTogc3RyaW5nLCBmcm1Hcm91cDogRm9ybUdyb3VwID0gbnVsbCkge1xyXG4gICAgbGV0IGZnID0gZnJtR3JvdXAgPyBmcm1Hcm91cCA6IHRoaXMuZm9ybUdyb3VwO1xyXG5cclxuICAgIGlmIChmZy5nZXQobmFtZSkpIHtcclxuICAgICAgZmcucmVtb3ZlQ29udHJvbChuYW1lKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHJldHVybiBuZXcgZm9ybSBjb250cm9sXHJcbiAgICogQHBhcmFtIGZvcm1TdGF0ZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0b3JPck9wdHNcclxuICAgKiBAcGFyYW0gYXN5bmNWYWxpZGF0b3JcclxuICAgKi9cclxuICBjcmVhdGVGb3JtQ29udHJvbChcclxuICAgIGZvcm1TdGF0ZT86IGFueSxcclxuICAgIHZhbGlkYXRvck9yT3B0cz86XHJcbiAgICAgIHwgVmFsaWRhdG9yRm5cclxuICAgICAgfCBWYWxpZGF0b3JGbltdXHJcbiAgICAgIHwgQWJzdHJhY3RDb250cm9sT3B0aW9uc1xyXG4gICAgICB8IG51bGwsXHJcbiAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW10gfCBudWxsXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gbmV3IEZvcm1Db250cm9sKGZvcm1TdGF0ZSwgdmFsaWRhdG9yT3JPcHRzLCBhc3luY1ZhbGlkYXRvcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgZXJyb3IgdG8gY29udHJvbFxyXG4gICAqIEBwYXJhbSBjb250cm9sTmFtZSBmb3JtQ29udHJvbCBuYW1lXHJcbiAgICogQHBhcmFtIGVyciBlcnJvciBleHBlY3Qge2Vycm9uYW1lOiBib29sZWFufSBmb3JtYXRcclxuICAgKiBAcGFyYW0gZnJtR3JvdXBcclxuICAgKi9cclxuICBzZXRDb250cm9sRXJyb3IoY29udHJvbE5hbWU6IHN0cmluZywgZXJyOiB7fSwgZnJtR3JvdXA6IEZvcm1Hcm91cCA9IG51bGwpIHtcclxuICAgIGxldCBmZyA9IGZybUdyb3VwID8gZnJtR3JvdXAgOiB0aGlzLmZvcm1Hcm91cDtcclxuICAgIGZnLmdldChjb250cm9sTmFtZSk/LnNldEVycm9ycyhlcnIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHtpbnZhbGlkOiB0cnVlfSBmb3IgdGhlIHNwZWNpZmllZCBmb3JtXHJcbiAgICogQHBhcmFtIGNvbnRyb2xOYW1lIGZvcm0gY29udHJvbCBuYW1lXHJcbiAgICogQHBhcmFtIGZybUdyb3VwXHJcbiAgICovXHJcbiAgc2V0SW5WYWxpZEVycm9yKGNvbnRyb2xOYW1lOiBzdHJpbmcsIGZybUdyb3VwOiBGb3JtR3JvdXAgPSBudWxsKSB7XHJcbiAgICBsZXQgZmcgPSBmcm1Hcm91cCA/IGZybUdyb3VwIDogdGhpcy5mb3JtR3JvdXA7XHJcbiAgICBmZy5nZXQoY29udHJvbE5hbWUpPy5zZXRFcnJvcnMoeyBpbnZhbGlkOiB0cnVlIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogcmV0dXJucyBmb3JtZ3JvdXAgY29udHJvbHMuXHJcbiAgICogbWFpbiB1c2UgY2FzZSBpcyB1c2VkIGluIGh0bWwgcGFnZXNcclxuICAgKi9cclxuICBnZXQgZmMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuY29udHJvbHM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
20 Aug 2022
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
//Node
|
|
17
|
-
import { Component } from "@angular/core";
|
|
18
|
-
//App
|
|
19
|
-
import { ComponentBase } from "./component";
|
|
20
|
-
import * as i0 from "@angular/core";
|
|
21
|
-
export class PageBase extends ComponentBase {
|
|
22
|
-
static ɵfac = /*@__PURE__*/ function () { let ɵPageBase_BaseFactory; return function PageBase_Factory(t) { return (ɵPageBase_BaseFactory || (ɵPageBase_BaseFactory = i0.ɵɵgetInheritedFactory(PageBase)))(t || PageBase); }; }();
|
|
23
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PageBase, selectors: [["ng-component"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 0, vars: 0, template: function PageBase_Template(rf, ctx) { }, encapsulation: 2 });
|
|
24
|
-
}
|
|
25
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PageBase, [{
|
|
26
|
-
type: Component,
|
|
27
|
-
args: [{
|
|
28
|
-
template: ''
|
|
29
|
-
}]
|
|
30
|
-
}], null, null); })();
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2Jhc2UvcGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLEtBQUs7QUFDTCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUs1QyxNQUFNLE9BQWdCLFFBQVMsU0FBUSxhQUFhO2tNQUE5QixRQUFRLFNBQVIsUUFBUTs2REFBUixRQUFROzt1RkFBUixRQUFRO2NBSDdCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsRUFBRTthQUNiIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDIwIEF1ZyAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBDb21wb25lbnRCYXNlIH0gZnJvbSBcIi4vY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBhZ2VCYXNlIGV4dGVuZHMgQ29tcG9uZW50QmFzZSB7XHJcbn1cclxuIl19
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
20 Aug 2022
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
//Node
|
|
17
|
-
import { Component } from "@angular/core";
|
|
18
|
-
//App
|
|
19
|
-
import { PageBase } from "./page";
|
|
20
|
-
import * as i0 from "@angular/core";
|
|
21
|
-
export class PagedPageBase extends PageBase {
|
|
22
|
-
currentFilter = null;
|
|
23
|
-
//Items & Pagination
|
|
24
|
-
items;
|
|
25
|
-
totalItems = 0;
|
|
26
|
-
pageSize = 10;
|
|
27
|
-
skipItems = 0;
|
|
28
|
-
currentPage = 1;
|
|
29
|
-
loadPageOne() {
|
|
30
|
-
this.skipItems = 0;
|
|
31
|
-
this.currentPage = 1;
|
|
32
|
-
this.loadPage();
|
|
33
|
-
}
|
|
34
|
-
reloadPage(drop2pageOne = false) {
|
|
35
|
-
if (drop2pageOne) {
|
|
36
|
-
this.loadPageOne();
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
this.loadPage();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
setFilter(filter) {
|
|
43
|
-
this.currentFilter = filter;
|
|
44
|
-
this.loadPageOne();
|
|
45
|
-
}
|
|
46
|
-
//Tos
|
|
47
|
-
toIndex(index) {
|
|
48
|
-
return ((this.currentPage - 1) * this.pageSize) + index + 1;
|
|
49
|
-
}
|
|
50
|
-
//Events
|
|
51
|
-
onPageChange(e) {
|
|
52
|
-
this.pageSize = e.take;
|
|
53
|
-
this.skipItems = e.skip;
|
|
54
|
-
this.currentPage = (this.skipItems / this.pageSize) + 1;
|
|
55
|
-
this.loadPage();
|
|
56
|
-
}
|
|
57
|
-
static ɵfac = /*@__PURE__*/ function () { let ɵPagedPageBase_BaseFactory; return function PagedPageBase_Factory(t) { return (ɵPagedPageBase_BaseFactory || (ɵPagedPageBase_BaseFactory = i0.ɵɵgetInheritedFactory(PagedPageBase)))(t || PagedPageBase); }; }();
|
|
58
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PagedPageBase, selectors: [["ng-component"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 0, vars: 0, template: function PagedPageBase_Template(rf, ctx) { }, encapsulation: 2 });
|
|
59
|
-
}
|
|
60
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagedPageBase, [{
|
|
61
|
-
type: Component,
|
|
62
|
-
args: [{
|
|
63
|
-
template: ''
|
|
64
|
-
}]
|
|
65
|
-
}], null, null); })();
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWQucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2Jhc2UvcGFnZWQucGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLEtBQUs7QUFDTCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDOztBQUtsQyxNQUFNLE9BQWdCLGFBQWMsU0FBUSxRQUFRO0lBQ2xELGFBQWEsR0FBRyxJQUFJLENBQUM7SUFFckIsb0JBQW9CO0lBQ3BCLEtBQUssQ0FBUTtJQUNiLFVBQVUsR0FBVyxDQUFDLENBQUM7SUFDdkIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixTQUFTLEdBQVcsQ0FBQyxDQUFDO0lBQ3RCLFdBQVcsR0FBVyxDQUFDLENBQUM7SUFJakIsV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxlQUF3QixLQUFLO1FBQzdDLElBQUksWUFBWSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjthQUNJO1lBQ0gsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUFXO1FBQzFCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSztJQUNMLE9BQU8sQ0FBQyxLQUFLO1FBQ1gsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsUUFBUTtJQUNSLFlBQVksQ0FBQyxDQUFNO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV4RCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztzTkE1Q21CLGFBQWEsU0FBYixhQUFhOzZEQUFiLGFBQWE7O3VGQUFiLGFBQWE7Y0FIbEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxFQUFFO2FBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjAgQXVnIDIwMjJcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IFBhZ2VCYXNlIH0gZnJvbSBcIi4vcGFnZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6ICcnXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQYWdlZFBhZ2VCYXNlIGV4dGVuZHMgUGFnZUJhc2Uge1xyXG4gIGN1cnJlbnRGaWx0ZXIgPSBudWxsO1xyXG5cclxuICAvL0l0ZW1zICYgUGFnaW5hdGlvblxyXG4gIGl0ZW1zOiBhbnlbXTtcclxuICB0b3RhbEl0ZW1zOiBudW1iZXIgPSAwO1xyXG4gIHBhZ2VTaXplOiBudW1iZXIgPSAxMDtcclxuICBza2lwSXRlbXM6IG51bWJlciA9IDA7XHJcbiAgY3VycmVudFBhZ2U6IG51bWJlciA9IDE7XHJcblxyXG4gIHB1YmxpYyBsb2FkUGFnZT8ocGFnZT86IG51bWJlcikgOiB2b2lkO1xyXG5cclxuICBwdWJsaWMgbG9hZFBhZ2VPbmUoKSB7XHJcbiAgICB0aGlzLnNraXBJdGVtcyA9IDA7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMubG9hZFBhZ2UoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWxvYWRQYWdlKGRyb3AycGFnZU9uZTogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICBpZiAoZHJvcDJwYWdlT25lKSB7XHJcbiAgICAgIHRoaXMubG9hZFBhZ2VPbmUoKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmxvYWRQYWdlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RmlsdGVyKGZpbHRlcjogYW55KSB7XHJcbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSBmaWx0ZXI7XHJcbiAgICB0aGlzLmxvYWRQYWdlT25lKCk7XHJcbiAgfVxyXG5cclxuICAvL1Rvc1xyXG4gIHRvSW5kZXgoaW5kZXgpIHtcclxuICAgIHJldHVybiAoKHRoaXMuY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMucGFnZVNpemUpICsgaW5kZXggKyAxO1xyXG4gIH1cclxuXHJcbiAgLy9FdmVudHNcclxuICBvblBhZ2VDaGFuZ2UoZTogYW55KSB7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gZS50YWtlO1xyXG4gICAgdGhpcy5za2lwSXRlbXMgPSBlLnNraXA7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gKHRoaXMuc2tpcEl0ZW1zIC8gdGhpcy5wYWdlU2l6ZSkgKyAxO1xyXG5cclxuICAgIHRoaXMubG9hZFBhZ2UoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
File without changes
|
|
File without changes
|