Skip to content

Commit ca504fd

Browse files
committed
Update bootstrap version to 5.1.3
1 parent 749f3df commit ca504fd

File tree

14 files changed

+154
-87
lines changed

14 files changed

+154
-87
lines changed

angular.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
"input": "node_modules/ace-builds/src-noconflict/ext-language_tools.js",
6161
"inject": true
6262
},
63-
"node_modules/marked/lib/marked.js"
63+
"node_modules/marked/marked.min.js"
6464
],
6565
"vendorChunk": true,
6666
"extractLicenses": false,
@@ -98,6 +98,9 @@
9898
},
9999
"development": {
100100
"tsConfig": "./tsconfig.dev.json"
101+
},
102+
"fix": {
103+
"tsConfig": "./tsconfig.fix.json"
101104
}
102105
},
103106
"defaultConfiguration": ""
@@ -113,6 +116,9 @@
113116
},
114117
"development": {
115118
"browserTarget": "ngx-dynamic-components:build:development"
119+
},
120+
"fix": {
121+
"browserTarget": "ngx-dynamic-components:build:fix"
116122
}
117123
}
118124
},

package.json

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ngx-dynamic-components",
3-
"version": "13.1.9",
3+
"version": "13.1.10",
44
"description": "NGX Dynamic Components is a configuration based dynamic components library for Angular. That allows you to rapidly create dynamic forms or any other mobile-friendly web layouts.",
55
"author": "FalconSoft Ltd",
66
"repository": {
@@ -24,47 +24,48 @@
2424
"lint": "ng lint",
2525
"e2e": "ng e2e",
2626
"prepare": "husky install",
27-
"postinstall": "ngcc"
27+
"postinstall": "ngcc",
28+
"fix": "ng serve --configuration=fix"
2829
},
2930
"dependencies": {
30-
"@angular/animations": "^13.1.0",
31-
"@angular/cdk": "^13.1.0",
32-
"@angular/common": "^13.1.0",
33-
"@angular/compiler": "^13.1.0",
34-
"@angular/core": "^13.1.0",
35-
"@angular/flex-layout": "^13.0.0-beta.36",
36-
"@angular/forms": "^13.1.0",
37-
"@angular/material": "^13.1.0",
38-
"@angular/platform-browser": "^13.1.0",
39-
"@angular/platform-browser-dynamic": "^13.1.0",
40-
"@angular/router": "^13.1.0",
31+
"@angular/animations": "^13.2.6",
32+
"@angular/cdk": "^13.2.6",
33+
"@angular/common": "^13.2.6",
34+
"@angular/compiler": "^13.2.6",
35+
"@angular/core": "^13.2.6",
36+
"@angular/flex-layout": "^13.0.0-beta.38",
37+
"@angular/forms": "^13.2.6",
38+
"@angular/material": "^13.2.6",
39+
"@angular/platform-browser": "^13.2.6",
40+
"@angular/platform-browser-dynamic": "^13.2.6",
41+
"@angular/router": "^13.2.6",
4142
"@ng-select/ng-select": "^8.1.1",
4243
"ace-builds": "^1.4.12",
4344
"angular-resizable-element": "^4.0.0",
44-
"angular-split": "^13.1.0",
45-
"bootstrap": "^4.6.0",
45+
"angular-split": "^13.2.0",
46+
"bootstrap": "^5.1.3",
4647
"core-js": "^3.19.3",
47-
"fast-xml-parser": "^4.0.0-beta.8",
48+
"fast-xml-parser": "^4.0.6",
4849
"font-awesome": "^4.7.0",
4950
"isomorphic-xml2js": "0.1.3",
5051
"json-formatter-js": "^2.3.3",
5152
"jspython-interpreter": "^2.1.7",
52-
"ngx-bootstrap": "^6.2.0",
53-
"ngx-markdown": "^13.0.0",
53+
"ngx-bootstrap": "^8.0.0",
54+
"ngx-markdown": "^13.1.0",
5455
"rxjs": "^7.4.0",
5556
"tslib": "^2.3.1",
5657
"zone.js": "~0.11.4"
5758
},
5859
"devDependencies": {
59-
"@angular-devkit/build-angular": "~13.1.1",
60-
"@angular-eslint/builder": "^13.0.1",
61-
"@angular-eslint/eslint-plugin": "^13.0.1",
62-
"@angular-eslint/eslint-plugin-template": "^13.0.1",
63-
"@angular-eslint/schematics": "13.0.1",
64-
"@angular-eslint/template-parser": "^13.0.1",
65-
"@angular/cli": "^13.1.1",
66-
"@angular/compiler-cli": "^13.1.0",
67-
"@angular/language-service": "^13.1.0",
60+
"@angular-devkit/build-angular": "~13.2.6",
61+
"@angular-eslint/builder": "^13.1.0",
62+
"@angular-eslint/eslint-plugin": "^13.1.0",
63+
"@angular-eslint/eslint-plugin-template": "^13.1.0",
64+
"@angular-eslint/schematics": "13.1.0",
65+
"@angular-eslint/template-parser": "^13.1.0",
66+
"@angular/cli": "^13.2.6",
67+
"@angular/compiler-cli": "^13.2.6",
68+
"@angular/language-service": "^13.2.6",
6869
"@types/eslint": "^8.2.1",
6970
"@types/estree": "^0.0.50",
7071
"@types/jasmine": "~3.7.7",

projects/bootstrap/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ngx-dynamic-components/bootstrap",
3-
"version": "13.1.9",
3+
"version": "13.1.10",
44
"private": false,
55
"description": "@ngx-dynamic-components/bootstrap is Angular 7+ library what contains a bootstrap interfaces to build a configuration driven web pages and workflows.",
66
"author": "FalconSoft Ltd <[email protected]>",
@@ -22,8 +22,8 @@
2222
"@angular/animations": "^13.0.3",
2323
"@angular/common": "^13.0.3",
2424
"@angular/core": "^13.0.3",
25-
"@ngx-dynamic-components/core": ">=13.1.2",
25+
"@ngx-dynamic-components/core": ">=13.1.10",
2626
"bootstrap-scss": "^4.6.0",
27-
"ngx-bootstrap": "^6.2.0"
27+
"ngx-bootstrap": "^8.0.0"
2828
}
2929
}

