Contains common UI components powered by angular. These components are designed to be used in sunbird consumption platforms (mobile app, web portal, offline desktop app) to drive reusability, maintainability hence reducing the redundant development effort significantly.
{% hint style="info" %} https://github.com/Sunbird-Ed/SunbirdEd-consumption-ngcomponents {% endhint %}
Criteria | Info |
---|---|
Current Release Branch | v9_Migration_Branch |
NPM Published version (Latest) | 4.5.2 |
NPM Package Name | @project-sunbird/common-consumption-v9 |
NPM Link | https://www.npmjs.com/package/@project-sunbird/common-consumption-v9 |
Works | In Angular Projects Only |
\
Component | Code |
---|---|
LibraryCard (sb-library-card-v2) Basic Card to represent a content/asset/collection | <sb-library-card-v2><sb-library-card-v2> |
CourseCard (sb-course-card) Can be used in the courses page to represent course distinctively | <sb-course-card><sb-course-card> |
MyCourseCard (sb-my-course-card) Can be used in the My courses section for all consumption platforms | <sb-my-course-card></sb-my-course-card> |
TocCard (sb-toc-card) Can be used to represent a content in a collection. | NA |
LibraryCardsGrid (sb-library-cards-grid) Can be used represent list of collection for all consumption platforms | <sb-library-cards-grid [title]="Grid Title" [isLoading]="isLoading[maxCardCount="3"><sb-library-cards-grid> |
CourseCardsGrid (sb-course-cards-hlist) Can be used represent list of courses for all consumption platforms | <sb-course-cards-hlist [multiRow]="true" [contentList]="range(15)"[type="'curiculum_course_card_grid'" [title]="'Courses'" [isLoading]="isLoading"><sb-course-cards-hlist> |
LibraryCardsStack (sb-library-cards-stack) Can be used represent Stack of collections for all consumption platforms | <sb-library-cards-stack [title]="Stack Title"[contentList]="range(15)" [maxCardCount]="3" [isLoading]="isLoading"></sb-library-cards-stack> |
LibraryFilters (sb-library-filters) Used to construct filters based on facets | |
FAQ Component (sb-faq) Faq Section for Consumption Clients with intractable events. This is form configuration driven. | |
Card hover component (sb-card-hover) Can be used with library card to add overlay on card with action items | |
TOCItem component (sb-toc-item) shows given array of Items with accordion structure. | |
TOCChildItem component (sb-toc-item) Shows given array of Items with accordion structure. | |
Member Card component (sb-member-card) Member Card With Menu. | <sb-member-card></sb-member-card> |
Member List component (sb-member-list) Member List With Cards. | <sb-member-list [layoutConfig]="{size:'medium', isBold:false, isSelectable:true,view:'horizontal'}" [memberList]="range(15)" [isMenu]="false"(cardClick)="memberCardClick`` ($event)" (menuClick)="menuClick($event)"></ sb-member-list>` |
Group Card component (sb-group-card) Group Card. | <sb-group-card></sb-group-card> |
For help getting started with a new Angular app, check out the Angular CLI. For existing apps, follow these steps to begin using .
npm install @project-sunbird/common-consumption --save
npm install @project-sunbird/sb-styles --save
"styles": [
...
...
"./node_modules/@project-sunbird/sb-styles/assets/_styles.scss"
]
Add following under architect.build.assets
{
...
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
...
...
"assets": [
...
...
{
"glob": "**/*.*",
"input": "./node_modules/@project-sunbird/common-consumption/assets",
"output": "./assets/common-consumption"
}
],
"styles": [
...
"./node_modules/@project-sunbird/sb-styles/assets/_styles.scss"
],
...
...
},
Import the NgModule for each component you want to use:
import { CommonConsumptionModule} from '@project-sunbird/common-consumption';
@NgModule({
...
imports: [CommonConsumptionModule],
...
})
export class TestAppModule { }
Alternatively, you can create a separate NgModule that imports and then re-exports all of the Angular components that you will use in your application. By exporting them again, other modules can simply include your CustomSunbirdComponentsModule wherever components are needed, and automatically get all of the exported modules. A good place for importing/exporting the application-wide modules is the SharedModule.
import { CardsModule } from '@project-sunbird/common-consumption/card';
import { PopoverModule } from '@project-sunbird/common-consumption/popover';
@NgModule({
...
imports: [CardsModule, PopoverModule],
exports: [CardsModule, PopoverModule],
...
})
export class MyOwnCustomSunbirdComponentsModule { }
For More Information, Please refer to GitHub repo link.