coer-elements 0.0.78 → 0.0.80

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"coer-elements-interfaces.mjs","sources":["../../../projects/coer-elements/interfaces/public-api.ts","../../../projects/coer-elements/interfaces/coer-elements-interfaces.ts"],"sourcesContent":["//coer-filebox\r\nexport * from './lib/coer-filebox/file-image.interface';\r\nexport * from './lib/coer-filebox/file.interface';\r\n\r\n//coer-grid\r\nexport * from './lib/coer-grid/grid-button-by-row.interface';\r\nexport * from './lib/coer-grid/grid-checkbox.interface';\r\nexport * from './lib/coer-grid/grid-coer-numberbox.interface';\r\nexport * from './lib/coer-grid/grid-coer-selectbox.interface';\r\nexport * from './lib/coer-grid/grid-coer-switch.interface';\r\nexport * from './lib/coer-grid/grid-coer-textbox.interface';\r\nexport * from './lib/coer-grid/grid-column.interface';\r\nexport * from './lib/coer-grid/grid-data-source.interface';\r\nexport * from './lib/coer-grid/grid-header-button.interface';\r\nexport * from './lib/coer-grid/grid-header-export-button.interface';\r\nexport * from './lib/coer-grid/grid-header.interface';\r\nexport * from './lib/coer-grid/grid-import.interface';\r\nexport * from './lib/coer-grid/grid-input-checkbox.interface';\r\nexport * from './lib/coer-grid/grid-input-switch-change.interface';\r\nexport * from './lib/coer-grid/grid-input-textbox.interface';\r\nexport * from './lib/coer-grid/grid-item.interface';\r\nexport * from './lib/coer-grid/grid-keyup-enter.interface';\r\nexport * from './lib/coer-grid/grid-length.interface';\r\nexport * from './lib/coer-grid/grid-search.interface';\r\nexport * from './lib/coer-grid/grid-sort.interface';\r\n\r\n//coer-menu\r\nexport * from './lib/coer-menu/menu-option-selected.interface';\r\nexport * from './lib/coer-menu/menu-selected.interface';\r\nexport * from './lib/coer-menu/menu.interface';\r\n\r\n//page-title\r\nexport * from './lib/page-title/breadcrumb.interface';\r\nexport * from './lib/page-title/go-back.interface';\r\n\r\n//service\r\nexport * from './lib/service/http-request.interface';\r\nexport * from './lib/service/http-response.interface';\r\nexport * from './lib/service/patch.interface';\r\n\r\nexport * from './lib/app-source.interface';\r\nexport * from './lib/box-button.interface';\r\nexport * from './lib/bulk-load.interface';\r\nexport * from './lib/coer-ref.interface';\r\nexport * from './lib/image.interface';\r\nexport * from './lib/screen-size.interface';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAAA;;ACAA;;AAEG"}
1
+ {"version":3,"file":"coer-elements-interfaces.mjs","sources":["../../../projects/coer-elements/interfaces/public-api.ts","../../../projects/coer-elements/interfaces/coer-elements-interfaces.ts"],"sourcesContent":["//coer-filebox\r\nexport * from './lib/coer-filebox/file-image.interface';\r\nexport * from './lib/coer-filebox/file.interface';\r\n\r\n//coer-grid\r\nexport * from './lib/coer-grid/grid-button-by-row.interface';\r\nexport * from './lib/coer-grid/grid-checkbox.interface';\r\nexport * from './lib/coer-grid/grid-coer-numberbox.interface';\r\nexport * from './lib/coer-grid/grid-coer-selectbox.interface';\r\nexport * from './lib/coer-grid/grid-coer-switch.interface';\r\nexport * from './lib/coer-grid/grid-coer-textbox.interface';\r\nexport * from './lib/coer-grid/grid-column.interface';\r\nexport * from './lib/coer-grid/grid-data-source.interface';\r\nexport * from './lib/coer-grid/grid-header-button.interface';\r\nexport * from './lib/coer-grid/grid-header-export-button.interface';\r\nexport * from './lib/coer-grid/grid-header.interface';\r\nexport * from './lib/coer-grid/grid-import.interface';\r\nexport * from './lib/coer-grid/grid-input-checkbox.interface';\r\nexport * from './lib/coer-grid/grid-input-switch-change.interface';\r\nexport * from './lib/coer-grid/grid-input-textbox.interface';\r\nexport * from './lib/coer-grid/grid-item.interface';\r\nexport * from './lib/coer-grid/grid-keyup-enter.interface';\r\nexport * from './lib/coer-grid/grid-length.interface';\r\nexport * from './lib/coer-grid/grid-search.interface';\r\nexport * from './lib/coer-grid/grid-sort.interface';\r\n\r\n//coer-menu\r\nexport * from './lib/coer-menu/menu-option-selected.interface';\r\nexport * from './lib/coer-menu/menu-selected.interface';\r\nexport * from './lib/coer-menu/menu.interface';\r\n\r\n//page-title\r\nexport * from './lib/page-title/breadcrumb.interface';\r\nexport * from './lib/page-title/go-back.interface';\r\n\r\n//service\r\nexport * from './lib/service/http-request.interface';\r\nexport * from './lib/service/http-response.interface';\r\nexport * from './lib/service/patch.interface';\r\n\r\nexport * from './lib/app-source.interface';\r\nexport * from './lib/box-button.interface';\r\nexport * from './lib/bulk-load.interface';\r\nexport * from './lib/coer-ref.interface';\r\nexport * from './lib/image.interface';\r\nexport * from './lib/login.interface';\r\nexport * from './lib/screen-size.interface';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAAA;;ACAA;;AAEG"}
@@ -1,10 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
- import { effect, Component, NgModule } from '@angular/core';
2
+ import { effect, Component, input, output, viewChild, Input, NgModule } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
+ import * as i1$1 from '@angular/forms';
5
+ import { FormsModule } from '@angular/forms';
4
6
  import * as i1 from '@angular/router';
5
7
  import { RouterModule } from '@angular/router';
6
- import { Page, Tools } from 'coer-elements/tools';
7
- import { menuSelectedSIGNAL } from 'coer-elements/signals';
8
+ import * as i2$1 from 'coer-elements/tools';
9
+ import { Page, Tools, Menu, CoerAlert } from 'coer-elements/tools';
10
+ import { menuSelectedSIGNAL, isLoadingSIGNAL, navigationSIGNAL } from 'coer-elements/signals';
8
11
  import * as i2 from 'coer-elements/components';
9
12
  import { ComponentsModule } from 'coer-elements/components';
10
13
 
@@ -46,6 +49,79 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
46
49
  args: [{ selector: 'home-page', standalone: false, template: "<!-- Title -->\r\n<coer-page-title\r\n title=\"Home\"\r\n [breadcrumbs]=\"breadcrumbs\"\r\n [goBack]=\"goBack\"\r\n></coer-page-title> \r\n\r\n<section class=\"coer-container\">\r\n\r\n</section>" }]
47
50
  }], ctorParameters: () => [] });
