#50000 Issue 49999 - Integrate React structure into cockpit-389-ds
Closed 3 years ago by spichugi. Opened 5 years ago by spichugi.
spichugi/389-ds-base react_refactor  into  master

file modified
+22 -1
@@ -326,6 +326,7 @@ 

  serverincdir = $(includedir)/@serverincdir@

  gdbautoloaddir = $(prefixdir)/share/gdb/auto-load$(sbindir)

  cockpitdir = $(prefixdir)/share/cockpit@cockpitdir@

+ metainfodir = $(prefixdir)/share/metainfo/389-console

  

  # This has to be hardcoded to /lib - $libdir changes between lib/lib64, but

  # sysctl.d is always in /lib.
@@ -758,7 +759,9 @@ 

  install-data-hook:

  	if [ "$(srcdir)" != "." ]; then cp -r $(srcdir)/src/cockpit src ; fi

  	mkdir -p $(DESTDIR)$(cockpitdir)

- 	rsync -rupE src/cockpit/389-console/ $(DESTDIR)$(cockpitdir)

+ 	rsync -rupE src/cockpit/389-console/cockpit_dist/ $(DESTDIR)$(cockpitdir)

On a workspace were src/cockpit/389-console/cockpit_dist did not exist before the build. I got 'Not such file or directory'.
After creating the directory, it built successfully.
I do not know where it should be created

+ 	mkdir -p $(DESTDIR)$(metainfodir)

+ 	rsync -up src/cockpit/389-console/org.cockpit-project.389-console.metainfo.xml $(DESTDIR)$(metainfodir)/org.cockpit-project.389-console.metainfo.xml

  

  if ENABLE_PERL

  sbin_SCRIPTS = ldap/admin/src/scripts/setup-ds.pl \
@@ -2378,6 +2381,24 @@ 

  lib389-install: lib389

  	cd $(srcdir)/src/lib389; $(PYTHON) setup.py install --skip-build --force

  

+ node_modules:

+ 	cd $(srcdir)/src/cockpit/389-console; make -f node_modules.mk install

+ 

+ # Cockpit UI plugin - we install the dependancies and build the JS sources

+ # and then we use install-data-hook for copying the results on 'make install'

+ 389-console: node_modules

+ 	cd $(srcdir)/src/cockpit/389-console; make -f node_modules.mk build-cockpit-plugin

+ 

+ # This requires a built source tree and avoids having to install anything system-wide

+ 389-console-devel-install:

+ 	cd $(srcdir)/src/cockpit/389-console; \

+ 	rm ~/.local/share/cockpit/389-console; \

+ 	mkdir -p ~/.local/share/cockpit/; \

+ 	ln -s `pwd`/dist ~/.local/share/cockpit/389-console

+ 

+ 389-console-clean:

+ 	cd $(srcdir)/src/cockpit/389-console; make -f node_modules.mk clean

+ 

  # RPM-related tasks

  

  RPMBUILD ?= $(abs_builddir)/rpmbuild

file modified
+9 -2
@@ -31,13 +31,20 @@ 

  	rm -rf dist

  	rm -rf rpmbuild

  

- local-archive:

+ node_modules:

+ 	cd src/cockpit/389-console; make -f node_modules.mk install

+ 

+ cockpit_dist: node_modules

+ 	cd src/cockpit/389-console; make -f node_modules.mk build-cockpit-plugin

+ 

+ local-archive: cockpit_dist

  	-mkdir -p dist/$(NAME_VERSION)

- 	rsync -a --exclude=dist --exclude=.git --exclude=rpmbuild . dist/$(NAME_VERSION)

+ 	rsync -a --exclude=node_modules --exclude=dist --exclude=.git --exclude=rpmbuild . dist/$(NAME_VERSION)

  

  tarballs: local-archive

  	-mkdir -p dist/sources

  	cd dist; tar cfj sources/$(TARBALL) $(NAME_VERSION)

+ 	cd src/cockpit/389-console; rm -rf dist

  	rm -rf dist/$(NAME_VERSION)

  	cd dist/sources ; \

  	if [ $(BUNDLE_JEMALLOC) -eq 1 ]; then \

file modified
+4 -1
@@ -127,9 +127,12 @@ 

  BuildRequires:    python%{python3_pkgversion}-dateutil

  BuildRequires:    python%{python3_pkgversion}-argcomplete

  BuildRequires:    python%{python3_pkgversion}-argparse-manpage

+ BuildRequires:    python%{python3_pkgversion}-policycoreutils

  

  # For cockpit

  BuildRequires:    rsync

+ BuildRequires:    npm

+ BuildRequires:    nodejs

  # END BUILD REQUIRES

  

  # Now, attach the requires only to the package that needs them.
@@ -380,7 +383,6 @@ 

             --enable-cmocka

  

  %if 0%{?rhel} > 7 || 0%{?fedora}

- 

  # lib389

  pushd ./src/lib389

  %py3_build
@@ -818,6 +820,7 @@ 

  %{_mandir}/man8/dsidm.8.gz

  

  %files -n cockpit-389-ds -f cockpit.list

+ %{_datarootdir}/metainfo/389-console/org.cockpit-project.389-console.metainfo.xml

  %defattr(-,root,root,-)

  %doc README.md

  

@@ -0,0 +1,4 @@ 

+ {

+     "presets": ["@babel/env",

+                 "@babel/preset-react"]

+ }

@@ -0,0 +1,1 @@ 

