Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(demos): add compared to WC section with samples to compare components #14813

Open
wants to merge 24 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
07b602f
feat(sample): add compared to WC section with samples to compare comp…
didimmova Sep 24, 2024
ce7524f
feat(demos): clear out samples a bit more
didimmova Sep 24, 2024
cc79985
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Sep 24, 2024
f8959c2
feat(demos): update wc slider and igc fab button
didimmova Sep 24, 2024
9e0dcbb
fix(demos): revert igc fab button
didimmova Sep 24, 2024
d940c96
feat(demos): make igc components have igc components slotted in them
didimmova Sep 25, 2024
90c5434
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Sep 26, 2024
cba8da9
feat(demos): slot igc items directly in chip demo
didimmova Oct 1, 2024
192d5da
Merge branch 'master' into didimmova/angular-v-wc-samples
simeonoff Oct 1, 2024
8575910
demos(properties-panel): add initial spec file
simeonoff Oct 1, 2024
6a48e03
feat(properties-panel): add properties panel component
didimmova Oct 3, 2024
dc1e77d
feat(properties-panel): update template and ts file
didimmova Oct 8, 2024
5af8767
feat(properties-panel): make propertyChangeService and wrap the panel…
didimmova Oct 9, 2024
1f23f84
feat(property-panel): create service for event handling, use navdrawe…
didimmova Oct 11, 2024
f751d25
Merge pull request #14908 from IgniteUI/didimmova/property-panel
didimmova Oct 11, 2024
3a0411f
gc -m "feat(property-panel): enable adding custom controls"
didimmova Oct 16, 2024
48d4934
Merge pull request #14898 from IgniteUI/didimmova/property-panel-navd…
didimmova Oct 16, 2024
4d11622
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Oct 16, 2024
9cfe510
feat(demos): update mapping values and pageHeading
didimmova Oct 16, 2024
3e0f621
fix(badge): update badge sample
didimmova Oct 16, 2024
345d06a
feat(demos): add properties panel to carousel and chips demos
didimmova Oct 16, 2024
9612434
feat(dialog/dropdown/exp-panel): add properties panel
didimmova Oct 17, 2024
e5d89ce
feat(demos): separate inputs sample and add properties panel
didimmova Oct 17, 2024
5922fe2
feat(slider): add properties panel to slider sample
didimmova Oct 17, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions src/app/app.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,14 @@
<igx-icon>{{item.icon}}</igx-icon>
<span class="navdrawer-ellipsis">{{item.name}}</span>
</span>

<!--WC Comparisons-->
<span igxDrawerItem [isHeader]="true">Compared to WC</span>

<span *ngFor="let item of WcCompareLinks" igxDrawerItem igxRipple routerLinkActive="igx-nav-drawer__item--active" routerLink="{{item.link}}">
<igx-icon>{{item.icon}}</igx-icon>
<span class="navdrawer-ellipsis">{{item.name}}</span>
</span>
</nav>
</ng-template>

Expand All @@ -60,6 +68,19 @@
</ng-template>
</igx-nav-drawer>

<igx-nav-drawer
*ngIf="panelConfig"
#paneldrawer
[pin]="true"
position="right"
[isOpen]="panelConfig"
id="paneldrawer">

<ng-template igxDrawer>
<app-properties-panel [config]="panelConfig"></app-properties-panel>
</ng-template>
</igx-nav-drawer>

<div [style.paddingLeft]="drawerState.miniVariant && !drawerState.pin ? '60px' : null" class="content">
<app-page-header [title]="urlString"></app-page-header>
<div class="sample-wrapper">
Expand Down
4 changes: 4 additions & 0 deletions src/app/app.component.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
.test {
color: red;
}

#paneldrawer {
--igx-nav-drawer-size: 27rem;
}
149 changes: 148 additions & 1 deletion src/app/app.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import { PageHeaderComponent } from './pageHeading/pageHeading.component';
import { IgxIconComponent } from '../../projects/igniteui-angular/src/lib/icon/icon.component';
import { NgFor, NgIf } from '@angular/common';
import { IgxNavDrawerTemplateDirective, IgxNavDrawerItemDirective, IgxNavDrawerMiniTemplateDirective } from '../../projects/igniteui-angular/src/lib/navigation-drawer/navigation-drawer.directives';
import { PropertiesPanelComponent, PropertyPanelConfig } from './properties-panel/properties-panel.component';
import { PropertyChangeService } from './properties-panel/property-change.service';