48
51
 
52
+ class LoginPage {
53
+ constructor() {
54
+ //Signals
55
+ this.isLoading = isLoadingSIGNAL;
56
+ //Inputs
57
+ this.title = input('');
58
+ this.user = 'Chris';
59
+ this.password = '123456';
60
+ //Outputs
61
+ this.onLogin = output();
62
+ //Generic Tools
63
+ this.IsNotOnlyWhiteSpace = Tools.IsNotOnlyWhiteSpace;
64
+ }
65
+ //getter
66
+ get enableButton() {
67
+ return Tools.IsNotOnlyWhiteSpace(this.user)
68
+ && Tools.IsNotOnlyWhiteSpace(this.password)
69
+ && this.password.length >= 6;
70
+ }
71
+ /** */
72
+ Login() {
73
+ this.onLogin.emit({
74
+ user: this.user,
75
+ password: this.password
76
+ });
77
+ }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: LoginPage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
79
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.1", type: LoginPage, isStandalone: false, selector: "login-page", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onLogin: "onLogin" }, ngImport: i0, template: "<div class=\"login-container\">\r\n\r\n <!-- Title -->\r\n <div class=\"title\">\r\n {{ title() }}\r\n </div>\r\n \r\n <!-- User -->\r\n <coer-textbox\r\n label=\"User\"\r\n [(ngModel)]=\"user\"\r\n [isLoading]=\"isLoading()\"\r\n marginTop=\"35px\"\r\n marginBottom=\"35px\"\r\n [maxLength]=\"15\"\r\n ></coer-textbox>\r\n \r\n <!-- Password -->\r\n <coer-textbox\r\n label=\"Password\"\r\n [(ngModel)]=\"password\"\r\n [isLoading]=\"isLoading()\"\r\n marginBottom=\"35px\"\r\n [maxLength]=\"20\"\r\n ></coer-textbox> \r\n \r\n <!-- Login -->\r\n <div class=\"text-center\">\r\n <coer-button\r\n color=\"dark\" \r\n [isDisabled]=\"!enableButton\"\r\n [isLoading]=\"isLoading()\"\r\n (onClick)=\"Login()\"\r\n > Login </coer-button>\r\n </div>\r\n</div>", styles: [".login-container{border:1px solid black;border-radius:25px;min-width:400px;max-width:400px;margin:35px auto auto;padding:35px}.login-container .title{display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:700;color:var(--orange)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "animation", "isLoading", "isDisabled", "isInvisible", "width", "minWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "path", "tooltipPosition", "tooltip"], outputs: ["onClick"] }, { kind: "component", type: i2.CoerTextBox, selector: "coer-textbox", inputs: ["value", "id", "button", "label", "placeholder", "minLength", "maxLength", "showSearchIcon", "showClearIcon", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft", "isInvalid", "isValid", "isDisabled", "isInvisible", "isReadonly", "isLoading", "selectOnFocus", "textPosition"], outputs: ["onKeyupEnter", "onInput", "onClickClear", "onClickButton"] }] }); }
80
+ }
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: LoginPage, decorators: [{
82
+ type: Component,
83
+ args: [{ selector: 'login-page', standalone: false, template: "<div class=\"login-container\">\r\n\r\n <!-- Title -->\r\n <div class=\"title\">\r\n {{ title() }}\r\n </div>\r\n \r\n <!-- User -->\r\n <coer-textbox\r\n label=\"User\"\r\n [(ngModel)]=\"user\"\r\n [isLoading]=\"isLoading()\"\r\n marginTop=\"35px\"\r\n marginBottom=\"35px\"\r\n [maxLength]=\"15\"\r\n ></coer-textbox>\r\n \r\n <!-- Password -->\r\n <coer-textbox\r\n label=\"Password\"\r\n [(ngModel)]=\"password\"\r\n [isLoading]=\"isLoading()\"\r\n marginBottom=\"35px\"\r\n [maxLength]=\"20\"\r\n ></coer-textbox> \r\n \r\n <!-- Login -->\r\n <div class=\"text-center\">\r\n <coer-button\r\n color=\"dark\" \r\n [isDisabled]=\"!enableButton\"\r\n [isLoading]=\"isLoading()\"\r\n (onClick)=\"Login()\"\r\n > Login </coer-button>\r\n </div>\r\n</div>", styles: [".login-container{border:1px solid black;border-radius:25px;min-width:400px;max-width:400px;margin:35px auto auto;padding:35px}.login-container .title{display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:700;color:var(--orange)}\n"] }]
84
+ }] });
85
+
86
+ class COERSystem {
87
+ constructor() {
88
+ //Elements
89
+ this.sidenav = viewChild.required('sidenav');
90
+ //Variables
91
+ this.title = 'COER System';
92
+ //Inputs
93
+ this.appName = input('');
94
+ this.user = input(null);
95
+ this.image = input(null);
96
+ //Outputs
97
+ this.onLogin = output();
98
+ //Generic Tools
99
+ this.IsNotNull = Tools.IsNotNull;
100
+ }
101
+ set navigation(value) {
102
+ if (Tools.IsNotNull(value)) {
103
+ navigationSIGNAL.set(value);
104
+ Tools.Sleep(1000, 'getnavigation').then(() => {
105
+ if (Tools.IsNotNull(this.user())) {
106
+ this.sidenav().SetActiveLink(Menu.GetSelectedOption());
107
+ }
108
+ });
109
+ }
110
+ }
111
+ /** */
112
+ Login(login) {
113
+ this.onLogin.emit(login);
114
+ }
115
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: COERSystem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
116
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: COERSystem, isStandalone: false, selector: "coer-system", inputs: { appName: { classPropertyName: "appName", publicName: "appName", isSignal: true, isRequired: false, transformFunction: null }, user: { classPropertyName: "user", publicName: "user", isSignal: true, isRequired: false, transformFunction: null }, image: { classPropertyName: "image", publicName: "image", isSignal: true, isRequired: false, transformFunction: null }, navigation: { classPropertyName: "navigation", publicName: "navigation", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onLogin: "onLogin" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: ["sidenav"], descendants: true, isSignal: true }], ngImport: i0, template: "@if(IsNotNull(user())) {\r\n <coer-toolbar [appName]=\"appName()\" [user]=\"user()\" [image]=\"image()\" (onClickMenu)=\"sidenav.Toggle()\"></coer-toolbar>\r\n \r\n <coer-sidenav #sidenav> \r\n <section> \r\n <ng-content></ng-content>\r\n </section> \r\n </coer-sidenav>\r\n}\r\n\r\n@else {\r\n <login-page [title]=\"title\" (onLogin)=\"Login($event)\"></login-page>\r\n}\r\n\r\n<coer-alert></coer-alert>", styles: [""], dependencies: [{ kind: "component", type: i2.CoerSidenav, selector: "coer-sidenav", outputs: ["onMenuSelected"] }, { kind: "component", type: i2.CoerToolbar, selector: "coer-toolbar", inputs: ["appName", "user", "image"], outputs: ["onClickMenu", "onClickUser"] }, { kind: "component", type: i2$1.CoerAlert, selector: "coer-alert" }, { kind: "component", type: LoginPage, selector: "login-page", inputs: ["title"], outputs: ["onLogin"] }] }); }
117
+ }
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: COERSystem, decorators: [{
119
+ type: Component,
120
+ args: [{ selector: 'coer-system', standalone: false, template: "@if(IsNotNull(user())) {\r\n <coer-toolbar [appName]=\"appName()\" [user]=\"user()\" [image]=\"image()\" (onClickMenu)=\"sidenav.Toggle()\"></coer-toolbar>\r\n \r\n <coer-sidenav #sidenav> \r\n <section> \r\n <ng-content></ng-content>\r\n </section> \r\n </coer-sidenav>\r\n}\r\n\r\n@else {\r\n <login-page [title]=\"title\" (onLogin)=\"Login($event)\"></login-page>\r\n}\r\n\r\n<coer-alert></coer-alert>" }]
121
+ }], propDecorators: { navigation: [{
122
+ type: Input
123
+ }] } });
124
+
49
125
  const ROUTES = [
50
126
  { path: 'menu', component: CoerMenuPage },
51
127
  { path: 'home', component: HomePage },
@@ -53,20 +129,40 @@ const ROUTES = [
53
129
  ];
54
130
  class PagesModule {
55
131
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: PagesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
56
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: PagesModule, declarations: [CoerMenuPage,
57
- HomePage], imports: [CommonModule, RouterModule, ComponentsModule], exports: [CoerMenuPage,
132
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.1", ngImport: i0, type: PagesModule, declarations: [COERSystem,
133
+ LoginPage,
134
+ CoerMenuPage,
135
+ HomePage], imports: [CommonModule,
136
+ RouterModule,
137
+ FormsModule,
138
+ ComponentsModule,
139
+ CoerAlert], exports: [COERSystem,
140
+ CoerMenuPage,
58
141
  HomePage] }); }
