mirror of https://github.com/abpframework/abp.git
55 changed files with 594 additions and 0 deletions
@ -0,0 +1,87 @@ |
|||||
|
# @abp/ng.cms-kit |
||||
|
|
||||
|
ABP CMS Kit Angular package providing admin and public functionality for content management. |
||||
|
|
||||
|
## Structure |
||||
|
|
||||
|
This package is organized into two main sub-packages: |
||||
|
|
||||
|
- **Admin** (`admin/`) - Admin interface for managing CMS content |
||||
|
- **Public** (`public/`) - Public-facing components for displaying CMS content |
||||
|
|
||||
|
## Installation |
||||
|
|
||||
|
```bash |
||||
|
npm install @abp/ng.cms-kit |
||||
|
``` |
||||
|
|
||||
|
## Usage |
||||
|
|
||||
|
### Admin |
||||
|
|
||||
|
```typescript |
||||
|
import { provideCmsKitAdminConfig } from '@abp/ng.cms-kit/admin/config'; |
||||
|
import { createRoutes } from '@abp/ng.cms-kit/admin'; |
||||
|
|
||||
|
// In your app config |
||||
|
export const appConfig: ApplicationConfig = { |
||||
|
providers: [ |
||||
|
provideCmsKitAdminConfig(), |
||||
|
// ... other providers |
||||
|
], |
||||
|
}; |
||||
|
|
||||
|
// In your routes |
||||
|
export const routes: Routes = [ |
||||
|
{ |
||||
|
path: 'cms-kit', |
||||
|
loadChildren: () => import('@abp/ng.cms-kit/admin').then(m => m.createRoutes()), |
||||
|
}, |
||||
|
]; |
||||
|
``` |
||||
|
|
||||
|
### Public |
||||
|
|
||||
|
```typescript |
||||
|
import { provideCmsKitPublicConfig } from '@abp/ng.cms-kit/public/config'; |
||||
|
import { createRoutes } from '@abp/ng.cms-kit/public'; |
||||
|
|
||||
|
// In your app config |
||||
|
export const appConfig: ApplicationConfig = { |
||||
|
providers: [ |
||||
|
provideCmsKitPublicConfig(), |
||||
|
// ... other providers |
||||
|
], |
||||
|
}; |
||||
|
|
||||
|
// In your routes |
||||
|
export const routes: Routes = [ |
||||
|
{ |
||||
|
path: 'cms-kit', |
||||
|
loadChildren: () => import('@abp/ng.cms-kit/public').then(m => m.createRoutes()), |
||||
|
}, |
||||
|
]; |
||||
|
``` |
||||
|
|
||||
|
## Features |
||||
|
|
||||
|
### Admin Features |
||||
|
|
||||
|
- Comments management |
||||
|
- Tags management |
||||
|
- Pages management |
||||
|
- Blogs management |
||||
|
- Blog posts management |
||||
|
- Menus management |
||||
|
- Global resources management |
||||
|
|
||||
|
### Public Features |
||||
|
|
||||
|
- Public page viewing |
||||
|
- Public blog and blog post viewing |
||||
|
- Commenting functionality |
||||
|
- Shared components (MarkedItemToggle, PopularTags, Rating, ReactionSelection, Tags) |
||||
|
|
||||
|
## Documentation |
||||
|
|
||||
|
For more information, see the [ABP Documentation](https://docs.abp.io). |
||||
@ -0,0 +1,6 @@ |
|||||
|
{ |
||||
|
"$schema": "../../../../node_modules/ng-packagr/ng-entrypoint.schema.json", |
||||
|
"lib": { |
||||
|
"entryFile": "src/public-api.ts" |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,2 @@ |
|||||
|
export * from './policy-names'; |
||||
|
export * from './route-names'; |
||||
@ -0,0 +1,9 @@ |
|||||
|
export enum eCmsKitAdminPolicyNames { |
||||
|
Comments = 'CmsKit.Comments', |
||||
|
Tags = 'CmsKit.Tags', |
||||
|
Pages = 'CmsKit.Pages', |
||||
|
Blogs = 'CmsKit.Blogs', |
||||
|
BlogPosts = 'CmsKit.BlogPosts', |
||||
|
Menus = 'CmsKit.Menus', |
||||
|
GlobalResources = 'CmsKit.GlobalResources', |
||||
|
} |
||||
@ -0,0 +1,9 @@ |
|||||
|
export enum eCmsKitAdminRouteNames { |
||||
|
Comments = 'CmsKit::Menu:Comments', |
||||
|
Tags = 'CmsKit::Menu:Tags', |
||||
|
Pages = 'CmsKit::Menu:Pages', |
||||
|
Blogs = 'CmsKit::Menu:Blogs', |
||||
|
BlogPosts = 'CmsKit::Menu:BlogPosts', |
||||
|
Menus = 'CmsKit::Menu:Menus', |
||||
|
GlobalResources = 'CmsKit::Menu:GlobalResources', |
||||
|
} |
||||
@ -0,0 +1,6 @@ |
|||||
|
import { Provider, makeEnvironmentProviders } from '@angular/core'; |
||||
|
import { CMS_KIT_ADMIN_ROUTE_PROVIDERS } from './route.provider'; |
||||
|
|
||||
|
export function provideCmsKitAdminConfig() { |
||||
|
return makeEnvironmentProviders([CMS_KIT_ADMIN_ROUTE_PROVIDERS]); |
||||
|
} |
||||
@ -0,0 +1,2 @@ |
|||||
|
export * from './cms-kit-admin-config.provider'; |
||||
|
export * from './route.provider'; |
||||
@ -0,0 +1,80 @@ |
|||||
|
import { eLayoutType, RoutesService } from '@abp/ng.core'; |
||||
|
import { eThemeSharedRouteNames } from '@abp/ng.theme.shared'; |
||||
|
import { inject, provideAppInitializer } from '@angular/core'; |
||||
|
import { eCmsKitAdminPolicyNames } from '../enums/policy-names'; |
||||
|
import { eCmsKitAdminRouteNames } from '../enums/route-names'; |
||||
|
|
||||
|
export const CMS_KIT_ADMIN_ROUTE_PROVIDERS = [ |
||||
|
provideAppInitializer(() => { |
||||
|
configureRoutes(); |
||||
|
}), |
||||
|
]; |
||||
|
|
||||
|
export function configureRoutes() { |
||||
|
const routesService = inject(RoutesService); |
||||
|
routesService.add([ |
||||
|
{ |
||||
|
path: '/cms-kit/comments', |
||||
|
name: eCmsKitAdminRouteNames.Comments, |
||||
|
parentName: eThemeSharedRouteNames.Administration, |
||||
|
order: 100, |
||||
|
layout: eLayoutType.application, |
||||
|
iconClass: 'fa fa-comments', |
||||
|
requiredPolicy: eCmsKitAdminPolicyNames.Comments, |
||||
|
}, |
||||
|
{ |
||||
|
path: '/cms-kit/tags', |
||||
|
name: eCmsKitAdminRouteNames.Tags, |
||||
|
parentName: eThemeSharedRouteNames.Administration, |
||||
|
order: 101, |
||||
|
layout: eLayoutType.application, |
||||
|
iconClass: 'fa fa-tags', |
||||
|
requiredPolicy: eCmsKitAdminPolicyNames.Tags, |
||||
|
}, |
||||
|
{ |
||||
|
path: '/cms-kit/pages', |
||||
|
name: eCmsKitAdminRouteNames.Pages, |
||||
|
parentName: eThemeSharedRouteNames.Administration, |
||||
|
order: 102, |
||||
|
layout: eLayoutType.application, |
||||
|
iconClass: 'fa fa-file', |
||||
|
requiredPolicy: eCmsKitAdminPolicyNames.Pages, |
||||
|
}, |
||||
|
{ |
||||
|
path: '/cms-kit/blogs', |
||||
|
name: eCmsKitAdminRouteNames.Blogs, |
||||
|
parentName: eThemeSharedRouteNames.Administration, |
||||
|
order: 103, |
||||
|
layout: eLayoutType.application, |
||||
|
iconClass: 'fa fa-blog', |
||||
|
requiredPolicy: eCmsKitAdminPolicyNames.Blogs, |
||||
|
}, |
||||
|
{ |
||||
|
path: '/cms-kit/blog-posts', |
||||
|
name: eCmsKitAdminRouteNames.BlogPosts, |
||||
|
parentName: eThemeSharedRouteNames.Administration, |
||||
|
order: 104, |
||||
|
layout: eLayoutType.application, |
||||
|
iconClass: 'fa fa-file-alt', |
||||
|
requiredPolicy: eCmsKitAdminPolicyNames.BlogPosts, |
||||
|
}, |
||||
|
{ |
||||
|
path: '/cms-kit/menus', |
||||
|
name: eCmsKitAdminRouteNames.Menus, |
||||
|
parentName: eThemeSharedRouteNames.Administration, |
||||
|
order: 105, |
||||
|
layout: eLayoutType.application, |
||||
|
iconClass: 'fa fa-bars', |
||||
|
requiredPolicy: eCmsKitAdminPolicyNames.Menus, |
||||
|
}, |
||||
|
{ |
||||
|
path: '/cms-kit/global-resources', |
||||
|
name: eCmsKitAdminRouteNames.GlobalResources, |
||||
|
parentName: eThemeSharedRouteNames.Administration, |
||||
|
order: 106, |
||||
|
layout: eLayoutType.application, |
||||
|
iconClass: 'fa fa-globe', |
||||
|
requiredPolicy: eCmsKitAdminPolicyNames.GlobalResources, |
||||
|
}, |
||||
|
]); |
||||
|
} |
||||
@ -0,0 +1,2 @@ |
|||||
|
export * from './enums'; |
||||
|
export * from './providers'; |
||||
@ -0,0 +1,6 @@ |
|||||
|
{ |
||||
|
"$schema": "../../../node_modules/ng-packagr/ng-entrypoint.schema.json", |
||||
|
"lib": { |
||||
|
"entryFile": "src/public-api.ts" |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,33 @@ |
|||||
|
import { Routes } from '@angular/router'; |
||||
|
import { Provider } from '@angular/core'; |
||||
|
import { |
||||
|
RouterOutletComponent, |
||||
|
authGuard, |
||||
|
permissionGuard, |
||||
|
ReplaceableRouteContainerComponent, |
||||
|
} from '@abp/ng.core'; |
||||
|
import { eCmsKitAdminComponents } from './enums'; |
||||
|
|
||||
|
export interface CmsKitAdminConfigOptions { |
||||
|
// Extension point contributors
|
||||
|
} |
||||
|
|
||||
|
export function createRoutes(config: CmsKitAdminConfigOptions = {}): Routes { |
||||
|
return [ |
||||
|
{ |
||||
|
path: '', |
||||
|
component: RouterOutletComponent, |
||||
|
providers: provideCmsKitAdminContributors(config), |
||||
|
canActivate: [authGuard, permissionGuard], |
||||
|
children: [ |
||||
|
// Routes will be added here
|
||||
|
], |
||||
|
}, |
||||
|
]; |
||||
|
} |
||||
|
|
||||
|
function provideCmsKitAdminContributors(options: CmsKitAdminConfigOptions = {}): Provider[] { |
||||
|
return [ |
||||
|
// Contributors will be added here
|
||||
|
]; |
||||
|
} |
||||
@ -0,0 +1,8 @@ |
|||||
|
// Components will be exported here
|
||||
|
// export * from './comments';
|
||||
|
// export * from './tags';
|
||||
|
// export * from './pages';
|
||||
|
// export * from './blogs';
|
||||
|
// export * from './blog-posts';
|
||||
|
// export * from './menus';
|
||||
|
// export * from './global-resources';
|
||||
@ -0,0 +1,28 @@ |
|||||
|
export enum eCmsKitAdminComponents { |
||||
|
CommentList = 'CmsKit.Admin.CommentList', |
||||
|
CommentApprove = 'CmsKit.Admin.CommentApprove', |
||||
|
CommentDetails = 'CmsKit.Admin.CommentDetails', |
||||
|
|
||||
|
TagList = 'CmsKit.Admin.TagList', |
||||
|
TagCreate = 'CmsKit.Admin.TagCreate', |
||||
|
TagEdit = 'CmsKit.Admin.TagEdit', |
||||
|
|
||||
|
PageList = 'CmsKit.Admin.PageList', |
||||
|
PageCreate = 'CmsKit.Admin.PageCreate', |
||||
|
PageEdit = 'CmsKit.Admin.PageEdit', |
||||
|
|
||||
|
BlogList = 'CmsKit.Admin.BlogList', |
||||
|
BlogCreate = 'CmsKit.Admin.BlogCreate', |
||||
|
BlogEdit = 'CmsKit.Admin.BlogEdit', |
||||
|
BlogFeatures = 'CmsKit.Admin.BlogFeatures', |
||||
|
|
||||
|
BlogPostList = 'CmsKit.Admin.BlogPostList', |
||||
|
BlogPostCreate = 'CmsKit.Admin.BlogPostCreate', |
||||
|
BlogPostEdit = 'CmsKit.Admin.BlogPostEdit', |
||||
|
|
||||
|
MenuItemList = 'CmsKit.Admin.MenuItemList', |
||||
|
MenuItemCreate = 'CmsKit.Admin.MenuItemCreate', |
||||
|
MenuItemEdit = 'CmsKit.Admin.MenuItemEdit', |
||||
|
|
||||
|
GlobalResourceList = 'CmsKit.Admin.GlobalResourceList', |
||||
|
} |
||||
@ -0,0 +1 @@ |
|||||
|
export * from './components'; |
||||
@ -0,0 +1,3 @@ |
|||||
|
export interface CmsKitAdminConfigOptions { |
||||
|
// Extension point contributors will be added here
|
||||
|
} |
||||
@ -0,0 +1 @@ |
|||||
|
export * from './config-options'; |
||||
@ -0,0 +1,8 @@ |
|||||
|
// export * from './components';
|
||||
|
// export * from './defaults';
|
||||
|
export * from './enums'; |
||||
|
// export * from './models';
|
||||
|
export * from './resolvers'; |
||||
|
// export * from './services';
|
||||
|
export * from './tokens'; |
||||
|
export * from './cms-kit-admin.routes'; |
||||
@ -0,0 +1,8 @@ |
|||||
|
import { ResolveFn } from '@angular/router'; |
||||
|
|
||||
|
// Resolvers will be defined here
|
||||
|
// Example:
|
||||
|
// export const cmsKitAdminResolver: ResolveFn<any> = (route, state) => {
|
||||
|
// // Resolver implementation
|
||||
|
// return null;
|
||||
|
// };
|
||||
@ -0,0 +1 @@ |
|||||
|
export * from './extensions.resolver'; |
||||
@ -0,0 +1,8 @@ |
|||||
|
// Services will be exported here
|
||||
|
// export * from './comments';
|
||||
|
// export * from './tags';
|
||||
|
// export * from './pages';
|
||||
|
// export * from './blogs';
|
||||
|
// export * from './blog-posts';
|
||||
|
// export * from './menus';
|
||||
|
// export * from './global-resources';
|
||||
@ -0,0 +1,4 @@ |
|||||
|
import { InjectionToken } from '@angular/core'; |
||||
|
|
||||
|
// Extension tokens will be defined here
|
||||
|
export const EXTENSIONS_IDENTIFIER = new InjectionToken<string>('EXTENSIONS_IDENTIFIER'); |
||||
@ -0,0 +1 @@ |
|||||
|
export * from './extensions.token'; |
||||
@ -0,0 +1,23 @@ |
|||||
|
/* eslint-disable */ |
||||
|
export default { |
||||
|
displayName: 'cms-kit', |
||||
|
preset: '../../jest.preset.js', |
||||
|
setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'], |
||||
|
globals: {}, |
||||
|
coverageDirectory: '../../coverage/packages/cms-kit', |
||||
|
transform: { |
||||
|
'^.+.(ts|mjs|js|html)$': [ |
||||
|
'jest-preset-angular', |
||||
|
{ |
||||
|
tsconfig: '<rootDir>/tsconfig.spec.json', |
||||
|
stringifyContentPathRegex: '\\.(html|svg)$', |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
transformIgnorePatterns: ['node_modules/(?!.*.mjs$)'], |
||||
|
snapshotSerializers: [ |
||||
|
'jest-preset-angular/build/serializers/no-ng-attributes', |
||||
|
'jest-preset-angular/build/serializers/ng-snapshot', |
||||
|
'jest-preset-angular/build/serializers/html-comment', |
||||
|
], |
||||
|
}; |
||||
@ -0,0 +1,8 @@ |
|||||
|
{ |
||||
|
"$schema": "../../node_modules/ng-packagr/ng-package.schema.json", |
||||
|
"dest": "../../dist/packages/cms-kit", |
||||
|
"lib": { |
||||
|
"entryFile": "src/public-api.ts" |
||||
|
}, |
||||
|
"allowedNonPeerDependencies": ["@abp/ng.theme.shared", "@abp/ng.components"] |
||||
|
} |
||||
@ -0,0 +1,17 @@ |
|||||
|
{ |
||||
|
"name": "@abp/ng.cms-kit", |
||||
|
"version": "~10.0.0-rc.3", |
||||
|
"homepage": "https://abp.io", |
||||
|
"repository": { |
||||
|
"type": "git", |
||||
|
"url": "https://github.com/abpframework/abp.git" |
||||
|
}, |
||||
|
"dependencies": { |
||||
|
"@abp/ng.components": "~10.0.0-rc.3", |
||||
|
"@abp/ng.theme.shared": "~10.0.0-rc.3", |
||||
|
"tslib": "^2.0.0" |
||||
|
}, |
||||
|
"publishConfig": { |
||||
|
"access": "public" |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,38 @@ |
|||||
|
{ |
||||
|
"name": "cms-kit", |
||||
|
"$schema": "../../node_modules/nx/schemas/project-schema.json", |
||||
|
"projectType": "library", |
||||
|
"sourceRoot": "packages/cms-kit/src", |
||||
|
"prefix": "abp", |
||||
|
"targets": { |
||||
|
"build": { |
||||
|
"executor": "@nx/angular:package", |
||||
|
"outputs": ["{workspaceRoot}/dist/packages/cms-kit"], |
||||
|
"options": { |
||||
|
"project": "packages/cms-kit/ng-package.json" |
||||
|
}, |
||||
|
"configurations": { |
||||
|
"production": { |
||||
|
"tsConfig": "packages/cms-kit/tsconfig.lib.prod.json" |
||||
|
}, |
||||
|
"development": { |
||||
|
"tsConfig": "packages/cms-kit/tsconfig.lib.json" |
||||
|
} |
||||
|
}, |
||||
|
"defaultConfiguration": "production" |
||||
|
}, |
||||
|
"test": { |
||||
|
"executor": "@nx/jest:jest", |
||||
|
"outputs": ["{workspaceRoot}/coverage/packages/cms-kit"], |
||||
|
"options": { |
||||
|
"jestConfig": "packages/cms-kit/jest.config.ts" |
||||
|
} |
||||
|
}, |
||||
|
"lint": { |
||||
|
"executor": "@nx/eslint:lint", |
||||
|
"outputs": ["{options.outputFile}"] |
||||
|
} |
||||
|
}, |
||||
|
"tags": [], |
||||
|
"implicitDependencies": ["core", "theme-shared", "components"] |
||||
|
} |
||||
@ -0,0 +1,6 @@ |
|||||
|
{ |
||||
|
"$schema": "../../../../node_modules/ng-packagr/ng-entrypoint.schema.json", |
||||
|
"lib": { |
||||
|
"entryFile": "src/public-api.ts" |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,2 @@ |
|||||
|
export * from './policy-names'; |
||||
|
export * from './route-names'; |
||||
@ -0,0 +1,5 @@ |
|||||
|
export enum eCmsKitPublicPolicyNames { |
||||
|
Pages = 'CmsKit.Pages', |
||||
|
Blogs = 'CmsKit.Blogs', |
||||
|
Comments = 'CmsKit.Comments', |
||||
|
} |
||||
@ -0,0 +1,5 @@ |
|||||
|
export enum eCmsKitPublicRouteNames { |
||||
|
Pages = 'CmsKit::Public:Pages', |
||||
|
Blogs = 'CmsKit::Public:Blogs', |
||||
|
BlogPosts = 'CmsKit::Public:BlogPosts', |
||||
|
} |
||||
@ -0,0 +1,6 @@ |
|||||
|
import { Provider, makeEnvironmentProviders } from '@angular/core'; |
||||
|
import { CMS_KIT_PUBLIC_ROUTE_PROVIDERS } from './route.provider'; |
||||
|
|
||||
|
export function provideCmsKitPublicConfig() { |
||||
|
return makeEnvironmentProviders([CMS_KIT_PUBLIC_ROUTE_PROVIDERS]); |
||||
|
} |
||||
@ -0,0 +1,2 @@ |
|||||
|
export * from './cms-kit-public-config.provider'; |
||||
|
export * from './route.provider'; |
||||
@ -0,0 +1,31 @@ |
|||||
|
import { RoutesService } from '@abp/ng.core'; |
||||
|
import { inject, provideAppInitializer } from '@angular/core'; |
||||
|
import { eCmsKitPublicPolicyNames } from '../enums/policy-names'; |
||||
|
import { eCmsKitPublicRouteNames } from '../enums/route-names'; |
||||
|
|
||||
|
export const CMS_KIT_PUBLIC_ROUTE_PROVIDERS = [ |
||||
|
provideAppInitializer(() => { |
||||
|
configureRoutes(); |
||||
|
}), |
||||
|
]; |
||||
|
|
||||
|
export function configureRoutes() { |
||||
|
const routesService = inject(RoutesService); |
||||
|
routesService.add([ |
||||
|
{ |
||||
|
path: '/cms-kit/pages/:slug', |
||||
|
name: eCmsKitPublicRouteNames.Pages, |
||||
|
requiredPolicy: eCmsKitPublicPolicyNames.Pages, |
||||
|
}, |
||||
|
{ |
||||
|
path: '/cms-kit/blogs', |
||||
|
name: eCmsKitPublicRouteNames.Blogs, |
||||
|
requiredPolicy: eCmsKitPublicPolicyNames.Blogs, |
||||
|
}, |
||||
|
{ |
||||
|
path: '/cms-kit/blogs/:blogSlug/:blogPostSlug', |
||||
|
name: eCmsKitPublicRouteNames.BlogPosts, |
||||
|
requiredPolicy: eCmsKitPublicPolicyNames.Blogs, |
||||
|
}, |
||||
|
]); |
||||
|
} |
||||
@ -0,0 +1,2 @@ |
|||||
|
export * from './enums'; |
||||
|
export * from './providers'; |
||||
@ -0,0 +1,6 @@ |
|||||
|
{ |
||||
|
"$schema": "../../../node_modules/ng-packagr/ng-entrypoint.schema.json", |
||||
|
"lib": { |
||||
|
"entryFile": "src/public-api.ts" |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,27 @@ |
|||||
|
import { Routes } from '@angular/router'; |
||||
|
import { Provider } from '@angular/core'; |
||||
|
import { RouterOutletComponent, ReplaceableRouteContainerComponent } from '@abp/ng.core'; |
||||
|
import { eCmsKitPublicComponents } from './enums'; |
||||
|
|
||||
|
export interface CmsKitPublicConfigOptions { |
||||
|
// Extension point contributors
|
||||
|
} |
||||
|
|
||||
|
export function createRoutes(config: CmsKitPublicConfigOptions = {}): Routes { |
||||
|
return [ |
||||
|
{ |
||||
|
path: '', |
||||
|
component: RouterOutletComponent, |
||||
|
providers: provideCmsKitPublicContributors(config), |
||||
|
children: [ |
||||
|
// Routes will be added here
|
||||
|
], |
||||
|
}, |
||||
|
]; |
||||
|
} |
||||
|
|
||||
|
function provideCmsKitPublicContributors(options: CmsKitPublicConfigOptions = {}): Provider[] { |
||||
|
return [ |
||||
|
// Contributors will be added here
|
||||
|
]; |
||||
|
} |
||||
@ -0,0 +1,5 @@ |
|||||
|
// Components will be exported here
|
||||
|
// export * from './pages';
|
||||
|
// export * from './blogs';
|
||||
|
// export * from './comments';
|
||||
|
// export * from './shared';
|
||||
@ -0,0 +1,11 @@ |
|||||
|
export enum eCmsKitPublicComponents { |
||||
|
PageView = 'CmsKit.Public.PageView', |
||||
|
BlogList = 'CmsKit.Public.BlogList', |
||||
|
BlogPostView = 'CmsKit.Public.BlogPostView', |
||||
|
Commenting = 'CmsKit.Public.Commenting', |
||||
|
MarkedItemToggle = 'CmsKit.Public.MarkedItemToggle', |
||||
|
PopularTags = 'CmsKit.Public.PopularTags', |
||||
|
Rating = 'CmsKit.Public.Rating', |
||||
|
ReactionSelection = 'CmsKit.Public.ReactionSelection', |
||||
|
Tags = 'CmsKit.Public.Tags', |
||||
|
} |
||||
@ -0,0 +1 @@ |
|||||
|
export * from './components'; |
||||
@ -0,0 +1,3 @@ |
|||||
|
export interface CmsKitPublicConfigOptions { |
||||
|
// Extension point contributors will be added here
|
||||
|
} |
||||
@ -0,0 +1 @@ |
|||||
|
export * from './config-options'; |
||||
@ -0,0 +1,7 @@ |
|||||
|
// export * from './components';
|
||||
|
export * from './enums'; |
||||
|
export * from './models'; |
||||
|
// export * from './services';
|
||||
|
export * from './tokens'; |
||||
|
export * from './resolvers'; |
||||
|
// export * from './cms-kit-public.routes';
|
||||
@ -0,0 +1,8 @@ |
|||||
|
import { ResolveFn } from '@angular/router'; |
||||
|
|
||||
|
// Resolvers will be defined here
|
||||
|
// Example:
|
||||
|
// export const cmsKitPublicResolver: ResolveFn<any> = (route, state) => {
|
||||
|
// // Resolver implementation
|
||||
|
// return null;
|
||||
|
// };
|
||||
@ -0,0 +1 @@ |
|||||
|
export * from './extensions.resolver'; |
||||
@ -0,0 +1,7 @@ |
|||||
|
// Services will be exported here
|
||||
|
// export * from './pages';
|
||||
|
// export * from './blogs';
|
||||
|
// export * from './comments';
|
||||
|
// export * from './menus';
|
||||
|
// export * from './global-resources';
|
||||
|
// export * from './marked-items';
|
||||
@ -0,0 +1,4 @@ |
|||||
|
import { InjectionToken } from '@angular/core'; |
||||
|
|
||||
|
// Extension tokens will be defined here
|
||||
|
export const EXTENSIONS_IDENTIFIER = new InjectionToken<string>('EXTENSIONS_IDENTIFIER'); |
||||
@ -0,0 +1 @@ |
|||||
|
export * from './extensions.token'; |
||||
@ -0,0 +1,3 @@ |
|||||
|
// Main package entry point
|
||||
|
// Use @abp/ng.cms-kit/admin or @abp/ng.cms-kit/public for specific functionality
|
||||
|
export {}; |
||||
@ -0,0 +1,3 @@ |
|||||
|
// Main package entry point
|
||||
|
// Use @abp/ng.cms-kit/admin or @abp/ng.cms-kit/public for specific functionality
|
||||
|
export {}; |
||||
@ -0,0 +1 @@ |
|||||
|
import 'jest-preset-angular/setup-jest'; |
||||
@ -0,0 +1,16 @@ |
|||||
|
{ |
||||
|
"extends": "../../tsconfig.base.json", |
||||
|
"files": [], |
||||
|
"include": [], |
||||
|
"references": [ |
||||
|
{ |
||||
|
"path": "./tsconfig.lib.json" |
||||
|
}, |
||||
|
{ |
||||
|
"path": "./tsconfig.spec.json" |
||||
|
} |
||||
|
], |
||||
|
"compilerOptions": { |
||||
|
"target": "es2020" |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,15 @@ |
|||||
|
{ |
||||
|
"extends": "./tsconfig.json", |
||||
|
"compilerOptions": { |
||||
|
"outDir": "../../dist/out-tsc", |
||||
|
"target": "ES2022", |
||||
|
"declaration": true, |
||||
|
"declarationMap": true, |
||||
|
"inlineSources": true, |
||||
|
"types": [], |
||||
|
"lib": ["dom", "es2020"], |
||||
|
"useDefineForClassFields": false |
||||
|
}, |
||||
|
"exclude": ["src/test-setup.ts", "**/*.spec.ts", "jest.config.ts"], |
||||
|
"include": ["**/*.ts"] |
||||
|
} |
||||
@ -0,0 +1,7 @@ |
|||||
|
{ |
||||
|
"extends": "./tsconfig.lib.json", |
||||
|
"compilerOptions": { |
||||
|
"declarationMap": false |
||||
|
}, |
||||
|
"exclude": ["**/*.spec.ts", "jest.config.ts", "src/test-setup.ts", "**/*.test.ts"] |
||||
|
} |
||||
@ -0,0 +1,9 @@ |
|||||
|
{ |
||||
|
"extends": "./tsconfig.json", |
||||
|
"compilerOptions": { |
||||
|
"outDir": "../../dist/out-tsc", |
||||
|
"module": "commonjs", |
||||
|
"types": ["jest", "node"] |
||||
|
}, |
||||
|
"include": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts"] |
||||
|
} |
||||
Loading…
Reference in new issue