@Component({
selector: 'app-root',
Expand All @@ -25,6 +27,7 @@ import { IgxNavDrawerTemplateDirective, IgxNavDrawerItemDirective, IgxNavDrawerM
PageHeaderComponent,
RouterOutlet,
IgxRippleDirective,
PropertiesPanelComponent
],
})
export class AppComponent implements OnInit {
Expand All @@ -34,6 +37,8 @@ export class AppComponent implements OnInit {
@ViewChild('navdrawer', { read: IgxNavigationDrawerComponent, static: true })
public navdrawer;

public panelConfig: PropertyPanelConfig | null = null;

public urlString: string;

public drawerState = {
Expand Down Expand Up @@ -698,10 +703,152 @@ export class AppComponent implements OnInit {
}
].sort((componentLink1, componentLink2) => componentLink1.name > componentLink2.name ? 1 : -1);

constructor(private router: Router, private iconService: IgxIconService) {
public WcCompareLinks = [
{
link: '/avatar-showcase',
icon: 'radio_button_unchecked',
name: 'Avatar'
},
{
link: '/badge-showcase',
icon: 'radio_button_unchecked',
name: 'Badge'
},
{
link: '/banner-showcase',
icon: 'radio_button_unchecked',
name: 'Banner'
},
{
link: '/button-showcase',
icon: 'radio_button_unchecked',
name: 'Buttons'
},
{
link: '/buttonGroup-showcase',
icon: 'radio_button_unchecked',
name: 'Button Group'
},
{
link: '/calendar-showcase',
icon: 'radio_button_unchecked',
name: 'Calendar'
},
{
link: '/card-showcase',
icon: 'radio_button_unchecked',
name: 'Card'
},
{
link: '/carousel-showcase',
icon: 'radio_button_unchecked',
name: 'Carousel'
},
{
link: '/checkbox-showcase',
icon: 'radio_button_unchecked',
name: 'Checkbox'
},
{
link: '/chip-showcase',
icon: 'radio_button_unchecked',
name: 'Chips'
},
{
link: '/combo-showcase',
icon: 'radio_button_unchecked',
name: 'Combo'
},
{
link: '/datePicker-showcase',
icon: 'radio_button_unchecked',
name: 'Date Picker'
},
{
link: '/dialog-showcase',
icon: 'radio_button_unchecked',
name: 'Dialog'
},
{
link: '/dropDown-showcase',
icon: 'radio_button_unchecked',
name: 'DropDown'
},
{
link: '/expansionPanel-showcase',
icon: 'radio_button_unchecked',
name: 'Expansion Panel'
},
{
link: '/icon-button-showcase',
icon: 'radio_button_unchecked',
name: 'Icon Button'
},
{
link: '/input-group-showcase',
icon: 'radio_button_unchecked',
name: 'Input Group'
},
{
link: '/list-showcase',
icon: 'radio_button_unchecked',
name: 'List'
},
{
link: '/radio-showcase',
icon: 'radio_button_unchecked',
name: 'Radio'
},
{
link: '/select-showcase',
icon: 'radio_button_unchecked',
name: 'Select'
},
{
link: '/slider-showcase',
icon: 'radio_button_unchecked',
name: 'Slider'
},
{
link: '/snackbar-showcase',
icon: 'radio_button_unchecked',
name: 'Snackbar'
},
{
link: '/stepper-showcase',
icon: 'radio_button_unchecked',
name: 'Stepper'
},
{
link: '/switch-showcase',
icon: 'radio_button_unchecked',
name: 'Switch'
},
{
link: '/tabs-showcase',
icon: 'radio_button_unchecked',
name: 'Tabs'
},
{
link: '/toast-showcase',
icon: 'radio_button_unchecked',
name: 'Toast'
},
{
link: '/tree-showcase',
icon: 'radio_button_unchecked',
name: 'Tree'
}
].sort((componentLink1, componentLink2) => componentLink1.name > componentLink2.name ? 1 : -1);

constructor(private router: Router, private iconService: IgxIconService, private propertyChangeService: PropertyChangeService) {
iconService.setFamily('fa-solid', { className: 'fa', type: 'font', prefix: 'fa-'});
iconService.setFamily('fa-brands', { className: 'fab', type: 'font' });

this.propertyChangeService.panelConfig$.subscribe(config => {
this.panelConfig = config;
});

router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe(() => {
for (const component of this.componentLinks) {
if (component.link === router.url) {
Expand Down
Loading
Loading