Switched splitpane implementation
diff --git a/org.eclipse.mdm.application/src/main/webapp/package-lock.json b/org.eclipse.mdm.application/src/main/webapp/package-lock.json
index ea11b62..7522fe1 100644
--- a/org.eclipse.mdm.application/src/main/webapp/package-lock.json
+++ b/org.eclipse.mdm.application/src/main/webapp/package-lock.json
@@ -1302,6 +1302,7 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
"requires": {
"color-convert": "^1.9.0"
}
@@ -1885,7 +1886,7 @@
"bootstrap": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.1.3.tgz",
- "integrity": "sha1-DrNxryyESOjCEEEdDLgkpkCaEr4="
+ "integrity": "sha512-rDFIzgXcof0jDyjNosjv4Sno77X4KuPeFxG2XZZv1/Kc8DRVGVADdoQyyOVDwPqL36DDmtCQbrpMCqvpPLJQ0w=="
},
"brace-expansion": {
"version": "1.1.11",
@@ -2182,6 +2183,7 @@
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
"integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=",
+ "dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -2420,6 +2422,7 @@
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=",
+ "dev": true,
"requires": {
"color-name": "1.1.3"
}
@@ -2427,7 +2430,8 @@
"color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
},
"colors": {
"version": "1.1.2",
@@ -3371,7 +3375,8 @@
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
},
"eslint-scope": {
"version": "4.0.0",
@@ -4906,7 +4911,8 @@
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
},
"has-unicode": {
"version": "2.0.1",
@@ -6195,6 +6201,7 @@
"version": "2.2.5",
"resolved": "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz",
"integrity": "sha1-FRIAlejtgZGG5HoLAS8810GJVWA=",
+ "dev": true,
"requires": {
"chalk": "^2.1.0",
"log-symbols": "^2.1.0",
@@ -6204,12 +6211,14 @@
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
"requires": {
"ansi-regex": "^3.0.0"
}
@@ -6419,6 +6428,7 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
"integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "dev": true,
"requires": {
"chalk": "^2.0.1"
}
@@ -9697,6 +9707,11 @@
"extend-shallow": "^3.0.0"
}
},
+ "split.js": {
+ "version": "1.5.11",
+ "resolved": "https://registry.npmjs.org/split.js/-/split.js-1.5.11.tgz",
+ "integrity": "sha512-ec0sAbWnaMGpNHWo1ZgIlF3Mx7GzSyaO0GlcEBZGIFZQwYPPkbDV6JRpDmpzIshVig7USREuEPudy0ygQaskXg=="
+ },
"sprintf-js": {
"version": "1.0.3",
"resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
@@ -9987,6 +10002,7 @@
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+ "dev": true,
"requires": {
"has-flag": "^3.0.0"
}
diff --git a/org.eclipse.mdm.application/src/main/webapp/src/app/administration/admin-modules.component.html b/org.eclipse.mdm.application/src/main/webapp/src/app/administration/admin-modules.component.html
index b240a99..21c6c65 100644
--- a/org.eclipse.mdm.application/src/main/webapp/src/app/administration/admin-modules.component.html
+++ b/org.eclipse.mdm.application/src/main/webapp/src/app/administration/admin-modules.component.html
@@ -11,9 +11,8 @@
* SPDX-License-Identifier: EPL-2.0
*
********************************************************************************-->
-
-<vertical-split-pane primary-component-minsize="{{minWidthLeft()}}" secondary-component-minsize="{{minWidthRight()}}" primary-component-initialratio="{{initRatio()}}">
- <div class="split-pane-content-primary">
+ <div class="mainnavigation">
+ <div id="leftsidenav" class="split">
<nav class="navbar navbar-default navbar-vertical bg-light">
<div class="container-fluid">
<div class="" id="bs-admin-navbar">
@@ -29,7 +28,7 @@
</div>
</nav>
</div>
- <div class="split-pane-content-secondary">
+ <div id="rightsidenav" class="split">
<div class="navigator-content" (scroll)=onScroll($event)>
<router-outlet></router-outlet>
<div *ngIf="scrollBtnVisible" style="position: fixed; bottom: 30px; right: 35px;">
@@ -37,4 +36,4 @@
</div>
</div>
</div>
-</vertical-split-pane>
+</div>
diff --git a/org.eclipse.mdm.application/src/main/webapp/src/app/administration/admin-modules.component.ts b/org.eclipse.mdm.application/src/main/webapp/src/app/administration/admin-modules.component.ts
index f784dfe..41a02e2 100644
--- a/org.eclipse.mdm.application/src/main/webapp/src/app/administration/admin-modules.component.ts
+++ b/org.eclipse.mdm.application/src/main/webapp/src/app/administration/admin-modules.component.ts
@@ -13,11 +13,10 @@
********************************************************************************/
-import {Component} from '@angular/core';
+import {Component, AfterViewInit} from '@angular/core';
import {Router} from '@angular/router';
-
+import Split from 'split.js';
import { TRANSLATE } from '../core/mdm-core.module';
-import { SplitPaneModule } from 'ng2-split-pane/lib/ng2-split-pane';
@Component({
selector: 'admin-modules',
@@ -25,11 +24,13 @@
styleUrls: ['./admin-modules.component.css'],
providers: []
})
-export class AdminModulesComponent {
+export class AdminModulesComponent implements AfterViewInit {
div: any;
scrollBtnVisible = false;
+ split: Split;
+
links = [
{ name: TRANSLATE('administration.admin-modules.preferences'), path: 'preferences'},
{ name: TRANSLATE('administration.admin-modules.extsystems'), path: 'extsystems'}
@@ -46,7 +47,23 @@
}
initRatio() {
- return Math.max(200 / window.innerWidth, 0.20);
+ return Math.floor(Math.max(250 / window.innerWidth, 0.20) * 100);
+ }
+ initRatioRight() {
+ return 100 - this.initRatio();
+ }
+ ngAfterViewInit(): void {
+ this.split = Split(['#leftsidenav', '#rightsidenav'], {
+ sizes: [this.initRatio(), this.initRatioRight()],
+ minSize: this.minWidthLeft(),
+ gutterSize: 10,
+ gutterStyle: function (dimension, gutterSize) {
+ return {
+ 'width': gutterSize + 'px',
+ 'height': (document.getElementById('leftsidenav').clientHeight - 5) + 'px'
+ }
+ },
+ });
}
onScrollTop() {
diff --git a/org.eclipse.mdm.application/src/main/webapp/src/app/administration/admin.module.ts b/org.eclipse.mdm.application/src/main/webapp/src/app/administration/admin.module.ts
index 68eaff0..59c1cf7 100644
--- a/org.eclipse.mdm.application/src/main/webapp/src/app/administration/admin.module.ts
+++ b/org.eclipse.mdm.application/src/main/webapp/src/app/administration/admin.module.ts
@@ -25,7 +25,6 @@
import { AdminModulesComponent } from './admin-modules.component';
import { AdminRoutingModule } from './admin-routing.module';
import { ExtSystemService } from './extsystem.service';
-import { SplitPaneModule } from 'ng2-split-pane/lib/ng2-split-pane';
import { PreferenceModule } from './preference.module';
import { TableModule } from 'primeng/table';
import { ContextMenuModule } from 'primeng/contextmenu';
@@ -39,7 +38,6 @@
MDMCoreModule,
FormsModule,
ReactiveFormsModule,
- SplitPaneModule,
PreferenceModule,
TableModule,
ContextMenuModule,
diff --git a/org.eclipse.mdm.application/src/main/webapp/src/app/administration/extsystem-editor.component.ts b/org.eclipse.mdm.application/src/main/webapp/src/app/administration/extsystem-editor.component.ts
index 02e0ab8..5783bfd 100644
--- a/org.eclipse.mdm.application/src/main/webapp/src/app/administration/extsystem-editor.component.ts
+++ b/org.eclipse.mdm.application/src/main/webapp/src/app/administration/extsystem-editor.component.ts
@@ -312,8 +312,8 @@
this.translateService.instant('administration.extsystem.err-cannot-save-ext-system-attr'), error);
// restore values
this.getAttributeFromNode(this.tmpExtSystemAttr, 'Name').value = this.getAttributeValueFromNode(this.tmpNode, 'Name');
- this.getAttributeFromNode(this.tmpExtSystemAttr, 'Description').value = this.getAttributeValueFromNode(this.tmpNode, 'Description');
- this.tmpExtSystemAttr.name = this.getAttributeValueFromNode(this.tmpExtSystemAttr, 'Name');
+ this.getAttributeFromNode(this.tmpExtSystemAttr, 'Description').value = <string> this.getAttributeValueFromNode(this.tmpNode, 'Description');
+ this.tmpExtSystemAttr.name = <string> this.getAttributeValueFromNode(this.tmpExtSystemAttr, 'Name');
this.tmpNode = undefined;
}
);
@@ -325,7 +325,7 @@
this.dialogExtSystemAttr = false;
this.getAttributeFromNode(this.tmpExtSystemAttr, 'Name').value = this.getAttributeValueFromNode(this.tmpNode, 'Name');
this.getAttributeFromNode(this.tmpExtSystemAttr, 'Description').value = this.getAttributeValueFromNode(this.tmpNode, 'Description');
- this.tmpExtSystemAttr.name = this.getAttributeValueFromNode(this.tmpExtSystemAttr, 'Name');
+ this.tmpExtSystemAttr.name = <string> this.getAttributeValueFromNode(this.tmpExtSystemAttr, 'Name');
this.tmpExtSystemAttr = undefined;
}
@@ -419,7 +419,7 @@
this.getAttributeFromNode(this.tmpExtSystemMDMAttr, 'CompType').value = this.getAttributeValueFromNode(this.tmpNode, 'CompType');
this.getAttributeFromNode(this.tmpExtSystemMDMAttr, 'CompName').value = this.getAttributeValueFromNode(this.tmpNode, 'CompName');
this.getAttributeFromNode(this.tmpExtSystemMDMAttr, 'AttrName').value = this.getAttributeValueFromNode(this.tmpNode, 'AttrName');
- this.tmpExtSystemMDMAttr.name = this.getAttributeValueFromNode(this.tmpExtSystemMDMAttr, 'Name');
+ this.tmpExtSystemMDMAttr.name = <string> this.getAttributeValueFromNode(this.tmpExtSystemMDMAttr, 'Name');
this.tmpNode = undefined;
}
);
@@ -528,26 +528,26 @@
}
getCatalogComponentStr() {
- let type: string = this.getAttributeValueFromNode(this.tmpExtSystemMDMAttr, 'CompType');
+ let type: string = <string> this.getAttributeValueFromNode(this.tmpExtSystemMDMAttr, 'CompType');
let data: string[] = new Array();
// sensor does not have catalog elements
if (type !== undefined && type !== 'Sensor') {
- let tmp = this.getCatalogComponents(type);
- for (let i in tmp) {
- data.push(tmp[i].name);
+ let components = this.getCatalogComponents(type);
+ for (let component of components) {
+ data.push(component.name);
}
}
return data;
}
getAttributeComponentStr() {
- let type: string = this.getAttributeValueFromNode(this.tmpExtSystemMDMAttr, 'CompType');
- let comp: string = this.getAttributeValueFromNode(this.tmpExtSystemMDMAttr, 'CompName');
+ let type: string = <string> this.getAttributeValueFromNode(this.tmpExtSystemMDMAttr, 'CompType');
+ let comp: string = <string> this.getAttributeValueFromNode(this.tmpExtSystemMDMAttr, 'CompName');
let data: string[] = new Array();
if (type !== undefined && comp !== undefined) {
- let tmp = this.getAttributeComponents(type, comp);
- for (let i in tmp) {
- data.push(tmp[i].name);
+ let components = this.getAttributeComponents(type, comp);
+ for (let component of components) {
+ data.push(component.name);
}
}
return data;