+ node_modules/*

@@ -0,0 +1,52 @@ 

+ {

+     "env": {

+         "browser": true,

+         "es6": true

+     },

+     "extends": ["eslint:recommended", "standard", "standard-react"],

+     "parser": "babel-eslint",

+     "parserOptions": {

+         "ecmaFeatures": {

+             "experimentalObjectRestSpread": true,

+             "jsx": true

+         },

+         "sourceType": "module"

+     },

+     "plugins": ["flowtype", "react"],

+     "rules": {

+         "indent": ["error", 4,

+             {

+                 "ObjectExpression": "first",

+                 "CallExpression": {"arguments": "first"},

+                 "MemberExpression": 2,

+                 "ignoredNodes": [ "JSXAttribute" ]

+             }],

+         "newline-per-chained-call": ["error", { "ignoreChainWithDepth": 2 }],

+         "lines-between-class-members": ["error", "always", { "exceptAfterSingleLine": true }],

+         "prefer-promise-reject-errors": ["error", { "allowEmptyReject": true }],

+         "react/jsx-indent": ["error", 4],

+         "semi": ["error", "always", { "omitLastInOneLineBlock": true }],

+ 

+         "camelcase": "off",

+         "comma-dangle": "off",

+         "curly": "off",

+         "jsx-quotes": "off",

+         "key-spacing": "off",

+         "no-console": "off",

+         "quotes": "off",

+         "react/jsx-curly-spacing": "off",

+         "react/jsx-indent-props": "off",

+         "react/prop-types": "off",

+         "space-before-function-paren": "off",

+         "standard/no-callback-literal": "off",

+ 

+         "eqeqeq": "off",

+         "import/no-webpack-loader-syntax": "off",

+         "object-property-newline": "off",

+         "react/jsx-no-bind": "off"

+     },

+     "globals": {

+         "require": false,

+         "module": false

+     }

+ }

@@ -1,24 +0,0 @@ 

- $(document).ready( function() {

-   $("#plugin-content").load("plugins.html", function () {

-     $('#plugin-table').DataTable ( {

-       "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],

-       "bAutoWidth": false,

-       "dom": '<"pull-left"f><"pull-right"l>tip',

-       "language": {

-         "emptyTable": "No plugins",

-         "search": "Search Plugins"

-       },

-       "columnDefs": [ {

-         "targets": 3,

-         "orderable": false

-       } ]

-     });

- 

-     $("#plugin-tab").on("click", function() {

-       $(".all-pages").hide();

-       $("#plugin-content").show();

-     });

-     // Page is loaded, mark it as so...

-     plugin_page_loaded = 1;

-   });

- });

@@ -0,0 +1,9 @@ 

+ install: package.json

+ 	test -f node_modules/webpack || npm install

+ 

+ build-cockpit-plugin: webpack.config.js

+ 	npm run build; cp -r dist cockpit_dist

+ 

+ clean:

+ 	rm -rf ./dist/ ./cockpit_dist/

+ 

@@ -0,0 +1,15 @@ 

+ <component type="addon">

+   <id>org.cockpit-project.389-console</id>

+   <metadata_license>CC0-1.0</metadata_license>

+   <name>389 Directory Server</name>

+   <summary>

+     389 Directory Server Management

+   </summary>

+   <description>

+     <p>

+       389 Directory Server Management

+     </p>

+   </description>

+   <extends>cockpit.desktop</extends>

+   <launchable type="cockpit-manifest">cockpit-389-console</launchable>

+ </component>

@@ -0,0 +1,50 @@ 

+ {

+   "version": "1.0.0",

+   "name": "389-console",

+   "description": "Cockpit plugin for managing 389 Directory Server",

+   "author": "",

+   "license": "GPL-3.0-or-later",

+   "main": "index.js",

+   "scripts": {

+     "build": "webpack",

+     "eslint": "eslint --ext .jsx --ext .es6 src/",

+     "eslint:fix": "eslint --fix --ext .jsx --ext .es6 src/"

+   },

+   "devDependencies": {

+     "@babel/core": "^7.0.0",

+     "@babel/preset-env": "^7.0.0",

+     "@babel/preset-react": "^7.0.0",

+     "babel-eslint": "^9.0.0",

+     "babel-loader": "^8.0.0",

+     "chrome-remote-interface": "^0.25.5",

+     "compression-webpack-plugin": "^1.1.11",

+     "copy-webpack-plugin": "^4.5.2",

+     "css-loader": "^0.28.11",

+     "eslint": "^5.4.0",

+     "eslint-config-standard": "^11.0.0",

+     "eslint-config-standard-react": "^6.0.0",

+     "eslint-loader": "^2.1.0",

+     "eslint-plugin-flowtype": "^2.50.0",

+     "eslint-plugin-import": "^2.14.0",

+     "eslint-plugin-node": "^7.0.1",

+     "eslint-plugin-promise": "^4.0.0",

+     "eslint-plugin-react": "^7.6.1",

+     "eslint-plugin-standard": "^3.1.0",

+     "extract-text-webpack-plugin": "^4.0.0-beta.0",

+     "htmlparser": "^1.7.7",

+     "jed": "^1.1.1",

+     "ajv": "^6.0.0",

+     "sass-loader": "^7.0.3",

+     "sizzle": "^2.3.3",

+     "stdio": "^0.2.7",

+     "webpack": "^4.17.1",

+     "webpack-cli": "^3.1.0"

+   },

+   "dependencies": {

+     "@babel/polyfill": "^7.0.0",

+     "@patternfly/react-core": "^1.29.0",

+     "node-sass": "^4.9.0",

+     "react": "^16.4.2",

+     "react-dom": "^16.4.2"

+   }

+ }

@@ -1,258 +0,0 @@ 

- <div class="">

-   <h3 class="ds-config-header">Server Plugins</h3>

-   <table id="plugin-table" class="display ds-plugin-table" cellspacing="0">

-     <thead class="ds-plugin-header">

-       <tr>

-         <th>Plugin Name</th>

-         <th>Plugin Type</th>

-         <th>Enabled</th>

-         <th></th>

-       </tr>

-     </thead>

-     <tbody id="plugin-body">

-       <tr>

-         <td>MemberOf Plugin</td>

-         <td>betxnpostoperation</td>

-         <td>on</td>

-         <td><button class="btn btn-default ds-agmt-dropdown-button" type="button" id="edit-plugin-2">Edit Plugin</button></td>

-       </tr>

-       <tr>

-         <td>Replication Plugin</td>

-         <td>betxnpostoperation</td>

-         <td>on</td>

-         <td><button class="btn btn-default ds-agmt-dropdown-button" type="button" id="edit-plugin-1">Edit Plugin</button></td>

-       </tr>

-     </tbody>

-   </table>

- </div>

- 

- 

-   <!-- Modals/Popups/Wizards  -->

- 

-   <div id="edit-generic-plugin" class="modal">

-     <form class="modal-content animate">

-       <div class="container">

-         <h3 id=""><b>Edit Plugin</b> <span class="close" id="generic-plugin-close">&times;</span></h3>

-         <hr class="ds-hr">

-         

-         <div class="clearfix ds-container">

-           <div class="ds-panel-left">

-             <button type="button" id="edit-generic-plugin-cancel" class="ds-button-left">Cancel</button>

-           </div>

-           <div class="ds-panel-right">

-             <button type="submit" id="edit-generic-plugin-save" class="ds-button-right">Save</button>

-           </div>

-         </div>

-       </div>

-     </form>

-   </div>

- 

-   <!-- Automember -->

-   <div id="automember-plugin" class="modal">

-     <form class="modal-content animate">

-       <div class="container">

-         <h2 id=""><b>Automembership Plugin</b> <span class="close" id="automember-close">&times;</span></h2>

-         <hr class="ds-hr">

-         

-         <div class="clearfix ds-container">

-           <div class="ds-panel-left">

-             <button type="button" id="automember-plugin-cancel" class="ds-button-left">Cancel</button>

-           </div>

-           <div class="ds-panel-right">

-             <button type="submit" id="automember-plugin-save" class="ds-button-right">Save</button>

-           </div>

-         </div>

-       </div>

-     </form>

-   </div>

- 

-   <!-- Acct Policy ? -->

-   <div id="acct-policy-plugin" class="modal">

-     <form class="modal-content animate">

-       <div class="container">

-         <h2 id=""><b>Account Policy Plugin</b> <span class="close" id="acct-policy-close">&times;</span></h2>

-         <hr class="ds-hr">

-         

-         <div class="clearfix ds-container">

-           <div class="ds-panel-left">

-             <button type="button" id="acct-policy-plugin-cancel" class="ds-button-left">Cancel</button>

-           </div>

-           <div class="ds-panel-right">

-             <button type="submit" id="acct-policy-plugin-save" class="ds-button-right">Save</button>

-           </div>

-         </div>

-       </div>

-     </form>

-   </div>

- 

-   <!-- Acct Usability ? -->

-   <div id="acct-use-plugin" class="modal">

-     <form class="modal-content animate">

-       <div class="container">

-         <h2 id=""><b>Account Usability Plugin</b> <span class="close" id="acct-use-close">&times;</span></h2>

-         <hr class="ds-hr">

-         

-         <div class="clearfix ds-container">

-           <div class="ds-panel-left">

-             <button type="button" id="acct-use-plugin-cancel" class="ds-button-left">Cancel</button>

-           </div>

-           <div class="ds-panel-right">

-             <button type="submit" id="acct-use-plugin-save" class="ds-button-right">Save</button>

-           </div>

-         </div>

-       </div>

-     </form>

-   </div>

- 

-   <!-- Attr Uniqueness -->

-   <div id="attr-uniq-plugin" class="modal">

-     <form class="modal-content animate">

-       <div class="container">

-         <h2 id=""><b>Attribute Uniqueness Plugin</b> <span class="close" id="attr-uniq-close">&times;</span></h2>

-         <hr class="ds-hr">

-         

-         <div class="clearfix ds-container">

-           <div class="ds-panel-left">

-             <button type="button" id="attr-uniq-plugin-cancel" class="ds-button-left">Cancel</button>

-           </div>

-           <div class="ds-panel-right">

-             <button type="submit" id="attr-uniq-plugin-save" class="ds-button-right">Save</button>

-           </div>

-         </div>

-       </div>

-     </form>

-   </div>

- 

-   <!-- Content Sync ? -->

-   <div id="content-sync-plugin" class="modal">

-     <form class="modal-content animate">

-       <div class="container">

-         <h2 id=""><b>Content Synchronization Plugin</b> <span class="close" id="content-sync-close">&times;</span></h2>

-         <hr class="ds-hr">

-         

-         <div class="clearfix ds-container">

-           <div class="ds-panel-left">

-             <button type="button" id="content-sync-plugin-cancel" class="ds-button-left">Cancel</button>

-           </div>

-           <div class="ds-panel-right">

-             <button type="submit" id="content-sync-plugin-save" class="ds-button-right">Save</button>

-           </div>

-         </div>

-       </div>

-     </form>

-   </div>

- 

-   <!-- Linked Attrs -->

-   <div id="linked-attrs-plugin" class="modal">

-     <form class="modal-content animate">

-       <div class="container">

-         <h2 id=""><b>Linked Attributes Plugin</b> <span class="close" id="linked-attrs-close">&times;</span></h2>

-         <hr class="ds-hr">

-         

-         <div class="clearfix ds-container">

-           <div class="ds-panel-left">

-             <button type="button" id="linked-attrs-plugin-cancel" class="ds-button-left">Cancel</button>

-           </div>

-           <div class="ds-panel-right">

-             <button type="submit" id="linked-attrs-plugin-save" class="ds-button-right">Save</button>

-           </div>

-         </div>

-       </div>

-     </form>

-   </div>

- 

-   <!-- Managed Entries Plugin -->

-   <div id="managed-plugin" class="modal">

-     <form class="modal-content animate">

-       <div class="container">

-         <h2 id=""><b>Managed Entries Plugin</b> <span class="close" id="managed-close">&times;</span></h2>

-         <hr class="ds-hr">

-         

-         <div class="clearfix ds-container">

-           <div class="ds-panel-left">

-             <button type="button" id="managed-plugin-cancel" class="ds-button-left">Cancel</button>

-           </div>

-           <div class="ds-panel-right">

-             <button type="submit" id="managed-plugin-save" class="ds-button-right">Save</button>

-           </div>

-         </div>

-       </div>

-     </form>

-   </div>

- 

-   <!-- MemberOf Plugin -->

-   <div id="memberof-plugin" class="modal">

-     <form class="modal-content animate">

-       <div class="container">

-         <h2 id=""><b>MemberOf Plugin</b> <span class="close" id="memberof-close">&times;</span></h2>

-         <hr class="ds-hr">

-         

-         <div class="clearfix ds-container">

-           <div class="ds-panel-left">

-             <button type="button" id="memberof-plugin-cancel" class="ds-button-left">Cancel</button>

-           </div>

-           <div class="ds-panel-right">

-             <button type="submit" id="memberof-plugin-save" class="ds-button-right">Save</button>

-           </div>

-         </div>

-       </div>

-     </form>

-   </div>

- 

-   <!-- RI Plugin -->

-   <div id="ri-plugin" class="modal">

-     <form class="modal-content animate">

-       <div class="container">

-         <h2 id=""><b>Referential Integrity Plugin</b> <span class="close" id="ri-close">&times;</span></h2>

-         <hr class="ds-hr">

-         

-         <div class="clearfix ds-container">

-           <div class="ds-panel-left">

-             <button type="button" id="ri-plugin-cancel" class="ds-button-left">Cancel</button>

-           </div>

-           <div class="ds-panel-right">

-             <button type="submit" id="ri-plugin-save" class="ds-button-right">Save</button>

-           </div>

-         </div>

-       </div>

-     </form>

-   </div>

- 

-   <!-- RetroCL Plugin -->

-   <div id="retrocl-plugin" class="modal">

-     <form class="modal-content animate">

-       <div class="container">

-         <h2 id=""><b>Retro Changelog Plugin</b> <span class="close" id="retrocl-close">&times;</span></h2>

-         <hr class="ds-hr">

-         

-         <div class="clearfix ds-container">

-           <div class="ds-panel-left">

-             <button type="button" id="retrocl-plugin-cancel" class="ds-button-left">Cancel</button>

-           </div>

-           <div class="ds-panel-right">

-             <button type="submit" id="retrocl-plugin-save" class="ds-button-right">Save</button>

-           </div>

-         </div>

-       </div>

-     </form>

-   </div>

- 

-   <!-- Root DN Access Control plugin -->

-   <div id="rootdn-plugin" class="modal">

-     <form class="modal-content animate">

-       <div class="container">

-         <h2 id=""><b>Root DN Access Control Plugin</b> <span class="close" id="rootdn-close">&times;</span></h2>

-         <hr class="ds-hr">

-         

-         <div class="clearfix ds-container">

-           <div class="ds-panel-left">

-             <button type="button" id="rootdn-plugin-cancel" class="ds-button-left">Cancel</button>

-           </div>

-           <div class="ds-panel-right">

-             <button type="submit" id="rootdn-plugin-save" class="ds-button-right">Save</button>

-           </div>

-         </div>

-       </div>

-     </form>

-   </div>

- 

src/cockpit/389-console/src/backend.html src/cockpit/389-console/backend.html
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/backend.js src/cockpit/389-console/js/backend.js
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/banner.html src/cockpit/389-console/banner.html
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/css/ds.css src/cockpit/389-console/css/ds.css
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/ds.js src/cockpit/389-console/js/ds.js
file renamed
+4 -1
@@ -11,7 +11,7 @@ 

  var security_page_loaded = 0;

  var db_page_loaded = 0;

  var repl_page_loaded = 0;

- var plugin_page_loaded = 0;

+ var plugin_page_loaded = 1;

  var schema_page_loaded = 0;

  var monitor_page_loaded = 0;

  var config_loaded = 0;
@@ -386,6 +386,9 @@ 

        this.style.setProperty( 'text-shadow', '0 0 0 #000', 'important' );

      });

    }

+   $("#plugin-tab").on("click", function() {

+     cockpit.jump("/389-console/plugins", cockpit.transport.host);

+   });

  });

  

  

src/cockpit/389-console/src/fonts/OpenSans-Bold-webfont.woff src/cockpit/389-console/fonts/OpenSans-Bold-webfont.woff
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/OpenSans-Bold-webfont.woff2 src/cockpit/389-console/fonts/OpenSans-Bold-webfont.woff2
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/OpenSans-BoldItalic-webfont.woff2 src/cockpit/389-console/fonts/OpenSans-BoldItalic-webfont.woff2
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/OpenSans-Italic-webfont.woff src/cockpit/389-console/fonts/OpenSans-Italic-webfont.woff
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/OpenSans-Italic-webfont.woff2 src/cockpit/389-console/fonts/OpenSans-Italic-webfont.woff2
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/OpenSans-Light-webfont.ttf src/cockpit/389-console/fonts/OpenSans-Light-webfont.ttf
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/OpenSans-Light-webfont.woff src/cockpit/389-console/fonts/OpenSans-Light-webfont.woff
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/OpenSans-Light-webfont.woff2 src/cockpit/389-console/fonts/OpenSans-Light-webfont.woff2
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/OpenSans-Regular-webfont.ttf src/cockpit/389-console/fonts/OpenSans-Regular-webfont.ttf
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/OpenSans-Regular-webfont.woff src/cockpit/389-console/fonts/OpenSans-Regular-webfont.woff
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/OpenSans-Regular-webfont.woff2 src/cockpit/389-console/fonts/OpenSans-Regular-webfont.woff2
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/OpenSans-Semibold-webfont.ttf src/cockpit/389-console/fonts/OpenSans-Semibold-webfont.ttf
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/OpenSans-Semibold-webfont.woff src/cockpit/389-console/fonts/OpenSans-Semibold-webfont.woff
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/OpenSans-Semibold-webfont.woff2 src/cockpit/389-console/fonts/OpenSans-Semibold-webfont.woff2
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/OpenSans-SemiboldItalic-webfont.woff src/cockpit/389-console/fonts/OpenSans-SemiboldItalic-webfont.woff
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/PatternFlyIcons-webfont.ttf src/cockpit/389-console/fonts/PatternFlyIcons-webfont.ttf
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/PatternFlyIcons-webfont.woff src/cockpit/389-console/fonts/PatternFlyIcons-webfont.woff
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/fontawesome-webfont.woff src/cockpit/389-console/fonts/fontawesome-webfont.woff
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/fontawesome-webfont.woff2 src/cockpit/389-console/fonts/fontawesome-webfont.woff2
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/glyphicons-halflings-regular.woff src/cockpit/389-console/fonts/glyphicons-halflings-regular.woff
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/fonts/glyphicons-halflings-regular.woff2 src/cockpit/389-console/fonts/glyphicons-halflings-regular.woff2
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/images/sort_asc.png src/cockpit/389-console/images/sort_asc.png
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/images/sort_asc_disabled.png src/cockpit/389-console/images/sort_asc_disabled.png
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/images/sort_both.png src/cockpit/389-console/images/sort_both.png
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/images/sort_desc.png src/cockpit/389-console/images/sort_desc.png
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/images/sort_desc_disabled.png src/cockpit/389-console/images/sort_desc_disabled.png
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/index.html src/cockpit/389-console/index.html
file renamed
+13 -12
@@ -1,8 +1,11 @@ 

  <!DOCTYPE html>

- <html>

+ <html lang="en">

  <head>

+   <title>389 Directory Server</title>

    <meta charset="utf-8">

-   <script src="../base1/cockpit.js"></script>

+   <meta name="description" content="">

+   <meta name="viewport" content="width=device-width, initial-scale=1">

+   <script type="text/javascript" src="../base1/cockpit.js"></script>

    <script src="static/jquery-3.3.1.min.js"></script>

    <script src="static/jquery.dataTables.min.js"></script>

    <script src="static/jquery.dataTables.select.min.js"></script>
@@ -15,22 +18,20 @@ 

    <script src="static/patternfly.min.js"></script>

    <script src="static/c3.min.js"></script>

    <script src="static/d3.min.js"></script>

-   <script src="js/ds.js"></script>

-   <script src="js/schema.js"></script>

-   <script src="js/servers.js"></script>

-   <script src="js/security.js"></script>

-   <script src="js/backend.js"></script>

-   <script src="js/replication.js"></script>

-   <script src="js/plugins.js"></script>

-   <script src="js/monitor.js"></script>

+   <script src="ds.js"></script>

+   <script src="schema.js"></script>

+   <script src="servers.js"></script>

+   <script src="security.js"></script>

+   <script src="backend.js"></script>

+   <script src="replication.js"></script>

+   <script src="monitor.js"></script>

    <link href="static/bootstrap.min.css" rel="stylesheet">

    <link href="static/jquery.dataTables.min.css" type="text/css" rel="stylesheet">

    <link href="static/jquery.timepicker.min.css" type="text/css" rel="stylesheet">

    <link href="static/style.min.css" rel="stylesheet">

-   <link href="static/patternfly.css" rel="stylesheet" type="text/css">

    <link href="static/patternfly-additions.css" rel="stylesheet" type="text/css">

    <link href="css/ds.css" type="text/css" rel="stylesheet">

-   <script src="js/ds.js"></script>

+   <link rel="stylesheet" href="../base1/patternfly.css">

  </head>

  

  <body>

src/cockpit/389-console/src/manifest.json src/cockpit/389-console/manifest.json
file renamed
+1 -1
@@ -2,7 +2,7 @@ 

    "version": "1.0",

    "name": "389-console",

    "require": {

-       "cockpit": "120"

+       "cockpit": "137"

    },

    "tools": {

       "389-console": {

src/cockpit/389-console/src/monitor.html src/cockpit/389-console/monitor.html
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/monitor.js src/cockpit/389-console/js/monitor.js
file renamed
file was moved with no change to the file
@@ -0,0 +1,10 @@ 

+ import React from "react";

+ import ReactDOM from "react-dom";

+ import { Plugins } from "./plugins.jsx";

+ 

+ document.addEventListener("DOMContentLoaded", function() {

+     ReactDOM.render(

+         React.createElement(Plugins, {}),

+         document.getElementById("plugins")

+     );

+ });

@@ -0,0 +1,18 @@ 

+ <html lang="en">

+ <head>

+     <title translatable="yes">Plugins</title>

+     <meta charset="utf-8">

+     <meta name="description" content="Plugins tab">

+     <meta name="viewport" content="width=device-width, initial-scale=1">

+ 

+     <link rel="stylesheet" href="../base1/patternfly.css">

+     <link rel="stylesheet" href="plugins.css">

+ 

+     <script type="text/javascript" src="../base1/cockpit.js"></script>

+     <script type="text/javascript" src="plugins.js"></script>

+ </head>

+ 

+ <body>

+     <div id="plugins"></div>

+ </body>

+ </html>

@@ -0,0 +1,53 @@ 

+ import cockpit from "cockpit";

+ import React from "react";

+ import "./plugins.scss";

+ import { Checkbox } from "@patternfly/react-core";

+ 

+ const _ = cockpit.gettext;

+ 

+ export class Plugins extends React.Component {

+     constructor() {

+         super();

+         this.state = {

+             hostname: _("Unknown"),

+             checked: true

+         };

+         this.handleChange = this.handleChange.bind(this);

+ 

+         cockpit

+                 .file("/etc/hostname")

+                 .read()

+                 .done(content => {

+                     this.setState({ hostname: content.trim() });

+                 });

+     }

+ 

+     handleChange(event) {

+         this.setState({ checked: event.checked });

+     }

+ 

+     render() {

+         function go_up() {

+             cockpit.jump("/389-console", cockpit.transport.host);

+         }

+         return (

+             <div className="container-fluid">

+                 <h2>Plugins</h2>

+                 <p>

+                     <a onClick={go_up}>{_("Back to main screen")}</a>

+                 </p>

+                 <p>

+                     {cockpit.format(

+                         _("Setting up plugins on server $0"),

+                         this.state.hostname

+                     )}

+                 </p>

+                 <Checkbox

+                     label="React component checkbox"

+                     checked={this.state.checked}

+                     onChange={this.handleChange}

+                 />

+             </div>

+         );

+     }

+ }

@@ -0,0 +1,3 @@ 

+ p {

+     font-weight: bold;

+ }

src/cockpit/389-console/src/replication.html src/cockpit/389-console/replication.html
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/replication.js src/cockpit/389-console/js/replication.js
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/rhds-banner.html src/cockpit/389-console/rhds-banner.html
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/schema.html src/cockpit/389-console/schema.html
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/schema.js src/cockpit/389-console/js/schema.js
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/security.html src/cockpit/389-console/security.html
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/security.js src/cockpit/389-console/js/security.js
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/servers.html src/cockpit/389-console/servers.html
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/servers.js src/cockpit/389-console/js/servers.js
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/32px.png src/cockpit/389-console/static/32px.png
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/40px.png src/cockpit/389-console/static/40px.png
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/bootpopup.min.js src/cockpit/389-console/static/bootpopup.min.js
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/bootstrap-theme.min.css src/cockpit/389-console/static/bootstrap-theme.min.css
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/bootstrap-theme.min.css.map src/cockpit/389-console/static/bootstrap-theme.min.css.map
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/bootstrap.min.css src/cockpit/389-console/static/bootstrap.min.css
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/bootstrap.min.css.map src/cockpit/389-console/static/bootstrap.min.css.map
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/bootstrap.min.js src/cockpit/389-console/static/bootstrap.min.js
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/c3.min.js src/cockpit/389-console/static/c3.min.js
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/d3.min.js src/cockpit/389-console/static/d3.min.js
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/dataTables.datetime-moment.js src/cockpit/389-console/static/dataTables.datetime-moment.js
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/images/ui-icons_444444_256x240.png src/cockpit/389-console/static/images/ui-icons_444444_256x240.png
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/images/ui-icons_555555_256x240.png src/cockpit/389-console/static/images/ui-icons_555555_256x240.png
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/images/ui-icons_777620_256x240.png src/cockpit/389-console/static/images/ui-icons_777620_256x240.png
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/images/ui-icons_777777_256x240.png src/cockpit/389-console/static/images/ui-icons_777777_256x240.png
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/images/ui-icons_cc0000_256x240.png src/cockpit/389-console/static/images/ui-icons_cc0000_256x240.png
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/images/ui-icons_ffffff_256x240.png src/cockpit/389-console/static/images/ui-icons_ffffff_256x240.png
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/jquery-3.3.1.min.js src/cockpit/389-console/static/jquery-3.3.1.min.js
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/jquery.dataTables.min.css src/cockpit/389-console/static/jquery.dataTables.min.css
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/jquery.dataTables.min.js src/cockpit/389-console/static/jquery.dataTables.min.js
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/jquery.dataTables.select.min.js src/cockpit/389-console/static/jquery.dataTables.select.min.js
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/jquery.timepicker.min.css src/cockpit/389-console/static/jquery.timepicker.min.css
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/jquery.timepicker.min.js src/cockpit/389-console/static/jquery.timepicker.min.js
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/jstree.min.js src/cockpit/389-console/static/jstree.min.js
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/moment.min.js src/cockpit/389-console/static/moment.min.js
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/page.min.css src/cockpit/389-console/static/page.min.css
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/patternfly-additions.css src/cockpit/389-console/static/patternfly-additions.css
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/patternfly.css src/cockpit/389-console/static/patternfly.css
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/patternfly.min.js src/cockpit/389-console/static/patternfly.min.js
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/style.min.css src/cockpit/389-console/static/style.min.css
file renamed
file was moved with no change to the file
src/cockpit/389-console/src/static/throbber.gif src/cockpit/389-console/static/throbber.gif
file renamed
file was moved with no change to the file
@@ -0,0 +1,161 @@ 

+ const path = require("path");

+ const copy = require("copy-webpack-plugin");

+ const extract = require("extract-text-webpack-plugin");

+ const fs = require("fs");

+ const webpack = require("webpack");

+ const CompressionPlugin = require("compression-webpack-plugin");

+ 

+ var externals = {

+     "cockpit": "cockpit",

+ };

+ 

+ /* These can be overridden, typically from the Makefile.am */

