diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index 77b3745..0000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 - "recommendations": ["angular.ng-template"] -} diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 925af83..0000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "ng serve", - "type": "chrome", - "request": "launch", - "preLaunchTask": "npm: start", - "url": "http://localhost:4200/" - }, - { - "name": "ng test", - "type": "chrome", - "request": "launch", - "preLaunchTask": "npm: test", - "url": "http://localhost:9876/debug.html" - } - ] -} diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index a298b5b..0000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 - "version": "2.0.0", - "tasks": [ - { - "type": "npm", - "script": "start", - "isBackground": true, - "problemMatcher": { - "owner": "typescript", - "pattern": "$tsc", - "background": { - "activeOnStart": true, - "beginsPattern": { - "regexp": "(.*?)" - }, - "endsPattern": { - "regexp": "bundle generation complete" - } - } - } - }, - { - "type": "npm", - "script": "test", - "isBackground": true, - "problemMatcher": { - "owner": "typescript", - "pattern": "$tsc", - "background": { - "activeOnStart": true, - "beginsPattern": { - "regexp": "(.*?)" - }, - "endsPattern": { - "regexp": "bundle generation complete" - } - } - } - } - ] -} diff --git a/angular.json b/angular.json index 826298d..6874a9c 100644 --- a/angular.json +++ b/angular.json @@ -1,102 +1,102 @@ { - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "version": 1, - "newProjectRoot": "projects", - "projects": { - "sakai-ng": { - "projectType": "application", - "schematics": { - "@schematics/angular:component": { - "style": "scss" - } - }, - "root": "", - "sourceRoot": "src", - "prefix": "app", - "architect": { - "build": { - "builder": "@angular-devkit/build-angular:application", - "options": { - "outputPath": "dist/sakai-ng", - "index": "src/index.html", - "browser": "src/main.ts", - "polyfills": [ - "zone.js" - ], - "tsConfig": "tsconfig.app.json", - "inlineStyleLanguage": "scss", - "assets": [ - { - "glob": "**/*", - "input": "public" - } - ], - "styles": [ - "src/styles.scss" - ], - "scripts": [] - }, - "configurations": { - "production": { - "budgets": [ - { - "type": "initial", - "maximumWarning": "1mb", - "maximumError": "5mb" - }, - { - "type": "anyComponentStyle", - "maximumWarning": "2kb", - "maximumError": "4kb" + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "sakai-ng": { + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss" } - ], - "outputHashing": "all" }, - "development": { - "optimization": false, - "extractLicenses": false, - "sourceMap": true + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:application", + "options": { + "outputPath": "dist/sakai-ng", + "index": "src/index.html", + "browser": "src/main.ts", + "polyfills": [ + "zone.js" + ], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "1mb", + "maximumError": "5mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "sakai-ng:build:production" + }, + "development": { + "buildTarget": "sakai-ng:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n" + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "polyfills": [ + "zone.js", + "zone.js/testing" + ], + "tsConfig": "tsconfig.spec.json", + "inlineStyleLanguage": "scss", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [] + } + } } - }, - "defaultConfiguration": "production" - }, - "serve": { - "builder": "@angular-devkit/build-angular:dev-server", - "configurations": { - "production": { - "buildTarget": "sakai-ng:build:production" - }, - "development": { - "buildTarget": "sakai-ng:build:development" - } - }, - "defaultConfiguration": "development" - }, - "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n" - }, - "test": { - "builder": "@angular-devkit/build-angular:karma", - "options": { - "polyfills": [ - "zone.js", - "zone.js/testing" - ], - "tsConfig": "tsconfig.spec.json", - "inlineStyleLanguage": "scss", - "assets": [ - { - "glob": "**/*", - "input": "public" - } - ], - "styles": [ - "src/styles.scss" - ], - "scripts": [] - } } - } } - } -} +} \ No newline at end of file diff --git a/package.json b/package.json index 85bddd8..017ef6f 100644 --- a/package.json +++ b/package.json @@ -1,53 +1,54 @@ { - "name": "sakai-ng", - "version": "19.0.0", - "scripts": { - "ng": "ng", - "start": "ng serve", - "build": "ng build", - "watch": "ng build --watch --configuration development", - "test": "ng test" - }, - "private": true, - "dependencies": { - "@angular/animations": "^19.0.0", - "@angular/common": "^19.0.0", - "@angular/compiler": "^19.0.0", - "@angular/core": "^19.0.0", - "@angular/forms": "^19.0.0", - "@angular/platform-browser": "^19.0.0", - "@angular/platform-browser-dynamic": "^19.0.0", - "@angular/router": "^19.0.0", - "@primeng/themes": "^19.0.2", - "chart.js": "4.4.2", - "primeclt": "^0.1.5", - "primeicons": "^7.0.0", - "primeng": "^19.0.2", - "rxjs": "~7.8.0", - "tailwindcss-primeui": "^0.3.2", - "tslib": "^2.3.0", - "zone.js": "~0.15.0" - }, - "devDependencies": { - "@angular-devkit/build-angular": "^19.0.6", - "@angular/cli": "^19.0.6", - "@angular/compiler-cli": "^19.0.0", - "@types/jasmine": "~5.1.0", - "autoprefixer": "^10.4.20", - "eslint": "^9.14.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-prefer-arrow": "^1.2.3", - "eslint-plugin-prettier": "^4.2.1", - "jasmine-core": "~5.4.0", - "karma": "~6.4.0", - "karma-chrome-launcher": "~3.2.0", - "karma-coverage": "~2.2.0", - "karma-jasmine": "~5.1.0", - "karma-jasmine-html-reporter": "~2.1.0", - "postcss": "^8.4.49", - "prettier": "^3.0.0", - "tailwindcss": "^3.4.17", - "typescript": "~5.6.2" - } + "name": "sakai-ng", + "version": "19.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "format": "prettier --write \"**/*.{js,mjs,ts,mts,d.ts,html}\" --cache", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/animations": "^19.0.0", + "@angular/common": "^19.0.0", + "@angular/compiler": "^19.0.0", + "@angular/core": "^19.0.0", + "@angular/forms": "^19.0.0", + "@angular/platform-browser": "^19.0.0", + "@angular/platform-browser-dynamic": "^19.0.0", + "@angular/router": "^19.0.0", + "@primeng/themes": "^19.0.2", + "chart.js": "4.4.2", + "primeclt": "^0.1.5", + "primeicons": "^7.0.0", + "primeng": "^19.0.2", + "rxjs": "~7.8.0", + "tailwindcss-primeui": "^0.3.2", + "tslib": "^2.3.0", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^19.0.6", + "@angular/cli": "^19.0.6", + "@angular/compiler-cli": "^19.0.0", + "@types/jasmine": "~5.1.0", + "autoprefixer": "^10.4.20", + "eslint": "^9.14.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-prefer-arrow": "^1.2.3", + "eslint-plugin-prettier": "^4.2.1", + "jasmine-core": "~5.4.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "postcss": "^8.4.49", + "prettier": "^3.0.0", + "tailwindcss": "^3.4.17", + "typescript": "~5.6.2" + } } diff --git a/src/app.component.ts b/src/app.component.ts index 88170e8..e124abf 100644 --- a/src/app.component.ts +++ b/src/app.component.ts @@ -1,10 +1,10 @@ import { Component } from '@angular/core'; -import {RouterModule} from '@angular/router'; +import { RouterModule } from '@angular/router'; @Component({ selector: 'app-root', standalone: true, imports: [RouterModule], - template:``, + template: `` }) export class AppComponent {} diff --git a/src/app.config.ts b/src/app.config.ts index 28f3188..98c7523 100644 --- a/src/app.config.ts +++ b/src/app.config.ts @@ -11,6 +11,6 @@ export const appConfig: ApplicationConfig = { provideRouter(appRoutes, withInMemoryScrolling({ anchorScrolling: 'enabled', scrollPositionRestoration: 'enabled' }), withEnabledBlockingInitialNavigation()), provideHttpClient(withFetch()), provideAnimationsAsync(), - providePrimeNG({ theme: {preset: Aura, options: { darkModeSelector: '.app-dark'}}, ripple: false, inputStyle: 'outlined' }) + providePrimeNG({ theme: { preset: Aura, options: { darkModeSelector: '.app-dark' } }, ripple: false, inputStyle: 'outlined' }) ] }; diff --git a/src/app.routes.ts b/src/app.routes.ts index adb32ec..041c2ea 100644 --- a/src/app.routes.ts +++ b/src/app.routes.ts @@ -19,5 +19,5 @@ export const appRoutes: Routes = [ { path: 'landing', component: Landing }, { path: 'notfound', component: Notfound }, { path: 'auth', loadChildren: () => import('./app/pages/auth/auth.routes') }, - { path: '**', redirectTo: '/notfound' }, + { path: '**', redirectTo: '/notfound' } ]; diff --git a/src/app/layout/core/app.configurator.ts b/src/app/layout/core/app.configurator.ts index cf90bd7..770f72b 100644 --- a/src/app/layout/core/app.configurator.ts +++ b/src/app/layout/core/app.configurator.ts @@ -2,13 +2,13 @@ import { CommonModule, isPlatformBrowser } from '@angular/common'; import { Component, computed, inject, PLATFORM_ID } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { $t, updatePreset, updateSurfacePalette } from '@primeng/themes'; -import Aura from '@primeng/themes/aura'; -import Lara from '@primeng/themes/lara'; -import Material from '@primeng/themes/material'; -import Nora from '@primeng/themes/nora'; import { PrimeNG } from 'primeng/config'; import { SelectButtonModule } from 'primeng/selectbutton'; import { LayoutService } from '../service/layout.service'; +import Aura from '@primeng/themes/aura'; +import Material from '@primeng/themes/material'; +import Lara from '@primeng/themes/lara'; +import Nora from '@primeng/themes/nora'; const presets = { Aura, diff --git a/src/app/layout/core/app.floatingconfigurator.ts b/src/app/layout/core/app.floatingconfigurator.ts index f06fb0c..a7cf963 100644 --- a/src/app/layout/core/app.floatingconfigurator.ts +++ b/src/app/layout/core/app.floatingconfigurator.ts @@ -2,30 +2,20 @@ import { Component, computed, inject } from '@angular/core'; import { ButtonModule } from 'primeng/button'; import { StyleClassModule } from 'primeng/styleclass'; import { AppConfigurator } from './app.configurator'; -import { LayoutService} from '../service/layout.service'; +import { LayoutService } from '../service/layout.service'; @Component({ - selector: 'app-floating-configurator', - imports: [ButtonModule, StyleClassModule, AppConfigurator], - template: ` -
- -
- - -
-
- `, + selector: 'app-floating-configurator', + imports: [ButtonModule, StyleClassModule, AppConfigurator], + template: ` +
+ +
+ + +
+
+ ` }) export class AppFloatingConfigurator { LayoutService = inject(LayoutService); diff --git a/src/app/layout/core/app.footer.ts b/src/app/layout/core/app.footer.ts index 6b70676..5548818 100644 --- a/src/app/layout/core/app.footer.ts +++ b/src/app/layout/core/app.footer.ts @@ -1,11 +1,11 @@ import { Component } from '@angular/core'; @Component({ - standalone:true, + standalone: true, selector: 'app-footer', template: ``, + ` }) export class AppFooter {} diff --git a/src/app/layout/core/app.menu.ts b/src/app/layout/core/app.menu.ts index 61324b3..ae77ce7 100644 --- a/src/app/layout/core/app.menu.ts +++ b/src/app/layout/core/app.menu.ts @@ -6,22 +6,16 @@ import { AppMenuitem } from './app.menuitem'; @Component({ selector: 'app-menu', - standalone:true, - imports: [ - CommonModule, - AppMenuitem, - RouterModule - ], + standalone: true, + imports: [CommonModule, AppMenuitem, RouterModule], template: ` - `, + ` }) export class AppMenu { - model: MenuItem[] = []; ngOnInit() { @@ -35,19 +29,19 @@ export class AppMenu { items: [ { label: 'Form Layout', icon: 'pi pi-fw pi-id-card', routerLink: ['/uikit/formlayout'] }, { label: 'Input', icon: 'pi pi-fw pi-check-square', routerLink: ['/uikit/input'] }, - { label: 'Button', icon: 'pi pi-fw pi-mobile', class: 'rotated-icon', routerLink: ['/uikit/button'] }, - { label: 'Table', icon: 'pi pi-fw pi-table', routerLink: ['/uikit/table'] }, - { label: 'List', icon: 'pi pi-fw pi-list', routerLink: ['/uikit/list'] }, + { label: 'Button', icon: 'pi pi-fw pi-mobile', class: 'rotated-icon', routerLink: ['/uikit/button'] }, + { label: 'Table', icon: 'pi pi-fw pi-table', routerLink: ['/uikit/table'] }, + { label: 'List', icon: 'pi pi-fw pi-list', routerLink: ['/uikit/list'] }, { label: 'Tree', icon: 'pi pi-fw pi-share-alt', routerLink: ['/uikit/tree'] }, - { label: 'Panel', icon: 'pi pi-fw pi-tablet', routerLink: ['/uikit/panel'] }, - { label: 'Overlay', icon: 'pi pi-fw pi-clone', routerLink: ['/uikit/overlay'] }, - { label: 'Media', icon: 'pi pi-fw pi-image', routerLink: ['/uikit/media'] }, - { label: 'Menu', icon: 'pi pi-fw pi-bars', routerLink: ['/uikit/menu'] }, - { label: 'Message', icon: 'pi pi-fw pi-comment', routerLink: ['/uikit/message'] }, - { label: 'File', icon: 'pi pi-fw pi-file', routerLink: ['/uikit/file'] }, - { label: 'Chart', icon: 'pi pi-fw pi-chart-bar', routerLink: ['/uikit/charts'] }, - { label: 'Timeline', icon: 'pi pi-fw pi-calendar', routerLink: ['/uikit/timeline'] }, - { label: 'Misc', icon: 'pi pi-fw pi-circle', routerLink: ['/uikit/misc'] } + { label: 'Panel', icon: 'pi pi-fw pi-tablet', routerLink: ['/uikit/panel'] }, + { label: 'Overlay', icon: 'pi pi-fw pi-clone', routerLink: ['/uikit/overlay'] }, + { label: 'Media', icon: 'pi pi-fw pi-image', routerLink: ['/uikit/media'] }, + { label: 'Menu', icon: 'pi pi-fw pi-bars', routerLink: ['/uikit/menu'] }, + { label: 'Message', icon: 'pi pi-fw pi-comment', routerLink: ['/uikit/message'] }, + { label: 'File', icon: 'pi pi-fw pi-file', routerLink: ['/uikit/file'] }, + { label: 'Chart', icon: 'pi pi-fw pi-chart-bar', routerLink: ['/uikit/charts'] }, + { label: 'Timeline', icon: 'pi pi-fw pi-calendar', routerLink: ['/uikit/timeline'] }, + { label: 'Misc', icon: 'pi pi-fw pi-circle', routerLink: ['/uikit/misc'] } ] }, { diff --git a/src/app/layout/core/app.menuitem.ts b/src/app/layout/core/app.menuitem.ts index f770224..3b70b84 100644 --- a/src/app/layout/core/app.menuitem.ts +++ b/src/app/layout/core/app.menuitem.ts @@ -5,7 +5,7 @@ import { Subscription } from 'rxjs'; import { filter } from 'rxjs/operators'; import { CommonModule } from '@angular/common'; import { RippleModule } from 'primeng/ripple'; -import { MenuItem} from 'primeng/api'; +import { MenuItem } from 'primeng/api'; import { LayoutService } from '../service/layout.service'; @Component({ @@ -13,46 +13,63 @@ import { LayoutService } from '../service/layout.service'; selector: '[app-menuitem]', imports: [CommonModule, RouterModule, RippleModule], template: ` - -
{{item.label}}
- - - {{item.label}} - - - - - {{item.label}} - - + +
{{ item.label }}
+ + + {{ item.label }} + + + + + {{ item.label }} + + - -
+ +
`, animations: [ trigger('children', [ - state('collapsed', style({ - height: '0' - })), - state('expanded', style({ - height: '*' - })), + state( + 'collapsed', + style({ + height: '0' + }) + ), + state( + 'expanded', + style({ + height: '*' + }) + ), transition('collapsed <=> expanded', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')) ]) ], - providers: [LayoutService], + providers: [LayoutService] }) export class AppMenuitem { - @Input() item!: MenuItem; @Input() index!: number; @@ -67,15 +84,17 @@ export class AppMenuitem { menuResetSubscription: Subscription; - key: string = ""; + key: string = ''; - constructor(public router: Router, private layoutService: LayoutService) { - this.menuSourceSubscription = this.layoutService.menuSource$.subscribe(value => { + constructor( + public router: Router, + private layoutService: LayoutService + ) { + this.menuSourceSubscription = this.layoutService.menuSource$.subscribe((value) => { Promise.resolve(null).then(() => { if (value.routeEvent) { - this.active = (value.key === this.key || value.key.startsWith(this.key + '-')) ? true : false; - } - else { + this.active = value.key === this.key || value.key.startsWith(this.key + '-') ? true : false; + } else { if (value.key !== this.key && !value.key.startsWith(this.key + '-')) { this.active = false; } @@ -87,12 +106,11 @@ export class AppMenuitem { this.active = false; }); - this.router.events.pipe(filter(event => event instanceof NavigationEnd)) - .subscribe(params => { - if (this.item.routerLink) { - this.updateActiveStateFromRoute(); - } - }); + this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((params) => { + if (this.item.routerLink) { + this.updateActiveStateFromRoute(); + } + }); } ngOnInit() { @@ -132,7 +150,7 @@ export class AppMenuitem { } get submenuAnimation() { - return this.root ? 'expanded' : (this.active ? 'expanded' : 'collapsed'); + return this.root ? 'expanded' : this.active ? 'expanded' : 'collapsed'; } @HostBinding('class.active-menuitem') diff --git a/src/app/layout/core/app.sidebar.ts b/src/app/layout/core/app.sidebar.ts index 87c41f8..0aba02f 100644 --- a/src/app/layout/core/app.sidebar.ts +++ b/src/app/layout/core/app.sidebar.ts @@ -3,14 +3,11 @@ import { AppMenu } from './app.menu'; @Component({ selector: 'app-sidebar', - standalone:true, - imports: [ - AppMenu - ], - template: ` -
+ standalone: true, + imports: [AppMenu], + template: `
-
`, +
` }) export class AppSidebar { constructor(public el: ElementRef) {} diff --git a/src/app/layout/core/app.topbar.ts b/src/app/layout/core/app.topbar.ts index 32d1617..ccbd633 100644 --- a/src/app/layout/core/app.topbar.ts +++ b/src/app/layout/core/app.topbar.ts @@ -58,15 +58,7 @@ import { LayoutService } from '../service/layout.service'; - @@ -90,7 +82,6 @@ import { LayoutService } from '../service/layout.service'; ` }) export class AppTopbar { - items!: MenuItem[]; constructor(public layoutService: LayoutService) {} @@ -98,5 +89,4 @@ export class AppTopbar { toggleDarkMode() { this.layoutService.layoutConfig.update((state) => ({ ...state, darkTheme: !state.darkTheme })); } - } diff --git a/src/app/pages/auth/access.ts b/src/app/pages/auth/access.ts index e328da5..223090d 100644 --- a/src/app/pages/auth/access.ts +++ b/src/app/pages/auth/access.ts @@ -1,39 +1,32 @@ import { Component } from '@angular/core'; -import {ButtonModule} from 'primeng/button'; -import {RouterModule} from '@angular/router'; -import {RippleModule} from 'primeng/ripple'; +import { ButtonModule } from 'primeng/button'; +import { RouterModule } from '@angular/router'; +import { RippleModule } from 'primeng/ripple'; import { AppFloatingConfigurator } from '../../layout/core/app.floatingconfigurator'; @Component({ selector: 'app-access', - standalone: true, - imports: [ - ButtonModule, - RouterModule, - RippleModule, - AppFloatingConfigurator, - ButtonModule, - ], - template: ` - -
-
-
-
-
-
- -
-

Access Denied

- You do not have the necessary permisions. Please contact admins. - Access denied -
- -
-
-
-
-
-
` + standalone: true, + imports: [ButtonModule, RouterModule, RippleModule, AppFloatingConfigurator, ButtonModule], + template: ` +
+
+
+
+
+
+ +
+

Access Denied

+ You do not have the necessary permisions. Please contact admins. + Access denied +
+ +
+
+
+
+
+
` }) -export class Access { } +export class Access {} diff --git a/src/app/pages/auth/auth.routes.ts b/src/app/pages/auth/auth.routes.ts index 8f6fff1..c1a6fc2 100644 --- a/src/app/pages/auth/auth.routes.ts +++ b/src/app/pages/auth/auth.routes.ts @@ -4,7 +4,7 @@ import { Login } from './login'; import { Error } from './error'; export default [ - { path: 'access', component: Access}, - { path: 'error', component: Error}, - { path: 'login', component: Login}, + { path: 'access', component: Access }, + { path: 'error', component: Error }, + { path: 'login', component: Login } ] as Routes; diff --git a/src/app/pages/auth/error.ts b/src/app/pages/auth/error.ts index ec8b34c..e5d7393 100644 --- a/src/app/pages/auth/error.ts +++ b/src/app/pages/auth/error.ts @@ -1,33 +1,32 @@ import { Component } from '@angular/core'; -import {ButtonModule} from 'primeng/button'; -import {RippleModule} from 'primeng/ripple'; -import {RouterModule} from '@angular/router'; +import { ButtonModule } from 'primeng/button'; +import { RippleModule } from 'primeng/ripple'; +import { RouterModule } from '@angular/router'; import { AppFloatingConfigurator } from '../../layout/core/app.floatingconfigurator'; @Component({ selector: 'app-error', - imports: [ButtonModule, RippleModule, RouterModule, AppFloatingConfigurator, ButtonModule], - standalone: true, - template: ` - -
-
-
-
-
-
- -
-

Error Occured

- Requested resource is not available. - Error -
- -
-
-
-
-
-
` + imports: [ButtonModule, RippleModule, RouterModule, AppFloatingConfigurator, ButtonModule], + standalone: true, + template: ` +
+
+
+
+
+
+ +
+

Error Occured

+ Requested resource is not available. + Error +
+ +
+
+
+
+
+
` }) -export class Error { } +export class Error {} diff --git a/src/app/pages/auth/login.ts b/src/app/pages/auth/login.ts index 0aed732..8d90ace 100644 --- a/src/app/pages/auth/login.ts +++ b/src/app/pages/auth/login.ts @@ -1,76 +1,66 @@ -import {Component, inject} from '@angular/core'; -import { ButtonModule} from 'primeng/button'; -import { CheckboxModule} from 'primeng/checkbox'; -import { InputTextModule} from 'primeng/inputtext'; -import { PasswordModule} from 'primeng/password'; -import {FormsModule} from '@angular/forms'; -import {RouterModule} from '@angular/router'; -import { RippleModule} from 'primeng/ripple'; +import { Component, inject } from '@angular/core'; +import { ButtonModule } from 'primeng/button'; +import { CheckboxModule } from 'primeng/checkbox'; +import { InputTextModule } from 'primeng/inputtext'; +import { PasswordModule } from 'primeng/password'; +import { FormsModule } from '@angular/forms'; +import { RouterModule } from '@angular/router'; +import { RippleModule } from 'primeng/ripple'; import { AppFloatingConfigurator } from '../../layout/core/app.floatingconfigurator'; @Component({ selector: 'app-login', - standalone: true, - imports: [ - ButtonModule, - CheckboxModule, - InputTextModule, - PasswordModule, - FormsModule, - RouterModule, - RippleModule, - AppFloatingConfigurator - ], - template: ` - -
-
-
-
-
- - - - - - - - - -
Welcome to PrimeLand!
- Sign in to continue -
+ standalone: true, + imports: [ButtonModule, CheckboxModule, InputTextModule, PasswordModule, FormsModule, RouterModule, RippleModule, AppFloatingConfigurator], + template: ` + +
+
+
+
+
+ + + + + + + + + +
Welcome to PrimeLand!
+ Sign in to continue +
-
- - +
+ + - - - -
-
- - -
- Forgot password? -
- -
-
-
-
-
- `, + + +
+
+ + +
+ Forgot password? +
+ +
+
+
+
+
+ ` }) export class Login { email: string = ''; diff --git a/src/app/pages/crud/crud.ts b/src/app/pages/crud/crud.ts index ffa7519..399b228 100644 --- a/src/app/pages/crud/crud.ts +++ b/src/app/pages/crud/crud.ts @@ -1,19 +1,19 @@ import { Component, OnInit, signal, ViewChild } from '@angular/core'; import { ConfirmationService, MessageService } from 'primeng/api'; -import {Table, TableModule} from 'primeng/table'; -import {CommonModule} from '@angular/common'; -import {FormsModule} from '@angular/forms'; -import {ButtonModule} from 'primeng/button'; -import {RippleModule} from 'primeng/ripple'; -import {ToastModule} from 'primeng/toast'; -import {ToolbarModule} from 'primeng/toolbar'; -import {RatingModule} from 'primeng/rating'; -import {InputTextModule} from 'primeng/inputtext'; -import {TextareaModule} from 'primeng/textarea'; -import {SelectModule} from 'primeng/select'; -import {RadioButtonModule} from 'primeng/radiobutton'; -import {InputNumberModule} from 'primeng/inputnumber'; -import {DialogModule} from 'primeng/dialog'; +import { Table, TableModule } from 'primeng/table'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { ButtonModule } from 'primeng/button'; +import { RippleModule } from 'primeng/ripple'; +import { ToastModule } from 'primeng/toast'; +import { ToolbarModule } from 'primeng/toolbar'; +import { RatingModule } from 'primeng/rating'; +import { InputTextModule } from 'primeng/inputtext'; +import { TextareaModule } from 'primeng/textarea'; +import { SelectModule } from 'primeng/select'; +import { RadioButtonModule } from 'primeng/radiobutton'; +import { InputNumberModule } from 'primeng/inputnumber'; +import { DialogModule } from 'primeng/dialog'; import { TagModule } from 'primeng/tag'; import { InputIconModule } from 'primeng/inputicon'; import { IconFieldModule } from 'primeng/iconfield'; @@ -55,165 +55,165 @@ interface ExportColumn { ConfirmDialogModule ], template: ` - - - - - + + + + + - - - - + + + + - - -
-
Manage Products
- - - - -
-
- - - - - - Code - - Name - - - Image - - Price - - - - Category - - - - Reviews - - - - Status - - - - - - - - - - - {{ product.code }} - {{ product.name }} - - - - {{ product.price | currency: 'USD' }} - {{ product.category }} - - - - - - - - - - - - -
+ + +
+
Manage Products
+ + + + +
+
+ + + + + + Code + + Name + + + Image + + Price + + + + Category + + + + Reviews + + + + Status + + + + + + + + + + + {{ product.code }} + {{ product.name }} + + + + {{ product.price | currency: 'USD' }} + {{ product.category }} + + + + + + + + + + + + +
- - -
- -
- - - Name is required. -
-
- - -
+ + +
+ +
+ + + Name is required. +
+
+ + +
-
- - -
+
+ + +
-
- Category -
-
- - -
-
- - -
-
- - -
-
- - -
-
-
+
+ Category +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
-
-
- - -
-
- - -
-
-
-
+
+
+ + +
+
+ + +
+
+
+
- - - - -
+ + + + + - - `, - providers: [MessageService, ProductService, ConfirmationService], + + `, + providers: [MessageService, ProductService, ConfirmationService] }) export class Crud implements OnInit { productDialog: boolean = false; - products = signal([]) + products = signal([]); product!: Product; @@ -232,7 +232,7 @@ export class Crud implements OnInit { constructor( private productService: ProductService, private messageService: MessageService, - private confirmationService: ConfirmationService, + private confirmationService: ConfirmationService ) {} exportCSV() { @@ -294,8 +294,6 @@ export class Crud implements OnInit { detail: 'Products Deleted', life: 3000 }); - - } }); } diff --git a/src/app/pages/dashboard/components/bestsellingwidget.ts b/src/app/pages/dashboard/components/bestsellingwidget.ts index 7cabbdc..319a083 100644 --- a/src/app/pages/dashboard/components/bestsellingwidget.ts +++ b/src/app/pages/dashboard/components/bestsellingwidget.ts @@ -4,97 +4,92 @@ import { ButtonModule } from 'primeng/button'; import { MenuModule } from 'primeng/menu'; @Component({ - standalone:true, + standalone: true, selector: 'app-best-selling-widget', - imports: [ - CommonModule, - ButtonModule, - MenuModule, - ], - template: ` -
-
-
Best Selling Products
-
- - -
-
-
    -
  • -
    - Space T-Shirt -
    Clothing
    -
    -
    -
    -
    -
    - %50 -
    -
  • -
  • -
    - Portal Sticker -
    Accessories
    -
    -
    -
    -
    -
    - %16 -
    -
  • -
  • -
    - Supernova Sticker -
    Accessories
    -
    -
    -
    -
    -
    - %67 -
    -
  • -
  • -
    - Wonders Notebook -
    Office
    -
    -
    -
    -
    -
    - %35 -
    -
  • -
  • -
    - Mat Black Case -
    Accessories
    -
    -
    -
    -
    -
    - %75 -
    -
  • -
  • -
    - Robots T-Shirt -
    Clothing
    -
    -
    -
    -
    -
    - %40 -
    -
  • -
-
`, + imports: [CommonModule, ButtonModule, MenuModule], + template: `
+
+
Best Selling Products
+
+ + +
+
+
    +
  • +
    + Space T-Shirt +
    Clothing
    +
    +
    +
    +
    +
    + %50 +
    +
  • +
  • +
    + Portal Sticker +
    Accessories
    +
    +
    +
    +
    +
    + %16 +
    +
  • +
  • +
    + Supernova Sticker +
    Accessories
    +
    +
    +
    +
    +
    + %67 +
    +
  • +
  • +
    + Wonders Notebook +
    Office
    +
    +
    +
    +
    +
    + %35 +
    +
  • +
  • +
    + Mat Black Case +
    Accessories
    +
    +
    +
    +
    +
    + %75 +
    +
  • +
  • +
    + Robots T-Shirt +
    Clothing
    +
    +
    +
    +
    +
    + %40 +
    +
  • +
+
` }) export class BestSellingWidget { menu = null; diff --git a/src/app/pages/dashboard/components/notificationswidget.ts b/src/app/pages/dashboard/components/notificationswidget.ts index d6492d9..445060b 100644 --- a/src/app/pages/dashboard/components/notificationswidget.ts +++ b/src/app/pages/dashboard/components/notificationswidget.ts @@ -3,12 +3,9 @@ import { ButtonModule } from 'primeng/button'; import { MenuModule } from 'primeng/menu'; @Component({ - standalone:true, + standalone: true, selector: 'app-notifications-widget', - imports: [ - ButtonModule, - MenuModule, - ], + imports: [ButtonModule, MenuModule], template: `
Notifications
@@ -25,7 +22,7 @@ import { MenuModule } from 'primeng/menu';
Richard Jones + >Richard Jones has purchased a blue t-shirt for $79.00 @@ -44,7 +41,7 @@ import { MenuModule } from 'primeng/menu';
Keyser Wick + >Keyser Wick has purchased a black jacket for $59.00 @@ -53,7 +50,7 @@ import { MenuModule } from 'primeng/menu'; Jane Davis + >Jane Davis has posted a new questions about your product. @@ -73,7 +70,7 @@ import { MenuModule } from 'primeng/menu'; 12 users have added your products to their wishlist. - `, + ` }) export class NotificationsWidget { items = [ diff --git a/src/app/pages/dashboard/components/recentsaleswidget.ts b/src/app/pages/dashboard/components/recentsaleswidget.ts index 190d1bf..6859ffa 100644 --- a/src/app/pages/dashboard/components/recentsaleswidget.ts +++ b/src/app/pages/dashboard/components/recentsaleswidget.ts @@ -6,14 +6,9 @@ import { CommonModule } from '@angular/common'; import { Product, ProductService } from '../../service/product.service'; @Component({ - standalone:true, + standalone: true, selector: 'app-recent-sales-widget', - imports: [ - CommonModule, - TableModule, - ButtonModule, - RippleModule, - ], + imports: [CommonModule, TableModule, ButtonModule, RippleModule], template: `
Recent Sales
@@ -28,10 +23,10 @@ import { Product, ProductService } from '../../service/product.service'; - {{product.name}} + {{ product.name }} - {{product.name}} - {{product.price | currency:'USD'}} + {{ product.name }} + {{ product.price | currency: 'USD' }} @@ -39,15 +34,14 @@ import { Product, ProductService } from '../../service/product.service';
`, - providers: [ProductService], + providers: [ProductService] }) export class RecentSalesWidget { products!: Product[]; - constructor(private productService: ProductService) {} ngOnInit() { - this.productService.getProductsSmall().then(data => this.products = data); + this.productService.getProductsSmall().then((data) => (this.products = data)); } } diff --git a/src/app/pages/dashboard/components/revenuestreamwidget.ts b/src/app/pages/dashboard/components/revenuestreamwidget.ts index 501bbba..27c2b44 100644 --- a/src/app/pages/dashboard/components/revenuestreamwidget.ts +++ b/src/app/pages/dashboard/components/revenuestreamwidget.ts @@ -4,15 +4,13 @@ import { debounceTime, Subscription } from 'rxjs'; import { LayoutService } from '../../../layout/service/layout.service'; @Component({ - standalone:true, + standalone: true, selector: 'app-revenue-stream-widget', - imports: [ - ChartModule, - ], + imports: [ChartModule], template: `
Revenue Stream
-
`, + ` }) export class RevenueStreamWidget { chartData: any; @@ -22,11 +20,9 @@ export class RevenueStreamWidget { subscription!: Subscription; constructor(public layoutService: LayoutService) { - this.subscription = this.layoutService.configUpdate$ - .pipe(debounceTime(25)) - .subscribe(() => { - this.initChart(); - }); + this.subscription = this.layoutService.configUpdate$.pipe(debounceTime(25)).subscribe(() => { + this.initChart(); + }); } ngOnInit() { @@ -73,32 +69,32 @@ export class RevenueStreamWidget { }; this.chartOptions = { - maintainAspectRatio: false, - aspectRatio: 0.8, - scales: { - x: { - stacked: true, - ticks: { - color: textMutedColor + maintainAspectRatio: false, + aspectRatio: 0.8, + scales: { + x: { + stacked: true, + ticks: { + color: textMutedColor + }, + grid: { + color: 'transparent', + borderColor: 'transparent' + } }, - grid: { - color: 'transparent', - borderColor: 'transparent' - } - }, - y: { - stacked: true, - ticks: { - color: textMutedColor - }, - grid: { - color: borderColor, - borderColor: 'transparent', - drawTicks: false + y: { + stacked: true, + ticks: { + color: textMutedColor + }, + grid: { + color: borderColor, + borderColor: 'transparent', + drawTicks: false + } } } - } - }; + }; } ngOnDestroy() { diff --git a/src/app/pages/dashboard/components/statswidget.ts b/src/app/pages/dashboard/components/statswidget.ts index d10e182..bfd58b3 100644 --- a/src/app/pages/dashboard/components/statswidget.ts +++ b/src/app/pages/dashboard/components/statswidget.ts @@ -2,68 +2,68 @@ import { Component } from '@angular/core'; import { CommonModule } from '@angular/common'; @Component({ - standalone:true, + standalone: true, selector: 'app-stats-widget', imports: [CommonModule], template: `
-
-
-
- Orders -
152
-
-
- +
+
+
+ Orders +
152
+
+
+ +
+ 24 new + since last visit
- 24 new - since last visit
-
-
-
-
-
- Revenue -
$2.100
-
-
- +
+
+
+
+ Revenue +
$2.100
+
+
+ +
+ %52+ + since last week
- %52+ - since last week
-
-
-
-
-
- Customers -
28441
-
-
- +
+
+
+
+ Customers +
28441
+
+
+ +
+ 520 + newly registered
- 520 - newly registered
-
-
-
-
-
- Comments -
152 Unread
-
-
- +
+
+
+
+ Comments +
152 Unread
+
+
+ +
+ 85 + responded
- 85 - responded -
-
`, +
` }) export class StatsWidget {} diff --git a/src/app/pages/dashboard/dashboard.ts b/src/app/pages/dashboard/dashboard.ts index 48a9b9a..89db3ea 100644 --- a/src/app/pages/dashboard/dashboard.ts +++ b/src/app/pages/dashboard/dashboard.ts @@ -6,20 +6,20 @@ import { BestSellingWidget } from './components/bestsellingwidget'; import { RevenueStreamWidget } from './components/revenuestreamwidget'; @Component({ - selector: 'app-dashboard', - imports: [StatsWidget, RecentSalesWidget, BestSellingWidget, RevenueStreamWidget, NotificationsWidget], - template: ` -
- -
- - -
-
- - -
-
- `, + selector: 'app-dashboard', + imports: [StatsWidget, RecentSalesWidget, BestSellingWidget, RevenueStreamWidget, NotificationsWidget], + template: ` +
+ +
+ + +
+
+ + +
+
+ ` }) export class Dashboard {} diff --git a/src/app/pages/documentation/documentation.ts b/src/app/pages/documentation/documentation.ts index e642be3..fb1402a 100644 --- a/src/app/pages/documentation/documentation.ts +++ b/src/app/pages/documentation/documentation.ts @@ -3,33 +3,29 @@ import { CommonModule } from '@angular/common'; @Component({ selector: 'app-documentation', - standalone: true, + standalone: true, imports: [CommonModule], - template: ` -
-
-

Documentation

-

Getting Started

-

Sakai is an application template for Angular and is distributed as a CLI project. Current versions is Angular - v19 with PrimeNG v19. In case CLI is not installed already, use the command below to set it up.

+ template: ` +
+
+

Documentation

+

Getting Started

+

Sakai is an application template for Angular and is distributed as a CLI project. Current versions is Angular v19 with PrimeNG v19. In case CLI is not installed already, use the command below to set it up.

-
npm install -g @angular/cli
+
npm install -g @angular/cli
-

Once CLI is ready in your system, extract the contents of the zip file distribution, cd to the directory, - install the libraries from npm and then execute "ng serve" to run the application in your local - environment.

+

Once CLI is ready in your system, extract the contents of the zip file distribution, cd to the directory, install the libraries from npm and then execute "ng serve" to run the application in your local environment.

-
cd sakai
+                
cd sakai
 npm install
 ng serve
-

The application should run at http://localhost:4200/, you may now start - with the development of your application.

+

The application should run at http://localhost:4200/, you may now start with the development of your application.

-
Important CLI Commands
-

Following commands are derived from CLI.

+
Important CLI Commands
+

Following commands are derived from CLI.

-
Run 'ng serve' for a dev server. Navigate to \`http://localhost:4200/\`. The app will automatically reload if you change any of the source files.
+                
Run 'ng serve' for a dev server. Navigate to \`http://localhost:4200/\`. The app will automatically reload if you change any of the source files.
 
 Run 'ng generate component component-name' to generate a new component. You can also use \`ng generate directive/pipe/service/class/module\`.
 
@@ -41,24 +37,21 @@ Run 'ng e2e' to execute the end-to-end tests via [Protractor](http://www.protrac
 
 Run 'ng help' for more options.
-

Structure

-

Sakai consists of 3 main parts; the application layout, layout assets and PrimeNG component theme assets. - Layout is placed inside the src/app/layout folder, - and the assets are in the src/assets/layout folder. -

+

Structure

+

+ Sakai consists of 3 main parts; the application layout, layout assets and PrimeNG component theme assets. Layout is placed inside the src/app/layout folder, and the assets are in the + src/assets/layout folder. +

-
Default Configuration
-

Initial layout configuration can be defined at the main app component by injecting the LayoutService, this step is optional and only necessary when - customizing the defaults. Note that theme and - scale are not reactive since theme is configured outside of - Angular at index.html by default and - initial scale is defined with the $scale at layout.scss. When default theme or scale is changed at their files initially, - it is required to configure the layout service with the matching values - to avoid sync issues.

+
Default Configuration
+

+ Initial layout configuration can be defined at the main app component by injecting the LayoutService, this step is optional and only necessary when customizing the defaults. Note that + theme and scale are not reactive since theme is configured outside of Angular at index.html by + default and initial scale is defined with the $scale at layout.scss. When default theme or scale is changed at their files initially, it is + required to configure the layout service with the matching values to avoid sync issues. +

-
import { Component, OnInit } from '@angular/core';
+                
import { Component, OnInit } from '@angular/core';
 import { PrimeNGConfig } from 'primeng/api';
 import { LayoutService, AppConfig } from './layout/service/app.layout.service';
 
@@ -87,12 +80,13 @@ export class AppComponent implements OnInit {
 
 }
-
Menu
-

Menu is a separate component defined in src/app/layout/app.menu.component.ts - file and based on PrimeNG MenuModel API. In order to define the menuitems, - navigate to this file and define your own model as a nested structure.

+
Menu
+

+ Menu is a separate component defined in src/app/layout/app.menu.component.ts file and based on PrimeNG MenuModel API. In order to define the menuitems, navigate to this file and define + your own model as a nested structure. +

-
import { OnInit } from '@angular/core';
+                
import { OnInit } from '@angular/core';
 import { Component } from '@angular/core';
 
 @Component({
@@ -120,43 +114,40 @@ export class AppMenuComponent implements OnInit {
     }
 }
-

Integration with Existing Angular CLI Projects

-

Sakai structure is designed in a modular way so that it can easily be integrated with your existing - application. We've created a short tutorial with details.

+

Integration with Existing Angular CLI Projects

+

Sakai structure is designed in a modular way so that it can easily be integrated with your existing application. We've created a short tutorial with details.

-
- +
+ +
+ +

Theme

+

+ Sakai provides 34 PrimeNG themes out of the box. Setup of a theme is simple by including the css of theme to your bundle that are located inside assets/layout/styles/theme/ folder such + as assets/layout/styles/theme/lara-light-indigo/theme.css. +

+ +

Another alternative would be creating dynamic bundles, please see the video tutorial for an example.

+
+ `, + styles: ` + @media screen and (max-width: 991px) { + .video-container { + position: relative; + width: 100%; + height: 0; + padding-bottom: 56.25%; -

Theme

-

Sakai provides 34 PrimeNG themes out of the box. Setup of a theme is simple by including the css of theme - to your bundle that are located inside assets/layout/styles/theme/ - folder such as assets/layout/styles/theme/lara-light-indigo/theme.css.

- -

Another alternative would be creating dynamic bundles, please see the video - tutorial for an example.

-
-
- `, - styles: `@media screen and (max-width: 991px) { - .video-container { - position: relative; - width: 100%; - height: 0; - padding-bottom: 56.25%; - - iframe { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - } - } - }` + iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + } + } + ` }) -export class Documentation { } +export class Documentation {} diff --git a/src/app/pages/empty/empty.ts b/src/app/pages/empty/empty.ts index eef2d58..f65e698 100644 --- a/src/app/pages/empty/empty.ts +++ b/src/app/pages/empty/empty.ts @@ -2,11 +2,10 @@ import { Component } from '@angular/core'; @Component({ selector: 'app-empty', - standalone: true, - template: ` -
-
Empty Page
-

Use this page to start from scratch and place your custom content.

-
` + standalone: true, + template: `
+
Empty Page
+

Use this page to start from scratch and place your custom content.

+
` }) -export class Empty { } +export class Empty {} diff --git a/src/app/pages/landing/components/featureswidget.ts b/src/app/pages/landing/components/featureswidget.ts index f697dc1..e050ccc 100644 --- a/src/app/pages/landing/components/featureswidget.ts +++ b/src/app/pages/landing/components/featureswidget.ts @@ -3,11 +3,9 @@ import { CommonModule } from '@angular/common'; @Component({ selector: 'features-widget', - standalone:true, - imports: [ - CommonModule, - ], - template: `
+ standalone: true, + imports: [CommonModule], + template: `
Marvelous Features
@@ -136,7 +134,6 @@ import { CommonModule } from '@angular/common';
-
`, +
` }) -export class FeaturesWidget { -} +export class FeaturesWidget {} diff --git a/src/app/pages/landing/components/footerwidget.ts b/src/app/pages/landing/components/footerwidget.ts index 52b6cc1..5ea6563 100644 --- a/src/app/pages/landing/components/footerwidget.ts +++ b/src/app/pages/landing/components/footerwidget.ts @@ -2,72 +2,72 @@ import { Component } from '@angular/core'; import { Router, RouterModule } from '@angular/router'; @Component({ - selector: 'footer-widget', - imports: [RouterModule], - template: ` -
-
- + selector: 'footer-widget', + imports: [RouterModule], + template: ` +
+
+ -
-
- +
+
+ -
-

Resources

- Get Started - Learn - Case Studies -
+
+

Resources

+ Get Started + Learn + Case Studies +
-
-

Community

- Discord - Eventsbadge - FAQ - Blog -
+
+

Community

+ Discord + Eventsbadge + FAQ + Blog +
- -
-
-
-
- `, + +
+
+
+
+ ` }) export class FooterWidget { - constructor(public router: Router) { } + constructor(public router: Router) {} } diff --git a/src/app/pages/landing/components/herowidget.ts b/src/app/pages/landing/components/herowidget.ts index 1f51f67..d84a6fc 100644 --- a/src/app/pages/landing/components/herowidget.ts +++ b/src/app/pages/landing/components/herowidget.ts @@ -3,25 +3,23 @@ import { RippleModule } from 'primeng/ripple'; import { ButtonModule } from 'primeng/button'; @Component({ - selector: 'hero-widget', - imports: [ButtonModule, RippleModule], - template: ` -
-
-

Eu sem integereget magna fermentum

-

Sed blandit libero volutpat sed cras. Fames ac turpis egestas integer. Placerat in egestas erat...

- -
-
- Hero Image -
-
- `, + selector: 'hero-widget', + imports: [ButtonModule, RippleModule], + template: ` +
+
+

Eu sem integereget magna fermentum

+

Sed blandit libero volutpat sed cras. Fames ac turpis egestas integer. Placerat in egestas erat...

+ +
+
+ Hero Image +
+
+ ` }) -export class HeroWidget { - -} +export class HeroWidget {} diff --git a/src/app/pages/landing/components/highlightswidget.ts b/src/app/pages/landing/components/highlightswidget.ts index 7cb91e2..0aa950f 100644 --- a/src/app/pages/landing/components/highlightswidget.ts +++ b/src/app/pages/landing/components/highlightswidget.ts @@ -1,48 +1,46 @@ import { Component } from '@angular/core'; @Component({ - selector: 'highlights-widget', - template: ` -
-
-
Powerful Everywhere
- Amet consectetur adipiscing elit... -
+ selector: 'highlights-widget', + template: ` +
+
+
Powerful Everywhere
+ Amet consectetur adipiscing elit... +
-
-
- mockup mobile -
+
+
+ mockup mobile +
-
-
- -
-
Congue Quisque Egestas
- Lectus arcu bibendum at varius vel pharetra vel turpis nunc. Eget aliquet nibh praesent tristique magna sit amet purus gravida. Sit amet mattis vulputate enim nulla aliquet. -
-
+
+
+ +
+
Congue Quisque Egestas
+ Lectus arcu bibendum at varius vel pharetra vel turpis nunc. Eget aliquet nibh praesent tristique magna sit amet purus gravida. Sit amet mattis vulputate enim nulla aliquet. +
+
-
-
-
- -
-
Celerisque Eu Ultrices
- Adipiscing commodo elit at imperdiet dui. Viverra nibh cras pulvinar mattis nunc sed blandit libero. Suspendisse in est ante in. Mauris pharetra et ultrices neque ornare aenean euismod elementum nisi. -
+
+
+
+ +
+
Celerisque Eu Ultrices
+ Adipiscing commodo elit at imperdiet dui. Viverra nibh cras pulvinar mattis nunc sed blandit libero. Suspendisse in est ante in. Mauris pharetra et ultrices neque ornare aenean euismod elementum nisi. +
-
- mockup -
-
-
- `, +
+ mockup +
+
+
+ ` }) -export class HighlightsWidget { - -} +export class HighlightsWidget {} diff --git a/src/app/pages/notfound/notfound.ts b/src/app/pages/notfound/notfound.ts index 0cad5c3..416d493 100644 --- a/src/app/pages/notfound/notfound.ts +++ b/src/app/pages/notfound/notfound.ts @@ -1,69 +1,68 @@ import { Component } from '@angular/core'; -import {RouterModule} from '@angular/router'; +import { RouterModule } from '@angular/router'; import { ButtonModule } from 'primeng/button'; import { AppFloatingConfigurator } from '../../layout/core/app.floatingconfigurator'; @Component({ selector: 'app-notfound', - standalone: true, + standalone: true, imports: [RouterModule, AppFloatingConfigurator, ButtonModule], - template: ` - - `, + template: ` + ` }) -export class Notfound { } +export class Notfound {} diff --git a/src/app/pages/service/icon.service.ts b/src/app/pages/service/icon.service.ts index 75a8502..0da429b 100644 --- a/src/app/pages/service/icon.service.ts +++ b/src/app/pages/service/icon.service.ts @@ -4,8 +4,7 @@ import { map } from 'rxjs/operators'; @Injectable() export class IconService { - - constructor(private http: HttpClient) { } + constructor(private http: HttpClient) {} icons!: any[]; @@ -14,9 +13,11 @@ export class IconService { apiUrl = 'assets/demo/data/icons.json'; getIcons() { - return this.http.get(this.apiUrl).pipe(map((response: any) => { - this.icons = response.icons; - return this.icons; - })); + return this.http.get(this.apiUrl).pipe( + map((response: any) => { + this.icons = response.icons; + return this.icons; + }) + ); } } diff --git a/src/app/pages/uikit/buttondemo.ts b/src/app/pages/uikit/buttondemo.ts index 05c6436..d3e6e5b 100644 --- a/src/app/pages/uikit/buttondemo.ts +++ b/src/app/pages/uikit/buttondemo.ts @@ -1,201 +1,192 @@ import { Component, OnInit } from '@angular/core'; -import {ButtonModule} from "primeng/button"; -import {ButtonGroupModule} from "primeng/buttongroup"; -import {SplitButtonModule} from "primeng/splitbutton"; -import {MenuItem} from "primeng/api"; +import { ButtonModule } from 'primeng/button'; +import { ButtonGroupModule } from 'primeng/buttongroup'; +import { SplitButtonModule } from 'primeng/splitbutton'; +import { MenuItem } from 'primeng/api'; @Component({ selector: 'app-button-demo', - standalone: true, - imports: [ButtonModule, ButtonGroupModule, SplitButtonModule], - template: `
-
-
-
Default
-
- - - -
-
-
-
Severities
-
- - - - - - - - -
-
-
-
Text
-
- - - - - - - - -
-
-
-
Outlined
-
- - - - - - - - -
-
-
-
Group
-
- - - - - -
-
-
-
SplitButton
-
- - - - - - - - -
-
-
-
Templating
-
- - logo - - - logo - PrimeNG - -
-
-
-
-
-
Icons
-
- - - -
-
-
-
Raised
-
- - - - - - - - -
-
-
-
Rounded
-
- - - - - - - - -
-
-
-
Rounded Icons
-
- - - - - - - -
-
-
-
Rounded Text
-
- - - - - - - -
-
-
-
Rounded Outlined
-
- - - - - - - -
-
-
-
Loading
-
- - - - -
-
-
-
- ` + standalone: true, + imports: [ButtonModule, ButtonGroupModule, SplitButtonModule], + template: `
+
+
+
Default
+
+ + + +
+
+
+
Severities
+
+ + + + + + + + +
+
+
+
Text
+
+ + + + + + + + +
+
+
+
Outlined
+
+ + + + + + + + +
+
+
+
Group
+
+ + + + + +
+
+
+
SplitButton
+
+ + + + + + + + +
+
+
+
Templating
+
+ + logo + + + logo + PrimeNG + +
+
+
+
+
+
Icons
+
+ + + +
+
+
+
Raised
+
+ + + + + + + + +
+
+
+
Rounded
+
+ + + + + + + + +
+
+
+
Rounded Icons
+
+ + + + + + + +
+
+
+
Rounded Text
+
+ + + + + + + +
+
+
+
Rounded Outlined
+
+ + + + + + + +
+
+
+
Loading
+
+ + + + +
+
+
+
` }) export class ButtonDemo implements OnInit { + items: MenuItem[] = []; - items: MenuItem[] = []; + loading = [false, false, false, false]; - loading = [false, false, false, false]; - - ngOnInit() { - this.items = [ - { label: 'Update', icon: 'pi pi-refresh' }, - { label: 'Delete', icon: 'pi pi-times' }, - { label: 'Angular.io', icon: 'pi pi-info', url: 'http://angular.io' }, - { separator: true }, - { label: 'Setup', icon: 'pi pi-cog' } - ]; - } - - load(index: number) { - this.loading[index] = true; - setTimeout(() => this.loading[index] = false, 1000); - } + ngOnInit() { + this.items = [{ label: 'Update', icon: 'pi pi-refresh' }, { label: 'Delete', icon: 'pi pi-times' }, { label: 'Angular.io', icon: 'pi pi-info', url: 'http://angular.io' }, { separator: true }, { label: 'Setup', icon: 'pi pi-cog' }]; + } + load(index: number) { + this.loading[index] = true; + setTimeout(() => (this.loading[index] = false), 1000); + } } diff --git a/src/app/pages/uikit/chartdemo.ts b/src/app/pages/uikit/chartdemo.ts index 3267dfa..238cb79 100644 --- a/src/app/pages/uikit/chartdemo.ts +++ b/src/app/pages/uikit/chartdemo.ts @@ -7,54 +7,50 @@ import { LayoutService } from '../../layout/service/layout.service'; @Component({ selector: 'app-chart-demo', - standalone:true, - imports: [ - CommonModule, - ChartModule, - FluidModule - ], - template: ` -
-
-
Linear
- + standalone: true, + imports: [CommonModule, ChartModule, FluidModule], + template: ` + +
+
+
Linear
+ +
-
-
-
-
Bar
- +
+
+
Bar
+ +
-
-
-
-
Pie
- +
+
+
Pie
+ +
-
-
-
-
Doughnut
- +
+
+
Doughnut
+ +
-
-
-
-
Polar Area
- +
+
+
Polar Area
+ +
-
-
-
-
Radar
- +
+
+
Radar
+ +
-
- - `, + + ` }) export class ChartDemo { - lineData: any; barData: any; @@ -77,11 +73,9 @@ export class ChartDemo { subscription: Subscription; constructor(private layoutService: LayoutService) { - this.subscription = this.layoutService.configUpdate$ - .pipe(debounceTime(25)) - .subscribe(() => { - this.initCharts(); - }); + this.subscription = this.layoutService.configUpdate$.pipe(debounceTime(25)).subscribe(() => { + this.initCharts(); + }); } ngOnInit() { @@ -141,7 +135,7 @@ export class ChartDemo { color: surfaceBorder, drawBorder: false } - }, + } } }; @@ -150,17 +144,10 @@ export class ChartDemo { datasets: [ { data: [540, 325, 702], - backgroundColor: [ - documentStyle.getPropertyValue('--p-indigo-500'), - documentStyle.getPropertyValue('--p-purple-500'), - documentStyle.getPropertyValue('--p-teal-500') - ], - hoverBackgroundColor: [ - documentStyle.getPropertyValue('--p-indigo-400'), - documentStyle.getPropertyValue('--p-purple-400'), - documentStyle.getPropertyValue('--p-teal-400') - ] - }] + backgroundColor: [documentStyle.getPropertyValue('--p-indigo-500'), documentStyle.getPropertyValue('--p-purple-500'), documentStyle.getPropertyValue('--p-teal-500')], + hoverBackgroundColor: [documentStyle.getPropertyValue('--p-indigo-400'), documentStyle.getPropertyValue('--p-purple-400'), documentStyle.getPropertyValue('--p-teal-400')] + } + ] }; this.pieOptions = { @@ -183,7 +170,7 @@ export class ChartDemo { fill: false, backgroundColor: documentStyle.getPropertyValue('--p-primary-500'), borderColor: documentStyle.getPropertyValue('--p-primary-500'), - tension: .4 + tension: 0.4 }, { label: 'Second Dataset', @@ -191,7 +178,7 @@ export class ChartDemo { fill: false, backgroundColor: documentStyle.getPropertyValue('--p-primary-200'), borderColor: documentStyle.getPropertyValue('--p-primary-200'), - tension: .4 + tension: 0.4 } ] }; @@ -222,32 +209,19 @@ export class ChartDemo { color: surfaceBorder, drawBorder: false } - }, + } } }; this.polarData = { - datasets: [{ - data: [ - 11, - 16, - 7, - 3 - ], - backgroundColor: [ - documentStyle.getPropertyValue('--p-indigo-500'), - documentStyle.getPropertyValue('--p-purple-500'), - documentStyle.getPropertyValue('--p-teal-500'), - documentStyle.getPropertyValue('--p-orange-500') - ], - label: 'My dataset' - }], - labels: [ - 'Indigo', - 'Purple', - 'Teal', - 'Orange' - ] + datasets: [ + { + data: [11, 16, 7, 3], + backgroundColor: [documentStyle.getPropertyValue('--p-indigo-500'), documentStyle.getPropertyValue('--p-purple-500'), documentStyle.getPropertyValue('--p-teal-500'), documentStyle.getPropertyValue('--p-orange-500')], + label: 'My dataset' + } + ], + labels: ['Indigo', 'Purple', 'Teal', 'Orange'] }; this.polarOptions = { @@ -314,5 +288,4 @@ export class ChartDemo { this.subscription.unsubscribe(); } } - } diff --git a/src/app/pages/uikit/filedemo.ts b/src/app/pages/uikit/filedemo.ts index 668988d..c4b3d99 100644 --- a/src/app/pages/uikit/filedemo.ts +++ b/src/app/pages/uikit/filedemo.ts @@ -7,8 +7,8 @@ import { ToastModule } from 'primeng/toast'; @Component({ selector: 'app-file-demo', - standalone:true, - imports:[CommonModule, FileUploadModule,ToastModule,ButtonModule], + standalone: true, + imports: [CommonModule, FileUploadModule, ToastModule, ButtonModule], template: `
@@ -39,7 +39,6 @@ import { ToastModule } from 'primeng/toast'; providers: [MessageService] }) export class FileDemo { - uploadedFiles: any[] = []; constructor(private messageService: MessageService) {} @@ -55,5 +54,4 @@ export class FileDemo { onBasicUpload() { this.messageService.add({ severity: 'info', summary: 'Success', detail: 'File Uploaded with Basic Mode' }); } - } diff --git a/src/app/pages/uikit/formlayoutdemo.ts b/src/app/pages/uikit/formlayoutdemo.ts index 2382f8d..a516c0d 100644 --- a/src/app/pages/uikit/formlayoutdemo.ts +++ b/src/app/pages/uikit/formlayoutdemo.ts @@ -1,16 +1,16 @@ import { Component } from '@angular/core'; -import {FluidModule} from "primeng/fluid"; -import {InputTextModule} from "primeng/inputtext"; -import {ButtonModule} from "primeng/button"; -import {SelectModule} from "primeng/select"; -import {FormsModule} from "@angular/forms"; -import {TextareaModule} from "primeng/textarea"; +import { FluidModule } from 'primeng/fluid'; +import { InputTextModule } from 'primeng/inputtext'; +import { ButtonModule } from 'primeng/button'; +import { SelectModule } from 'primeng/select'; +import { FormsModule } from '@angular/forms'; +import { TextareaModule } from 'primeng/textarea'; @Component({ selector: 'app-formlayout-demo', standalone: true, imports: [InputTextModule, FluidModule, ButtonModule, SelectModule, FormsModule, TextareaModule], - template:` + template: `
@@ -116,7 +116,7 @@ import {TextareaModule} from "primeng/textarea";
-
`, +
` }) export class FormLayoutDemo { dropdownItems = [ @@ -126,5 +126,4 @@ export class FormLayoutDemo { ]; dropdownItem = null; - } diff --git a/src/app/pages/uikit/inputdemo.ts b/src/app/pages/uikit/inputdemo.ts index bf890b8..7885328 100644 --- a/src/app/pages/uikit/inputdemo.ts +++ b/src/app/pages/uikit/inputdemo.ts @@ -1,30 +1,30 @@ -import {Component, inject, OnInit} from '@angular/core'; -import {InputTextModule} from "primeng/inputtext"; -import {ButtonModule} from "primeng/button"; -import {CommonModule} from "@angular/common"; -import {FormsModule} from "@angular/forms"; -import {CheckboxModule} from "primeng/checkbox"; -import {RadioButtonModule} from "primeng/radiobutton"; -import {SelectButtonModule} from "primeng/selectbutton"; -import {InputGroupModule} from "primeng/inputgroup"; -import {FluidModule} from "primeng/fluid"; -import {IconFieldModule} from "primeng/iconfield"; -import {InputIconModule} from "primeng/inputicon"; -import {FloatLabelModule} from "primeng/floatlabel"; -import {AutoCompleteModule} from "primeng/autocomplete"; -import {InputNumberModule} from "primeng/inputnumber"; -import {SliderModule} from "primeng/slider"; -import {RatingModule} from "primeng/rating"; -import {ColorPickerModule} from "primeng/colorpicker"; -import {KnobModule} from "primeng/knob"; -import {SelectModule} from "primeng/select"; -import {DatePickerModule} from "primeng/datepicker"; -import {ToggleSwitchModule} from "primeng/toggleswitch"; -import {TreeSelectModule} from "primeng/treeselect"; -import {MultiSelectModule} from "primeng/multiselect"; -import {ListboxModule} from "primeng/listbox"; -import {InputGroupAddonModule} from "primeng/inputgroupaddon"; -import {TextareaModule} from "primeng/textarea"; +import { Component, inject, OnInit } from '@angular/core'; +import { InputTextModule } from 'primeng/inputtext'; +import { ButtonModule } from 'primeng/button'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { CheckboxModule } from 'primeng/checkbox'; +import { RadioButtonModule } from 'primeng/radiobutton'; +import { SelectButtonModule } from 'primeng/selectbutton'; +import { InputGroupModule } from 'primeng/inputgroup'; +import { FluidModule } from 'primeng/fluid'; +import { IconFieldModule } from 'primeng/iconfield'; +import { InputIconModule } from 'primeng/inputicon'; +import { FloatLabelModule } from 'primeng/floatlabel'; +import { AutoCompleteModule } from 'primeng/autocomplete'; +import { InputNumberModule } from 'primeng/inputnumber'; +import { SliderModule } from 'primeng/slider'; +import { RatingModule } from 'primeng/rating'; +import { ColorPickerModule } from 'primeng/colorpicker'; +import { KnobModule } from 'primeng/knob'; +import { SelectModule } from 'primeng/select'; +import { DatePickerModule } from 'primeng/datepicker'; +import { ToggleSwitchModule } from 'primeng/toggleswitch'; +import { TreeSelectModule } from 'primeng/treeselect'; +import { MultiSelectModule } from 'primeng/multiselect'; +import { ListboxModule } from 'primeng/listbox'; +import { InputGroupAddonModule } from 'primeng/inputgroupaddon'; +import { TextareaModule } from 'primeng/textarea'; import { ToggleButtonModule } from 'primeng/togglebutton'; import { CountryService } from '../service/country.service'; import { NodeService } from '../service/node.service'; @@ -62,30 +62,29 @@ import { TreeNode } from 'primeng/api'; InputGroupAddonModule, TextareaModule ], - template: ` - + template: `
-
+
InputText
- - - + + +
Icons
- - + + - - + +
Float Label
- + @@ -93,9 +92,7 @@ import { TreeNode } from 'primeng/api';
AutoComplete
- +
DatePicker
@@ -104,41 +101,40 @@ import { TreeNode } from 'primeng/api';
-
+
Slider
- - + +
-
Rating
- +
ColorPicker
- +
Knob
- +
-
+
RadioButton
- +
- +
- +
@@ -146,31 +142,29 @@ import { TreeNode } from 'primeng/api';
Checkbox
- +
- +
- +
ToggleSwitch
- +
-
+
Listbox
- +
Select
- +
MultiSelect
@@ -194,12 +188,12 @@ import { TreeNode } from 'primeng/api';
-
+
ToggleButton
- +
SelectButton
- +
@@ -212,7 +206,7 @@ import { TreeNode } from 'primeng/api'; - + @@ -221,21 +215,21 @@ import { TreeNode } from 'primeng/api'; - + $ .00
- - + + - + - +
@@ -304,7 +298,7 @@ export class InputDemo implements OnInit { toggleValue: boolean = false; - selectButtonValue: any = null + selectButtonValue: any = null; selectButtonValues: any = [{ name: 'Option 1' }, { name: 'Option 2' }, { name: 'Option 3' }]; @@ -321,7 +315,7 @@ export class InputDemo implements OnInit { nodeService = inject(NodeService); ngOnInit() { - this.countryService.getCountries().then(countries => { + this.countryService.getCountries().then((countries) => { this.autoValue = countries; }); diff --git a/src/app/pages/uikit/messagesdemo.ts b/src/app/pages/uikit/messagesdemo.ts index 3a1a784..40eca5e 100644 --- a/src/app/pages/uikit/messagesdemo.ts +++ b/src/app/pages/uikit/messagesdemo.ts @@ -10,8 +10,8 @@ import { FormsModule } from '@angular/forms'; @Component({ selector: 'app-messages-demo', standalone: true, - imports:[CommonModule,ToastModule,ButtonModule,InputTextModule,MessageModule,FormsModule], - template:` + imports: [CommonModule, ToastModule, ButtonModule, InputTextModule, MessageModule, FormsModule], + template: `
@@ -25,7 +25,7 @@ import { FormsModule } from '@angular/forms';
Inline
- + Username is required
@@ -52,14 +52,13 @@ import { FormsModule } from '@angular/forms'; providers: [MessageService] }) export class MessagesDemo { - msgs: ToastMessageOptions[] | null = []; - username: string | undefined + username: string | undefined; - email: string | undefined + email: string | undefined; - constructor(private service: MessageService) { } + constructor(private service: MessageService) {} showInfoViaToast() { this.service.add({ key: 'tst', severity: 'info', summary: 'Info Message', detail: 'PrimeNG rocks' }); @@ -96,5 +95,4 @@ export class MessagesDemo { this.msgs = []; this.msgs.push({ severity: 'success', summary: 'Success Message', detail: 'Message sent' }); } - } diff --git a/src/app/pages/uikit/panelsdemo.ts b/src/app/pages/uikit/panelsdemo.ts index 909c299..a4ca749 100644 --- a/src/app/pages/uikit/panelsdemo.ts +++ b/src/app/pages/uikit/panelsdemo.ts @@ -19,7 +19,7 @@ import { InputIconModule } from 'primeng/inputicon'; @Component({ selector: 'app-panels-demo', - standalone:true, + standalone: true, imports: [ CommonModule, FormsModule, @@ -39,185 +39,181 @@ import { InputIconModule } from 'primeng/inputicon'; InputIconModule ], template: ` -
-
-
Toolbar
- - - - - - +
+
+
Toolbar
+ + + + + + - - - - - - - - + + + + + + + + - - -
+ + +
-
-
-
-
Accordion
- - - Header I - -

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est - laborum. -

-
-
+
+
+
+
Accordion
+ + + Header I + +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex + ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt + mollit anim id est laborum. +

+
+
- - Header II - -

- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo - enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi. -

-
-
+ + Header II + +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt + explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non + numquam eius modi. +

+
+
- - Header III - -

- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo - enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi. -

-
-
-
-
-
-
Tabs
- - - Header I - Header II - Header III - - - -

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est - laborum. -

-
- -

- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo - enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi. -

-
- -

- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in - culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus. -

-
-
-
-
+ + Header III + +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt + explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non + numquam eius modi. +

+
+
+
-
-
-
Panel
- - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et - dolore magna aliqua. - Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. - Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. - Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est - laborum. - -
-
-
Fieldset
- - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et - dolore magna aliqua. - Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. - Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. - Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est - laborum. - -
+
+
Tabs
+ + + Header I + Header II + Header III + + + +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex + ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt + mollit anim id est laborum. +

+
+ +

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt + explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non + numquam eius modi. +

+
+ +

+ At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, + similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio + cumque nihil impedit quo minus. +

+
+
+
- -
-
Divider
-
-
-
- - -
-
- - -
-
- -
-
-
- OR - OR -
-
- -
+
+
+
Panel
+ + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo + consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est + laborum. + +
+
+
Fieldset
+ + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo + consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est + laborum. +
-
- -
-
Splitter
- - -
Panel 1
-
- - - -
Panel 2
-
- - - -
Panel 3
-
- -
Panel 4
-
-
-
-
-
-
- `, + +
+
Divider
+
+
+
+ + +
+
+ + +
+
+ +
+
+
+ OR + OR +
+
+ +
+
+
+ +
+
Splitter
+ + +
Panel 1
+
+ + + +
Panel 2
+
+ + + +
Panel 3
+
+ +
Panel 4
+
+
+
+
+
+
+
+
+ ` }) export class PanelsDemo { items: MenuItem[] = [ { - label: 'Save', - icon: 'pi pi-check' + label: 'Save', + icon: 'pi pi-check' }, { label: 'Update', @@ -232,5 +228,4 @@ export class PanelsDemo { icon: 'pi pi-home' } ]; - } diff --git a/src/app/pages/uikit/treedemo.ts b/src/app/pages/uikit/treedemo.ts index 1e536ca..fbf50a0 100644 --- a/src/app/pages/uikit/treedemo.ts +++ b/src/app/pages/uikit/treedemo.ts @@ -1,9 +1,9 @@ -import {Component, inject, OnInit} from '@angular/core'; -import { TreeNode} from 'primeng/api'; -import {TreeModule} from "primeng/tree"; -import {FormsModule} from "@angular/forms"; -import {TreeTableModule} from "primeng/treetable"; -import {CommonModule} from "@angular/common"; +import { Component, inject, OnInit } from '@angular/core'; +import { TreeNode } from 'primeng/api'; +import { TreeModule } from 'primeng/tree'; +import { FormsModule } from '@angular/forms'; +import { TreeTableModule } from 'primeng/treetable'; +import { CommonModule } from '@angular/common'; import { NodeService } from '../service/node.service'; @Component({ @@ -51,11 +51,11 @@ export class TreeDemo implements OnInit { cols: any[] = []; - nodeService = inject(NodeService) + nodeService = inject(NodeService); ngOnInit() { - this.nodeService.getFiles().then(files => this.treeValue = files); - this.nodeService.getFilesystem().then(files => this.treeTableValue = files); + this.nodeService.getFiles().then((files) => (this.treeValue = files)); + this.nodeService.getFilesystem().then((files) => (this.treeTableValue = files)); this.cols = [ { field: 'name', header: 'Name' }, diff --git a/src/app/pages/uikit/uikit.routes.ts b/src/app/pages/uikit/uikit.routes.ts index 53610d5..c9ed471 100644 --- a/src/app/pages/uikit/uikit.routes.ts +++ b/src/app/pages/uikit/uikit.routes.ts @@ -16,7 +16,7 @@ import { TreeDemo } from './treedemo'; import { MenuDemo } from './menudemo'; export default [ - { path: 'button', data: { breadcrumb: 'Button' }, component: ButtonDemo}, + { path: 'button', data: { breadcrumb: 'Button' }, component: ButtonDemo }, { path: 'charts', data: { breadcrumb: 'Charts' }, component: ChartDemo }, { path: 'file', data: { breadcrumb: 'File' }, component: FileDemo }, { path: 'formlayout', data: { breadcrumb: 'Form Layout' }, component: FormLayoutDemo }, diff --git a/src/index.html b/src/index.html index d3842f1..d307198 100644 --- a/src/index.html +++ b/src/index.html @@ -1,18 +1,16 @@ + + + Sakai - PrimeNG + + + + + + - - - Sakai - PrimeNG - - - - - - - - - - - + + + diff --git a/src/main.ts b/src/main.ts index 315de92..4d55345 100644 --- a/src/main.ts +++ b/src/main.ts @@ -2,6 +2,4 @@ import { bootstrapApplication } from '@angular/platform-browser'; import { appConfig } from './app.config'; import { AppComponent } from './app.component'; - -bootstrapApplication(AppComponent, appConfig) - .catch((err) => console.error(err)); +bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err)); diff --git a/tsconfig.app.json b/tsconfig.app.json index 3775b37..25b14be 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -1,15 +1,15 @@ /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ { - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./out-tsc/app", - "types": [] - }, - "files": [ - "src/main.ts" - ], - "include": [ - "src/**/*.d.ts" - ] + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": [ + "src/main.ts" + ], + "include": [ + "src/**/*.d.ts" + ] } diff --git a/tsconfig.json b/tsconfig.json index 5985f6c..ac59e11 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,27 +1,27 @@ /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ { - "compileOnSave": false, - "compilerOptions": { - "outDir": "./dist/out-tsc", - "strict": true, - "noImplicitOverride": true, - "noPropertyAccessFromIndexSignature": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, - "skipLibCheck": true, - "isolatedModules": true, - "esModuleInterop": true, - "experimentalDecorators": true, - "moduleResolution": "bundler", - "importHelpers": true, - "target": "ES2022", - "module": "ES2022", - }, - "angularCompilerOptions": { - "enableI18nLegacyMessageIdFormat": false, - "strictInjectionParameters": true, - "strictInputAccessModifiers": true, - "strictTemplates": true - } + "compileOnSave": false, + "compilerOptions": { + "outDir": "./dist/out-tsc", + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "isolatedModules": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "moduleResolution": "bundler", + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } } diff --git a/tsconfig.spec.json b/tsconfig.spec.json index 5fb748d..8838f81 100644 --- a/tsconfig.spec.json +++ b/tsconfig.spec.json @@ -1,15 +1,15 @@ /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ { - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./out-tsc/spec", - "types": [ - "jasmine" + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "include": [ + "src/**/*.spec.ts", + "src/**/*.d.ts" ] - }, - "include": [ - "src/**/*.spec.ts", - "src/**/*.d.ts" - ] } diff --git a/vercel.json b/vercel.json index 6d8d750..8354eef 100644 --- a/vercel.json +++ b/vercel.json @@ -1,9 +1,9 @@ { - "rewrites": [ - { - "source": "/:path*", - "destination": "/index.html" - } - ], - "trailingSlash": false -} + "rewrites": [ + { + "source": "/:path*", + "destination": "/index.html" + } + ], + "trailingSlash": false +} \ No newline at end of file