projects/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ngx-dynamic-components/core",
3-
"version": "13.1.9",
3+
"version": "13.1.10",
44
"private": false,
55
"description": "@ngx-dynamic-components/core is Angular 7+ library what contains a core interfaces to build a configuration driven web pages and workflows.",
66
"author": "FalconSoft Ltd <[email protected]>",

projects/core/src/lib/components/base-dynamic-component.ts

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,21 @@ import { StyleProperties, StylePropertiesList, BaseProperties } from '../propert
66
@Directive()
77
export abstract class BaseDynamicComponent<T = StyleProperties> implements OnInit, OnChanges, OnDestroy { // eslint-disable-line
88
dataModel: any;
9-
uiModel: UIModel<T>;
9+
uiModel: UIModel<T> = {
10+
type: undefined,
11+
itemProperties: ({} as T)
12+
};
1013
containerRef?: ViewContainerRef;
1114
abstract eventHandlers: EventEmitter<ComponentEvent>;
1215
@Output() render = new EventEmitter();
1316
changedDataModel = new EventEmitter();
14-
element: HTMLElement;
17+
element?: HTMLElement;
1518

1619
constructor(public injector?: Injector) { }
1720

1821
async ngOnInit(): Promise<void> {
1922
this.setHostStyles();
20-
this.emitEvent((this.properties as BaseProperties).onInit);
23+
this.emitEvent((this.properties as BaseProperties)?.onInit);
2124
}
2225

2326
abstract ngOnChanges(changes: SimpleChanges): Promise<void>;
@@ -45,7 +48,7 @@ export abstract class BaseDynamicComponent<T = StyleProperties> implements OnIni
4548
}
4649
}
4750