+ const srcdir = (process.env.SRCDIR || __dirname) + path.sep + "src";

+ const builddir = (process.env.SRCDIR || __dirname);

+ const distdir = builddir + path.sep + "dist";

+ const section = process.env.ONLYDIR || null;

+ const nodedir = path.resolve((process.env.SRCDIR || __dirname), "node_modules");

+ 

+ /* A standard nodejs and webpack pattern */

+ var production = process.env.NODE_ENV === 'production';

+ 

+ var info = {

+     entries: {

+         "plugins": [

+             "./plugins.es6"

+         ]

+     },

+     files: [

+         "backend.html",

+         "backend.js",

+         "banner.html",

+         "css",

+         "ds.js",

+         "fonts",

+         "images",

+         "index.html",

+         "monitor.html",

+         "monitor.js",

+         "replication.html",

+         "replication.js",

+         "rhds-banner.html",

+         "schema.html",

+         "schema.js",

+         "security.html",

+         "security.js",

+         "servers.html",

+         "servers.js",

+         "static",

+         "plugins.html",

+         "manifest.json",

+     ],

+ };

+ 

+ var output = {

+     path: distdir,

+     filename: "[name].js",

+     sourceMapFilename: "[file].map",

+ };

+ 

+ /*

+  * Note that we're avoiding the use of path.join as webpack and nodejs

+  * want relative paths that start with ./ explicitly.

+  *

+  * In addition we mimic the VPATH style functionality of GNU Makefile

+  * where we first check builddir, and then srcdir.

+  */