59
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: PagesModule, imports: [CommonModule, RouterModule, ComponentsModule] }); }
142
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: PagesModule, imports: [CommonModule,
143
+ RouterModule,
144
+ FormsModule,
145
+ ComponentsModule,
146
+ CoerAlert] }); }
60
147
  }
61
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: PagesModule, decorators: [{
62
149
  type: NgModule,
63
150
  args: [{
64
- imports: [CommonModule, RouterModule, ComponentsModule],
151
+ imports: [
152
+ CommonModule,
153
+ RouterModule,
154
+ FormsModule,
155
+ ComponentsModule,
156
+ CoerAlert
157
+ ],
65
158
  declarations: [
159
+ COERSystem,
160
+ LoginPage,
66
161
  CoerMenuPage,
67
- HomePage,
162
+ HomePage
68
163
  ],
69
164
  exports: [
165
+ COERSystem,
70
166
  CoerMenuPage,
71
167
  HomePage,
72
168
  ]
@@ -77,5 +173,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
77
173
  * Generated bundle index. Do not edit.
78
174
  */
79
175
 
80
- export { CoerMenuPage, HomePage, PagesModule, ROUTES };
176
+ export { COERSystem, CoerMenuPage, HomePage, PagesModule, ROUTES };
81
177
  //# sourceMappingURL=coer-elements-pages.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"coer-elements-pages.mjs","sources":["../../../projects/coer-elements/pages/lib/coer-menu/coer-menu.component.ts","../../../projects/coer-elements/pages/lib/coer-menu/coer-menu.component.html","../../../projects/coer-elements/pages/lib/home/home.component.ts","../../../projects/coer-elements/pages/lib/home/home.component.html","../../../projects/coer-elements/pages/lib/pages.module.ts","../../../projects/coer-elements/pages/coer-elements-pages.ts"],"sourcesContent":["import { Component, effect, WritableSignal } from '@angular/core'; \r\nimport { Page, Tools } from 'coer-elements/tools'; \r\nimport { menuSelectedSIGNAL } from 'coer-elements/signals';\r\nimport { IMenuSelected } from 'coer-elements/interfaces';\r\n\r\n\r\n@Component({\r\n selector: 'coer-menu-page',\r\n templateUrl: './coer-menu.component.html', \r\n styleUrl: './coer-menu.component.scss',\r\n standalone: false\r\n})\r\nexport class CoerMenuPage extends Page { \r\n \r\n //signals\r\n protected menu: WritableSignal<IMenuSelected | null> = menuSelectedSIGNAL;\r\n\r\n constructor() { \r\n super('coer-menu'); \r\n\r\n effect(() => {\r\n const menu = menuSelectedSIGNAL();\r\n if(Tools.IsNotNull(menu)) this.SetPageFilters({ menu }); \r\n });\r\n } \r\n\r\n\r\n /** */\r\n protected override RunPage() {\r\n if (Tools.IsNotNull(this.pageFilters) && Tools.IsNotNull(this.pageFilters.menu)) { \r\n menuSelectedSIGNAL.set(this.pageFilters.menu); \r\n this.SetPageName(this.pageFilters.menu.label);\r\n } \r\n } \r\n}","<!-- Title -->\r\n<coer-page-title\r\n title=\"Menu\"\r\n [breadcrumbs]=\"breadcrumbs\"\r\n [goBack]=\"goBack\"\r\n></coer-page-title>\r\n\r\n@if(IsNotNull(menu())) {\r\n <div class=\"flex-wrap-left fade-in\">\r\n @for(page of menu()!.items; track page.id) { \r\n <a [routerLink]=\"(page.path!.length > 0) ? page.path : null\" class=\"flex-wrap-item\">\r\n @if(IsNotOnlyWhiteSpace(page?.icon)) {\r\n <i [class]=\"page!.icon\"></i>\r\n }\r\n <span> {{ page.label }} </span>\r\n </a>\r\n }\r\n </div>\r\n}","import { Component } from '@angular/core'; \r\nimport { Page } from 'coer-elements/tools'; \r\n\r\n\r\n@Component({\r\n selector: 'home-page',\r\n templateUrl: './home.component.html', \r\n styleUrl: './home.component.scss',\r\n standalone: false\r\n})\r\nexport class HomePage extends Page { \r\n\r\n constructor() { \r\n super('home'); \r\n } \r\n}","<!-- Title -->\r\n<coer-page-title\r\n title=\"Home\"\r\n [breadcrumbs]=\"breadcrumbs\"\r\n [goBack]=\"goBack\"\r\n></coer-page-title> \r\n\r\n<section class=\"coer-container\">\r\n\r\n</section>","import { NgModule } from '@angular/core'; \r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n//Pages \r\nimport { CoerMenuPage } from './coer-menu/coer-menu.component';\r\nimport { ComponentsModule } from 'coer-elements/components';\r\nimport { HomePage } from './home/home.component';\r\n\r\nexport const ROUTES: any = [ \r\n { path: 'menu', component: CoerMenuPage },\r\n { path: 'home', component: HomePage },\r\n { path: '**', redirectTo: 'home' } \r\n];\r\n\r\n@NgModule({ \r\n imports: [CommonModule, RouterModule, ComponentsModule],\r\n declarations: [\r\n CoerMenuPage,\r\n HomePage,\r\n ],\r\n exports: [ \r\n CoerMenuPage,\r\n HomePage,\r\n ]\r\n})\r\nexport class PagesModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"coer-elements-pages.mjs","sources":["../../../projects/coer-elements/pages/lib/coer-menu/coer-menu.component.ts","../../../projects/coer-elements/pages/lib/coer-menu/coer-menu.component.html","../../../projects/coer-elements/pages/lib/home/home.component.ts","../../../projects/coer-elements/pages/lib/home/home.component.html","../../../projects/coer-elements/pages/lib/coer-system/login/login.component.ts","../../../projects/coer-elements/pages/lib/coer-system/login/login.component.html","../../../projects/coer-elements/pages/lib/coer-system/coer-system.component.ts","../../../projects/coer-elements/pages/lib/coer-system/coer-system.component.html","../../../projects/coer-elements/pages/lib/pages.module.ts","../../../projects/coer-elements/pages/coer-elements-pages.ts"],"sourcesContent":["import { Component, effect, WritableSignal } from '@angular/core'; \r\nimport { Page, Tools } from 'coer-elements/tools'; \r\nimport { menuSelectedSIGNAL } from 'coer-elements/signals';\r\nimport { IMenuSelected } from 'coer-elements/interfaces';\r\n\r\n\r\n@Component({\r\n selector: 'coer-menu-page',\r\n templateUrl: './coer-menu.component.html', \r\n styleUrl: './coer-menu.component.scss',\r\n standalone: false\r\n})\r\nexport class CoerMenuPage extends Page { \r\n \r\n //signals\r\n protected menu: WritableSignal<IMenuSelected | null> = menuSelectedSIGNAL;\r\n\r\n constructor() { \r\n super('coer-menu'); \r\n\r\n effect(() => {\r\n const menu = menuSelectedSIGNAL();\r\n if(Tools.IsNotNull(menu)) this.SetPageFilters({ menu }); \r\n });\r\n } \r\n\r\n\r\n /** */\r\n protected override RunPage() {\r\n if (Tools.IsNotNull(this.pageFilters) && Tools.IsNotNull(this.pageFilters.menu)) { \r\n menuSelectedSIGNAL.set(this.pageFilters.menu); \r\n this.SetPageName(this.pageFilters.menu.label);\r\n } \r\n } \r\n}","<!-- Title -->\r\n<coer-page-title\r\n title=\"Menu\"\r\n [breadcrumbs]=\"breadcrumbs\"\r\n [goBack]=\"goBack\"\r\n></coer-page-title>\r\n\r\n@if(IsNotNull(menu())) {\r\n <div class=\"flex-wrap-left fade-in\">\r\n @for(page of menu()!.items; track page.id) { \r\n <a [routerLink]=\"(page.path!.length > 0) ? page.path : null\" class=\"flex-wrap-item\">\r\n @if(IsNotOnlyWhiteSpace(page?.icon)) {\r\n <i [class]=\"page!.icon\"></i>\r\n }\r\n <span> {{ page.label }} </span>\r\n </a>\r\n }\r\n </div>\r\n}","import { Component } from '@angular/core'; \r\nimport { Page } from 'coer-elements/tools'; \r\n\r\n\r\n@Component({\r\n selector: 'home-page',\r\n templateUrl: './home.component.html', \r\n styleUrl: './home.component.scss',\r\n standalone: false\r\n})\r\nexport class HomePage extends Page { \r\n\r\n constructor() { \r\n super('home'); \r\n } \r\n}","<!-- Title -->\r\n<coer-page-title\r\n title=\"Home\"\r\n [breadcrumbs]=\"breadcrumbs\"\r\n [goBack]=\"goBack\"\r\n></coer-page-title> \r\n\r\n<section class=\"coer-container\">\r\n\r\n</section>","import { Component, input, output, WritableSignal } from '@angular/core'; \r\nimport { ILogin } from 'coer-elements/interfaces';\r\nimport { isLoadingSIGNAL } from 'coer-elements/signals';\r\nimport { Tools } from 'coer-elements/tools';\r\n\r\n\r\n@Component({\r\n selector: 'login-page',\r\n templateUrl: './login.component.html', \r\n styleUrl: './login.component.scss',\r\n standalone: false\r\n})\r\nexport class LoginPage { \r\n\r\n //Signals\r\n protected isLoading: WritableSignal<boolean> = isLoadingSIGNAL;\r\n\r\n //Inputs \r\n public title = input<string>(''); \r\n protected user: string = 'Chris';\r\n protected password: string = '123456';\r\n\r\n //Outputs \r\n public onLogin = output<ILogin>();\r\n\r\n //Generic Tools\r\n protected IsNotOnlyWhiteSpace = Tools.IsNotOnlyWhiteSpace; \r\n\r\n //getter\r\n protected get enableButton() {\r\n return Tools.IsNotOnlyWhiteSpace(this.user)\r\n && Tools.IsNotOnlyWhiteSpace(this.password)\r\n && this.password.length >= 6\r\n }\r\n\r\n \r\n /** */\r\n protected Login() {\r\n this.onLogin.emit({ \r\n user: this.user, \r\n password: this.password \r\n });\r\n }\r\n}","<div class=\"login-container\">\r\n\r\n <!-- Title -->\r\n <div class=\"title\">\r\n {{ title() }}\r\n </div>\r\n \r\n <!-- User -->\r\n <coer-textbox\r\n label=\"User\"\r\n [(ngModel)]=\"user\"\r\n [isLoading]=\"isLoading()\"\r\n marginTop=\"35px\"\r\n marginBottom=\"35px\"\r\n [maxLength]=\"15\"\r\n ></coer-textbox>\r\n \r\n <!-- Password -->\r\n <coer-textbox\r\n label=\"Password\"\r\n [(ngModel)]=\"password\"\r\n [isLoading]=\"isLoading()\"\r\n marginBottom=\"35px\"\r\n [maxLength]=\"20\"\r\n ></coer-textbox> \r\n \r\n <!-- Login -->\r\n <div class=\"text-center\">\r\n <coer-button\r\n color=\"dark\" \r\n [isDisabled]=\"!enableButton\"\r\n [isLoading]=\"isLoading()\"\r\n (onClick)=\"Login()\"\r\n > Login </coer-button>\r\n </div>\r\n</div>","import { Component, Input, input, output, viewChild } from '@angular/core'; \r\nimport { navigationSIGNAL } from 'coer-elements/signals';\r\nimport { ILogin, IMenu } from 'coer-elements/interfaces';\r\nimport { CoerSidenav } from 'coer-elements/components';\r\nimport { Menu, Tools } from 'coer-elements/tools';\r\n\r\n@Component({\r\n selector: 'coer-system',\r\n templateUrl: './coer-system.component.html', \r\n styleUrl: './coer-system.component.scss', \r\n standalone: false\r\n})\r\nexport class COERSystem { \r\n\r\n //Elements\r\n protected sidenav = viewChild.required<CoerSidenav>('sidenav');\r\n\r\n //Variables\r\n protected title: string = 'COER System'; \r\n\r\n //Inputs\r\n public appName = input<string>(''); \r\n public user = input<any>(null); \r\n public image = input<string | null>(null); \r\n\r\n @Input() set navigation(value: IMenu[]) {\r\n if(Tools.IsNotNull(value)) {\r\n navigationSIGNAL.set(value); \r\n \r\n Tools.Sleep(1000, 'getnavigation').then(() => { \r\n if (Tools.IsNotNull(this.user())) {\r\n this.sidenav().SetActiveLink(Menu.GetSelectedOption());\r\n }\r\n }); \r\n } \r\n }\r\n\r\n\r\n //Outputs \r\n public onLogin = output<ILogin>();\r\n\r\n //Generic Tools\r\n protected IsNotNull = Tools.IsNotNull;\r\n\r\n /** */\r\n protected Login(login: ILogin) {\r\n this.onLogin.emit(login); \r\n }\r\n}","@if(IsNotNull(user())) {\r\n <coer-toolbar [appName]=\"appName()\" [user]=\"user()\" [image]=\"image()\" (onClickMenu)=\"sidenav.Toggle()\"></coer-toolbar>\r\n \r\n <coer-sidenav #sidenav> \r\n <section> \r\n <ng-content></ng-content>\r\n </section> \r\n </coer-sidenav>\r\n}\r\n\r\n@else {\r\n <login-page [title]=\"title\" (onLogin)=\"Login($event)\"></login-page>\r\n}\r\n\r\n<coer-alert></coer-alert>","import { NgModule } from '@angular/core'; \r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n//Pages \r\nimport { CoerMenuPage } from './coer-menu/coer-menu.component';\r\nimport { ComponentsModule } from 'coer-elements/components';\r\nimport { HomePage } from './home/home.component';\r\nimport { COERSystem } from './coer-system/coer-system.component';\r\nimport { LoginPage } from './coer-system/login/login.component';\r\nimport { CoerAlert } from 'coer-elements/tools';\r\n\r\nexport const ROUTES: any = [ \r\n { path: 'menu', component: CoerMenuPage },\r\n { path: 'home', component: HomePage },\r\n { path: '**', redirectTo: 'home' } \r\n];\r\n\r\n@NgModule({ \r\n imports: [\r\n CommonModule, \r\n RouterModule, \r\n FormsModule, \r\n ComponentsModule, \r\n CoerAlert\r\n ],\r\n declarations: [\r\n COERSystem,\r\n LoginPage,\r\n CoerMenuPage,\r\n HomePage\r\n ],\r\n exports: [ \r\n COERSystem, \r\n CoerMenuPage,\r\n HomePage,\r\n ]\r\n})\r\nexport class PagesModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.LoginPage"],"mappings":"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"}
@@ -477,21 +477,23 @@ class CoerAlert {
477
477
  }
478
478
  /** */
479
479
  SetIcon(element, icon) {
480
- for (const item of [...element.classList.value.split(' ')]) {
481
- if (item.length > 0) {
482
- element.classList.remove(item);
483
- element.classList.remove('q');
480
+ if (icon.toUpperCase() != 'NONE') {
481
+ for (const item of [...element.classList.value.split(' ')]) {
482
+ if (item.length > 0) {
483
+ element.classList.remove(item);
484
+ element.classList.remove('q');
485
+ }
484
486
  }
485
- }
486
- icon = icon.trim();
487
- const hasWhiteSpaces = / /;
488
- if (hasWhiteSpaces.test(icon)) {
489
- const classes = icon.split(' ');
490
- for (const icon of classes)
487
+ icon = icon.trim();
488
+ const hasWhiteSpaces = / /;
489
+ if (hasWhiteSpaces.test(icon)) {
490
+ const classes = icon.split(' ');
491
+ for (const icon of classes)
492
+ element.classList.add(icon);
493
+ }
494
+ else
491
495
  element.classList.add(icon);
492
496
  }
493
- else
494
- element.classList.add(icon);
495
497
  }
496
498
  /** */
497
499
  SetAutoHide(element, autohide) {
@@ -825,6 +827,58 @@ class Files {
825
827
  }
826
828
  }
827
829
 
830
+ class User {
831
+ static { this.storage = 'COER-System'; }
832
+ /** */
833
+ static Set(user, jwt) {
834
+ let storage = sessionStorage.getItem(this.storage);
835
+ user = Object.assign({}, user, { jwt });
836
+ if (storage) {
837
+ storage = JSON.parse(storage);
838
+ storage = Object.assign({}, storage, { user });
839
+ }
840
+ else {
841
+ storage = Object.assign({}, storage, { user });
842
+ }
843
+ sessionStorage.setItem(this.storage, JSON.stringify(storage));
844
+ }
845
+ /** */
846
+ static Get() {
847
+ let storage = sessionStorage.getItem(this.storage);
848
+ if (storage) {
849
+ storage = JSON.parse(storage);
850
+ if (storage.hasOwnProperty('user')) {
851
+ return storage.user;
852
+ }
853
+ }
854
+ return null;
855
+ }
856
+ /** */
857
+ static GetJWT() {
858
+ let storage = sessionStorage.getItem(this.storage);
859
+ if (storage) {
860
+ storage = JSON.parse(storage);
861
+ if (storage.hasOwnProperty('user')) {
862
+ return storage?.user?.jwt || null;
863
+ }
864
+ }
865
+ return null;
866
+ }
867
+ /** */
868
+ static LogIn() {
869
+ let storage = sessionStorage.getItem(this.storage);
870
+ storage = JSON.parse(storage);
871
+ return Tools.IsNotOnlyWhiteSpace(storage)
872
+ && Tools.IsNotNull(storage?.user)
873
+ && Tools.IsNotOnlyWhiteSpace(storage?.user?.jwt);
874
+ }
875
+ /** */
876
+ static LogOut() {
877
+ document.location.href = '/';
878
+ sessionStorage.removeItem(this.storage);
879
+ }
880
+ }
881
+
828
882
  class Filters {
829
883
  static { this.storage = 'COER-System'; }
830
884
  /** */
@@ -1674,5 +1728,5 @@ class Service {
1674
1728
  * Generated bundle index. Do not edit.
1675
1729
  */
1676
1730
 
1677
- export { Breadcrumbs, CONTROL_VALUE, CoerAlert, Colors, ControlValue, DateTime, Files, Filters, GridTemplates, Menu, Page, Screen, Section, Service, Source, Tools };
1731
+ export { Breadcrumbs, CONTROL_VALUE, CoerAlert, Colors, ControlValue, DateTime, Files, Filters, GridTemplates, Menu, Page, Screen, Section, Service, Source, Tools, User };
1678
1732
  //# sourceMappingURL=coer-elements-tools.mjs.map