48-
protected emitEvent(funcSign: string, parameters: any = null): void {
51+
protected emitEvent(funcSign?: string, parameters: any = null): void {
4952
if (funcSign) {
5053
const fParsed = parseArgFunction(funcSign);
5154
const eventName = fParsed[0];
@@ -66,20 +69,26 @@ export abstract class BaseDynamicComponent<T = StyleProperties> implements OnIni
6669
}
6770

6871
protected setHostStyles(): void {
69-
const props = (this.properties ?? {}) as StyleProperties;
70-
if (props.class) {
71-
this.element.className += ' ' + props.class;
72-
}
73-
74-
props.style?.split(';').forEach(s => {
75-
const [key, val] = s.split(':').map(v => v.trim());
76-
this.element.style[kebabToCamelCase(key)] = val;
77-
});
72+
if (this.element && this.properties) {
7873

79-
StylePropertiesList.forEach(b => {
80-
if (props && props.hasOwnProperty(b)) {
81-
this.element.style[b] = props[b];
74+
const props = this.properties as StyleProperties;
75+
if (props.class) {
76+
this.element.className += ' ' + props.class;
8277
}
83-
});
78+
79+
props.style?.split(';').forEach(s => {
80+
if (this.element) {
81+
const [key, val] = s.split(':').map(v => v.trim());
82+
this.element.style[kebabToCamelCase(key) as any] = val;
83+
}
84+
});
85+
86+
StylePropertiesList.forEach(b => {
87+
if (props && props.hasOwnProperty(b) && this.element) {
88+
const val = (props as any)[b];
89+
this.element.style[b as any] = val;
90+
}
91+
});
92+
}
8493
}
8594
}

projects/core/src/lib/components/base-ui-component.ts

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,30 @@ import { renderChildren } from '../utils/renderer';
1010
@Directive()
1111
// eslint-disable-next-line
1212
export class BaseUIComponent<T = StyleProperties> extends BaseDynamicComponent<T> implements OnDestroy, OnChanges, OnInit {
13-
@HostBinding('style.width') width: string;
14-
@HostBinding('style.min-width') minWidth: string;
15-
@HostBinding('style.max-width') maxWidth: string;
16-
@HostBinding('style.height') height: string;
17-
@HostBinding('style.min-height') minHeight: string;
18-
@HostBinding('style.max-height') maxHeight: string;
19-
@HostBinding('style.padding') padding: string;
20-
@HostBinding('style.margin') margin: string;
21-
@HostBinding('style.display') display = 'initial';
22-
@HostBinding('style.border-left') borderLeft: string;
23-
@HostBinding('style.border-top') borderTop: string;
24-
@HostBinding('style.border-right') borderRight: string;
25-
@HostBinding('style.border-bottom') borderBottom: string;
26-
@HostBinding('style.background') background: string;
27-
@HostBinding('class') classAttr: string;
13+
@HostBinding('style.width') width?: string;
14+
@HostBinding('style.min-width') minWidth?: string;
15+
@HostBinding('style.max-width') maxWidth?: string;
16+
@HostBinding('style.height') height?: string;
17+
@HostBinding('style.min-height') minHeight?: string;
18+
@HostBinding('style.max-height') maxHeight?: string;
19+
@HostBinding('style.padding') padding?: string;
20+
@HostBinding('style.margin') margin?: string;
21+
@HostBinding('style.display') display? = 'initial';
22+
@HostBinding('style.border-left') borderLeft?: string;
23+
@HostBinding('style.border-top') borderTop?: string;
24+
@HostBinding('style.border-right') borderRight?: string;
25+
@HostBinding('style.border-bottom') borderBottom?: string;
26+
@HostBinding('style.background') background?: string;
27+
@HostBinding('class') classAttr?: string;
2828

2929
@Input() dataModel: any;
30-
@Input() uiModel: UIModel<T>;
30+
@Input() uiModel: UIModel<T> = {
31+
type: undefined,
32+
itemProperties: {} as T
33+
};
3134
@Output() eventHandlers = new EventEmitter<ComponentEvent>();
3235
@Output() changedDataModel = new EventEmitter();
33-
@ViewChild('vc', {read: ViewContainerRef, static: true}) containerRef: ViewContainerRef;
36+
@ViewChild('vc', {read: ViewContainerRef, static: true}) containerRef?: ViewContainerRef;
3437

3538
protected readonly hostBindings = ['width', 'height', 'padding', 'margin', 'background', 'display',
3639
'minHeight', 'maxHeight', 'minWidth', 'maxWidth', 'visible'];

projects/core/src/lib/ui-components/container/container.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { ComponentExample, UIModel, ComponentDescriptor, Categories, XMLResult }
1313
`]
1414
})
1515
export class ContainerComponent extends BaseUIComponent<ContainerProperties> {
16-
@HostBinding('style.display') display = undefined;
16+
@HostBinding('style.display') display?: string;
1717
}
1818

1919
export class ContainerProperties extends StyleProperties {

projects/tools/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ngx-dynamic-components/tools",
3-
"version": "13.1.9",
3+
"version": "13.1.10",
44
"private": false,
55
"description": "@ngx-dynamic-components/tools is Angular 7+ library what contains a core interfaces to build a configuration driven web pages.",
66
"author": "FalconSoft Ltd <[email protected]>",
@@ -23,9 +23,9 @@
2323
"@angular/core": "^13.0.3",
2424
"@angular/flex-layout": "^13.0.0-beta.36",
2525
"@angular/material": "^13.0.3",
26-
"@ngx-dynamic-components/bootstrap": ">=13.1.2",
27-
"@ngx-dynamic-components/core": ">=13.1.2",
26+
"@ngx-dynamic-components/bootstrap": ">=13.1.10",
27+
"@ngx-dynamic-components/core": ">=13.1.10",
2828
"ace-builds": "^1.4.12",
29-
"angular-split": "^5.0.0"
29+
"angular-split": "^13.2.0"
3030
}
3131
}

src/app/components/item-properties/item-properties.component.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,11 @@ import { ComponentDescriptor, PropTypes } from '@ngx-dynamic-components/core';
88
})
99
export class ItemPropertiesComponent implements OnInit, OnChanges {
1010

11-
@Input()
12-
component: ComponentDescriptor;
11+
@Input() component?: ComponentDescriptor;
1312
displayedColumns = ['name', 'example', 'description'];
1413

15-
properties: [];
16-
events: [];
14+
properties?: [];
15+
events?: [];
1716

1817
constructor() { }
1918

src/app/components/page-header.component.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,13 @@ import { Component, Input, Output, EventEmitter } from '@angular/core';
2929
})
3030
export class PageHeaderComponent {
3131

32-
@Input()
33-
title: string;
32+
@Input() title?: string;
3433

35-
@Input()
36-
toggle: boolean;
34+
@Input() toggle?: boolean;
3735

3836
opened = false;
3937

4038
// eslint-disable-next-line @angular-eslint/no-output-native
41-
@Output()
42-
openPage = new EventEmitter<boolean>();
39+
@Output() openPage = new EventEmitter<boolean>();
4340

4441
}

src/app/components/side-bar/side-bar.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { Component, Input } from '@angular/core';
77
})
88
export class SideBarComponent {
99

10-
@Input() groups: GroupItem[];
10+
@Input() groups?: GroupItem[];
1111

1212
getUrl(group: GroupItem, item: {name: string}): string[] {
1313
if (group.url) {

src/app/components/sidenav-layout.component.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,8 @@ import { map } from 'rxjs/operators';
4242
})
4343
export class SidenavLayoutComponent {
4444

45-
@Input()
46-
title: string;
47-
48-
categories: GroupItem[];
45+
@Input() title?: string;
46+
categories?: GroupItem[];
4947
isHandSet$: Observable<boolean> = this.breakpointObserver.observe(Breakpoints.Handset).pipe(map(r => r.matches));
5048

5149
constructor(private breakpointObserver: BreakpointObserver) {}

src/app/examples/examples.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export function getGroupedExamples(): { name: string; examples: [] }[] {
1414
map[ex.type] = map[ex.type] || [];
1515
map[ex.type].push(ex);
1616
return map;
17-
}, {});
17+
}, {} as Record<string, any[]>);
1818

1919
return Object.entries(groups).map(([key, val]: [string, []]) => ({
2020
name: key,

0 commit comments

Comments
 (0)