+ 

+ function vpath(/* ... */) {

+     var filename = Array.prototype.join.call(arguments, path.sep);

+     var expanded = builddir + path.sep + filename;

+     if (fs.existsSync(expanded))

+         return expanded;

+     expanded = srcdir + path.sep + filename;

+     return expanded;

+ }

+ 

+ /* Qualify all the paths in entries */

+ Object.keys(info.entries).forEach(function(key) {

+     if (section && key.indexOf(section) !== 0) {

+         delete info.entries[key];

+         return;

+     }

+ 

+     info.entries[key] = info.entries[key].map(function(value) {

+         if (value.indexOf("/") === -1)

+             return value;

+         else

+             return vpath(value);

+     });

+ });

+ 

+ /* Qualify all the paths in files listed */

+ var files = [];

+ info.files.forEach(function(value) {

+     if (!section || value.indexOf(section) === 0)

+         files.push({ from: vpath("src", value), to: value });

+ });

+ info.files = files;

+ 

+ var plugins = [

+     new copy(info.files),

+     new extract("[name].css")

+ ];

+ 

+ /* Only minimize when in production mode */

+ if (production) {

+     /* Rename output files when minimizing */

+     output.filename = "[name].min.js";

+ 

+     plugins.unshift(new CompressionPlugin({

+         asset: "[path].gz[query]",

+         test: /\.(js|html)$/,

+         minRatio: 0.9,

+         deleteOriginalAssets: true

+     }));

+ }

+ 

+ module.exports = {

+     mode: production ? 'production' : 'development',

+     entry: info.entries,

+     externals: externals,

+     output: output,

+     devtool: "source-map",

+     module: {

+         rules: [

+             {

+                 enforce: 'pre',

+                 exclude: /node_modules/,

+                 loader: 'eslint-loader',

+                 test: /\.jsx$/

+             },

+             {

+                 enforce: 'pre',

+                 exclude: /node_modules/,

+                 loader: 'eslint-loader',

+                 test: /\.es6$/

+             },

+             {

+                 exclude: /node_modules/,

+                 loader: 'babel-loader',

+                 test: /\.js$/

+             },

+             {

+                 exclude: /node_modules/,

+                 loader: 'babel-loader',

+                 test: /\.jsx$/

+             },

+             {

+                 exclude: /node_modules/,

+                 loader: 'babel-loader',

+                 test: /\.es6$/

+             },

+             {

+                 exclude: /node_modules/,

+                 loader: extract.extract('css-loader!sass-loader'),

+                 test: /\.scss$/

+             }

+         ]

+     },

+     plugins: plugins

+ }

Description: Refactor the existing 389-console Cockpit plugin structure
so it uses React, Babel, Eslint.

Reviewed by: ?

https://pagure.io/389-ds-base/issue/49999

Is this "make" supposed to be commented out?

Is this "make" supposed to be commented out?

Yes, I'll remove it.
I was experimenting but apperently it is better to use install-data-hook for copying the cockpit_dist files on 'make install'.

Everything seems to work, ack!

rebased onto a69c3616bf926d79f21805e8bbb6fe84574002c0

5 years ago

rebased onto 8d60265f658d46feba5872d8943678dcbfda83e6

5 years ago

Its working much better! Ack

rebased onto b6808f633725d6a495d66fcad0b998b3c03840f4

5 years ago

rebased onto 51af3e5

5 years ago

Pull-Request has been merged by spichugi

5 years ago

On a workspace were src/cockpit/389-console/cockpit_dist did not exist before the build. I got 'Not such file or directory'.
After creating the directory, it built successfully.
I do not know where it should be created

On a workspace were src/cockpit/389-console/cockpit_dist did not exist before the build. I got 'Not such file or directory'.
After creating the directory, it built successfully.
I do not know where it should be created

I will address it in my next PR. Thank you!

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This pull request has been cloned to Github as issue and is available here:
- https://github.com/389ds/389-ds-base/issues/3059

If you want to continue to work on the PR, please navigate to the github issue,
download the patch from the attachments and file a new pull request.

Thank you for understanding. We apologize for all inconvenience.

Pull-Request has been closed by spichugi

3 years ago
Metadata
Changes Summary 91
+22 -1
file changed
Makefile.am
+9 -2
file changed
rpm.mk
+4 -1
file changed
rpm/389-ds-base.spec.in
+4
file added
src/cockpit/389-console/.babelrc
+1
file added
src/cockpit/389-console/.eslintignore
+52
file added
src/cockpit/389-console/.eslintrc.json
-24
file removed
src/cockpit/389-console/js/plugins.js
+9
file added
src/cockpit/389-console/node_modules.mk
+15
file added
src/cockpit/389-console/org.cockpit-project.389-console.metainfo.xml
+50
file added
src/cockpit/389-console/package.json
-258
file removed
src/cockpit/389-console/plugins.html
+0 -0
file renamed
src/cockpit/389-console/backend.html
src/cockpit/389-console/src/backend.html
+0 -0
file renamed
src/cockpit/389-console/js/backend.js
src/cockpit/389-console/src/backend.js
+0 -0
file renamed
src/cockpit/389-console/banner.html
src/cockpit/389-console/src/banner.html
+0 -0
file renamed
src/cockpit/389-console/css/ds.css
src/cockpit/389-console/src/css/ds.css
+4 -1
file renamed
src/cockpit/389-console/js/ds.js
src/cockpit/389-console/src/ds.js
+0 -0
file renamed
src/cockpit/389-console/fonts/OpenSans-Bold-webfont.woff
src/cockpit/389-console/src/fonts/OpenSans-Bold-webfont.woff
+0 -0
file renamed
src/cockpit/389-console/fonts/OpenSans-Bold-webfont.woff2
src/cockpit/389-console/src/fonts/OpenSans-Bold-webfont.woff2
+0 -0
file renamed
src/cockpit/389-console/fonts/OpenSans-BoldItalic-webfont.woff2
src/cockpit/389-console/src/fonts/OpenSans-BoldItalic-webfont.woff2
+0 -0
file renamed
src/cockpit/389-console/fonts/OpenSans-Italic-webfont.woff
src/cockpit/389-console/src/fonts/OpenSans-Italic-webfont.woff
+0 -0
file renamed
src/cockpit/389-console/fonts/OpenSans-Italic-webfont.woff2
src/cockpit/389-console/src/fonts/OpenSans-Italic-webfont.woff2
+0 -0
file renamed
src/cockpit/389-console/fonts/OpenSans-Light-webfont.ttf
src/cockpit/389-console/src/fonts/OpenSans-Light-webfont.ttf
+0 -0
file renamed
src/cockpit/389-console/fonts/OpenSans-Light-webfont.woff
src/cockpit/389-console/src/fonts/OpenSans-Light-webfont.woff
+0 -0
file renamed
src/cockpit/389-console/fonts/OpenSans-Light-webfont.woff2
src/cockpit/389-console/src/fonts/OpenSans-Light-webfont.woff2
+0 -0
file renamed
src/cockpit/389-console/fonts/OpenSans-Regular-webfont.ttf
src/cockpit/389-console/src/fonts/OpenSans-Regular-webfont.ttf
+0 -0
file renamed
src/cockpit/389-console/fonts/OpenSans-Regular-webfont.woff
src/cockpit/389-console/src/fonts/OpenSans-Regular-webfont.woff
+0 -0
file renamed
src/cockpit/389-console/fonts/OpenSans-Regular-webfont.woff2
src/cockpit/389-console/src/fonts/OpenSans-Regular-webfont.woff2
+0 -0
file renamed
src/cockpit/389-console/fonts/OpenSans-Semibold-webfont.ttf
src/cockpit/389-console/src/fonts/OpenSans-Semibold-webfont.ttf
+0 -0
file renamed
src/cockpit/389-console/fonts/OpenSans-Semibold-webfont.woff
src/cockpit/389-console/src/fonts/OpenSans-Semibold-webfont.woff
+0 -0
file renamed
src/cockpit/389-console/fonts/OpenSans-Semibold-webfont.woff2
src/cockpit/389-console/src/fonts/OpenSans-Semibold-webfont.woff2
+0 -0
file renamed
src/cockpit/389-console/fonts/OpenSans-SemiboldItalic-webfont.woff
src/cockpit/389-console/src/fonts/OpenSans-SemiboldItalic-webfont.woff
+0 -0
file renamed
src/cockpit/389-console/fonts/PatternFlyIcons-webfont.ttf
src/cockpit/389-console/src/fonts/PatternFlyIcons-webfont.ttf
+0 -0
file renamed
src/cockpit/389-console/fonts/PatternFlyIcons-webfont.woff
src/cockpit/389-console/src/fonts/PatternFlyIcons-webfont.woff
+0 -0
file renamed
src/cockpit/389-console/fonts/fontawesome-webfont.woff
src/cockpit/389-console/src/fonts/fontawesome-webfont.woff
+0 -0
file renamed
src/cockpit/389-console/fonts/fontawesome-webfont.woff2
src/cockpit/389-console/src/fonts/fontawesome-webfont.woff2
+0 -0
file renamed
src/cockpit/389-console/fonts/glyphicons-halflings-regular.woff
src/cockpit/389-console/src/fonts/glyphicons-halflings-regular.woff
+0 -0
file renamed
src/cockpit/389-console/fonts/glyphicons-halflings-regular.woff2
src/cockpit/389-console/src/fonts/glyphicons-halflings-regular.woff2
+0 -0
file renamed
src/cockpit/389-console/images/sort_asc.png
src/cockpit/389-console/src/images/sort_asc.png
+0 -0
file renamed
src/cockpit/389-console/images/sort_asc_disabled.png
src/cockpit/389-console/src/images/sort_asc_disabled.png
+0 -0
file renamed
src/cockpit/389-console/images/sort_both.png
src/cockpit/389-console/src/images/sort_both.png
+0 -0
file renamed
src/cockpit/389-console/images/sort_desc.png
src/cockpit/389-console/src/images/sort_desc.png
+0 -0
file renamed
src/cockpit/389-console/images/sort_desc_disabled.png
src/cockpit/389-console/src/images/sort_desc_disabled.png
+13 -12
file renamed
src/cockpit/389-console/index.html
src/cockpit/389-console/src/index.html
+1 -1
file renamed
src/cockpit/389-console/manifest.json
src/cockpit/389-console/src/manifest.json
+0 -0
file renamed
src/cockpit/389-console/monitor.html
src/cockpit/389-console/src/monitor.html
+0 -0
file renamed
src/cockpit/389-console/js/monitor.js
src/cockpit/389-console/src/monitor.js
+10
file added
src/cockpit/389-console/src/plugins.es6
+18
file added
src/cockpit/389-console/src/plugins.html
+53
file added
src/cockpit/389-console/src/plugins.jsx
+3
file added
src/cockpit/389-console/src/plugins.scss
+0 -0
file renamed
src/cockpit/389-console/replication.html
src/cockpit/389-console/src/replication.html
+0 -0
file renamed
src/cockpit/389-console/js/replication.js
src/cockpit/389-console/src/replication.js
+0 -0
file renamed
src/cockpit/389-console/rhds-banner.html
src/cockpit/389-console/src/rhds-banner.html
+0 -0
file renamed
src/cockpit/389-console/schema.html
src/cockpit/389-console/src/schema.html
+0 -0
file renamed
src/cockpit/389-console/js/schema.js
src/cockpit/389-console/src/schema.js
+0 -0
file renamed
src/cockpit/389-console/security.html
src/cockpit/389-console/src/security.html
+0 -0
file renamed
src/cockpit/389-console/js/security.js
src/cockpit/389-console/src/security.js
+0 -0
file renamed
src/cockpit/389-console/servers.html
src/cockpit/389-console/src/servers.html
+0 -0
file renamed
src/cockpit/389-console/js/servers.js
src/cockpit/389-console/src/servers.js
+0 -0
file renamed
src/cockpit/389-console/static/32px.png
src/cockpit/389-console/src/static/32px.png
+0 -0
file renamed
src/cockpit/389-console/static/40px.png
src/cockpit/389-console/src/static/40px.png
+0 -0
file renamed
src/cockpit/389-console/static/bootpopup.min.js
src/cockpit/389-console/src/static/bootpopup.min.js
+0 -0
file renamed
src/cockpit/389-console/static/bootstrap-theme.min.css
src/cockpit/389-console/src/static/bootstrap-theme.min.css
+0 -0
file renamed
src/cockpit/389-console/static/bootstrap-theme.min.css.map
src/cockpit/389-console/src/static/bootstrap-theme.min.css.map
+0 -0
file renamed
src/cockpit/389-console/static/bootstrap.min.css
src/cockpit/389-console/src/static/bootstrap.min.css
+0 -0
file renamed
src/cockpit/389-console/static/bootstrap.min.css.map
src/cockpit/389-console/src/static/bootstrap.min.css.map
+0 -0
file renamed
src/cockpit/389-console/static/bootstrap.min.js
src/cockpit/389-console/src/static/bootstrap.min.js
+0 -0
file renamed
src/cockpit/389-console/static/c3.min.js
src/cockpit/389-console/src/static/c3.min.js
+0 -0
file renamed
src/cockpit/389-console/static/d3.min.js
src/cockpit/389-console/src/static/d3.min.js
+0 -0
file renamed
src/cockpit/389-console/static/dataTables.datetime-moment.js
src/cockpit/389-console/src/static/dataTables.datetime-moment.js
+0 -0
file renamed
src/cockpit/389-console/static/images/ui-icons_444444_256x240.png
src/cockpit/389-console/src/static/images/ui-icons_444444_256x240.png
+0 -0
file renamed
src/cockpit/389-console/static/images/ui-icons_555555_256x240.png
src/cockpit/389-console/src/static/images/ui-icons_555555_256x240.png
+0 -0
file renamed
src/cockpit/389-console/static/images/ui-icons_777620_256x240.png
src/cockpit/389-console/src/static/images/ui-icons_777620_256x240.png
+0 -0
file renamed
src/cockpit/389-console/static/images/ui-icons_777777_256x240.png
src/cockpit/389-console/src/static/images/ui-icons_777777_256x240.png
+0 -0
file renamed
src/cockpit/389-console/static/images/ui-icons_cc0000_256x240.png
src/cockpit/389-console/src/static/images/ui-icons_cc0000_256x240.png
+0 -0
file renamed
src/cockpit/389-console/static/images/ui-icons_ffffff_256x240.png
src/cockpit/389-console/src/static/images/ui-icons_ffffff_256x240.png
+0 -0
file renamed
src/cockpit/389-console/static/jquery-3.3.1.min.js
src/cockpit/389-console/src/static/jquery-3.3.1.min.js
+0 -0
file renamed
src/cockpit/389-console/static/jquery.dataTables.min.css
src/cockpit/389-console/src/static/jquery.dataTables.min.css
+0 -0
file renamed
src/cockpit/389-console/static/jquery.dataTables.min.js
src/cockpit/389-console/src/static/jquery.dataTables.min.js
+0 -0
file renamed
src/cockpit/389-console/static/jquery.dataTables.select.min.js
src/cockpit/389-console/src/static/jquery.dataTables.select.min.js
+0 -0
file renamed
src/cockpit/389-console/static/jquery.timepicker.min.css
src/cockpit/389-console/src/static/jquery.timepicker.min.css
+0 -0
file renamed
src/cockpit/389-console/static/jquery.timepicker.min.js
src/cockpit/389-console/src/static/jquery.timepicker.min.js
+0 -0
file renamed
src/cockpit/389-console/static/jstree.min.js
src/cockpit/389-console/src/static/jstree.min.js
+0 -0
file renamed
src/cockpit/389-console/static/moment.min.js
src/cockpit/389-console/src/static/moment.min.js
+0 -0
file renamed
src/cockpit/389-console/static/page.min.css
src/cockpit/389-console/src/static/page.min.css
+0 -0
file renamed
src/cockpit/389-console/static/patternfly-additions.css
src/cockpit/389-console/src/static/patternfly-additions.css
+0 -0
file renamed
src/cockpit/389-console/static/patternfly.css
src/cockpit/389-console/src/static/patternfly.css
+0 -0
file renamed
src/cockpit/389-console/static/patternfly.min.js
src/cockpit/389-console/src/static/patternfly.min.js
+0 -0
file renamed
src/cockpit/389-console/static/style.min.css
src/cockpit/389-console/src/static/style.min.css
+0 -0
file renamed
src/cockpit/389-console/static/throbber.gif
src/cockpit/389-console/src/static/throbber.gif
+161
file added
src/cockpit/389-console/webpack.config.js