diff --git a/README.md b/README.md index 5e01cbc..aa97ebd 100644 --- a/README.md +++ b/README.md @@ -35,5 +35,5 @@ to change REALM and VERSION in [src/app/constants.js](src/app/constants.js "Proj **from Admin-App folder in cli type:** 1. `npm install` 2. `npm start` -3. Go to [127.0.0.1:8080/admin-login](https://127.0.0.1:8080/admin-login "127.0.0.1:8080"). +3. Go to [localhost/admin-login](https://localhost/admin-login "localhost"). diff --git a/package.json b/package.json index 7ddbc55..c80543b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cloudux-starter-kit-react", - "version": "1.0.0", + "version": "2.2.2", "description": "Starter kit for UX developers in CloudUX - React", "main": "build/index.js", "scripts": { @@ -18,77 +18,68 @@ "author": "MichaƂ Oleszczuk ", "license": "SEE LICENSE IN EULA.md", "dependencies": { - "axios": "^0.18.0", - "base64-img": "^1.0.4", - "cloudux-l10n": "^1.0.1", - "prop-types": "^15.6.2", - "react": "^16.4.2", - "react-dom": "^16.4.2", - "react-image": "^1.4.1", - "react-menu-list": "^5.0.1", - "react-redux": "^5.0.7", - "react-tabs": "^2.2.2", - "react-test-renderer": "^16.4.2", - "redux": "^4.0.0", - "redux-devtools-extension": "^2.13.5", - "redux-form": "^7.4.2", - "redux-immutable": "^4.0.0", - "redux-mock-store": "^1.5.3", - "redux-saga": "^0.16.0", - "request": "^2.88.0", - "reselect": "^3.0.1", + "axios": "0.18.1", + "base64-img": "1.0.4", "tachyons": "^4.11.1" }, "devDependencies": { - "autoprefixer": "^9.1.3", - "babel-cli": "^6.26.0", - "babel-core": "^6.26.3", - "babel-eslint": "^8.2.6", - "babel-generator": "^6.26.1", - "babel-jest": "^23.4.2", - "babel-loader": "^7.1.5", - "babel-plugin-transform-class-properties": "^6.24.1", - "babel-plugin-transform-decorators": "^6.24.1", - "babel-plugin-transform-object-rest-spread": "^6.26.0", - "babel-plugin-transform-runtime": "^6.23.0", - "babel-polyfill": "^6.26.0", - "babel-preset-env": "^1.7.0", - "babel-preset-react": "^6.24.1", - "compression-webpack-plugin": "^1.1.11", - "copy-webpack-plugin": "^4.5.2", + "autoprefixer": "9.6.1", + "babel-cli": "6.26.0", + "babel-core": "6.26.3", + "babel-eslint": "9.x", + "babel-generator": "6.26.1", + "babel-jest": "23.6.0", + "babel-loader": "7.1.5", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-decorators": "6.24.1", + "babel-plugin-transform-object-rest-spread": "6.26.0", + "babel-plugin-transform-runtime": "6.23.0", + "babel-polyfill": "6.26.0", + "babel-preset-env": "1.7.0", + "babel-preset-react": "6.24.1", + "brotli-webpack-plugin": "1.0.0", + "cloudux-starter-kit": "2.2.2", "cloudux-bootstrap": "0.0.2", - "cloudux-starter-kit": "2.0.0", - "css-loader": "^1.0.0", - "enzyme": "^3.4.4", - "enzyme-adapter-react-16": "^1.2.0", - "enzyme-to-json": "^3.3.4", - "eslint": "^5.4.0", - "eslint-config-airbnb": "^17.1.0", - "eslint-config-react-app": "^2.1.0", - "eslint-loader": "^2.1.0", - "eslint-plugin-flowtype": "^2.50.0", - "eslint-plugin-import": "^2.14.0", - "eslint-plugin-jest": "^21.21.0", - "eslint-plugin-jsx-a11y": "^6.1.1", - "eslint-plugin-node": "^7.0.1", - "eslint-plugin-promise": "^4.0.0", - "eslint-plugin-react": "^7.11.1", - "eslint-plugin-standard": "^3.1.0", - "html-loader": "^0.5.5", - "http-proxy-middleware": "^0.18.0", - "jest": "^23.5.0", - "mini-css-extract-plugin": "^0.4.4", - "node-sass": "^4.10.0", - "postcss-loader": "^3.0.0", - "progress-bar-webpack-plugin": "^1.11.0", - "resolve-url-loader": "^2.3.0", - "sass-loader": "^7.1.0", - "spdy": "^3.4.7", - "style-loader": "^0.22.1", - "url-loader": "^1.1.1", - "webpack": "^4.17.1", - "webpack-merge": "^4.1.4", - "webpack-cli": "^3.1.0", - "webpack-dev-server": "^3.1.10" + "compression-webpack-plugin": "1.1.12", + "copy-webpack-plugin": "4.6.0", + "css-loader": "1.0.1", + "enzyme": "3.10.0", + "enzyme-adapter-react-16": "1.14.0", + "enzyme-to-json": "3.4.0", + "eslint": "^5.16.0", + "eslint-config-airbnb": "18.0.0", + "eslint-config-react-app": "3.0.0", + "eslint-loader": "2.2.1", + "eslint-plugin-flowtype": "2.50.3", + "eslint-plugin-import": "2.18.2", + "eslint-plugin-jest": "21.27.2", + "eslint-plugin-jsx-a11y": "6.2.3", + "eslint-plugin-node": "7.0.1", + "eslint-plugin-promise": "4.2.1", + "eslint-plugin-react": "7.14.3", + "eslint-plugin-standard": "3.1.0", + "html-loader": "0.5.5", + "http-proxy-middleware": "^2.0.6", + "jest": "27.0.6", + "mini-css-extract-plugin": "0.4.5", + "postcss-loader": "3.0.0", + "progress-bar-webpack-plugin": "1.12.1", + "prop-types": "15.7.2", + "react": "16.8.6", + "react-dom": "16.8.6", + "react-redux": "6.0.1", + "redux": "4.0.1", + "redux-devtools-extension": "2.13.5", + "redux-saga": "0.16.2", + "resolve-url-loader": "^4.0.0", + "sass": "^1.35.1", + "sass-loader": "7.3.1", + "spdy": "3.4.7", + "style-loader": "0.22.1", + "url-loader": "1.1.2", + "webpack": "4.35.0", + "webpack-cli": "3.1.2", + "webpack-dev-server": "3.11.2", + "webpack-merge": "4.2.2" } } diff --git a/src/avid_api/entry/EntryWrapper.js b/src/avid_api/entry/EntryWrapper.js index fedd6c2..e225c92 100644 --- a/src/avid_api/entry/EntryWrapper.js +++ b/src/avid_api/entry/EntryWrapper.js @@ -1,6 +1,7 @@ /** - * Copyright 2017 by Avid Technology, Inc. + * Copyright 2022 by Avid Technology, Inc. */ +/* eslint-disable */ import appConfig from '../../package.json'; const viewName = `${appConfig.identity.appName}-view`; @@ -29,6 +30,7 @@ export default class EntryApp { } onClose() { + console.log('[ExamplePlugin] onClose'); return Promise.resolve(); } @@ -52,6 +54,10 @@ export default class EntryApp { console.log('[ExamplePlugin] context', context); } + getTitle() { + return this.innerView.getTitle(); + } + get publicScope() { return {}; } diff --git a/src/avid_api/view/ViewWrapper.js b/src/avid_api/view/ViewWrapper.js index 11d437f..456c5a1 100644 --- a/src/avid_api/view/ViewWrapper.js +++ b/src/avid_api/view/ViewWrapper.js @@ -1,6 +1,7 @@ /** - * Copyright 2017 by Avid Technology, Inc. + * Copyright 2022 by Avid Technology, Inc. */ +/* eslint-disable */ import ReactDOM from 'react-dom'; @@ -8,23 +9,16 @@ import ApplicationContainer from '../../app/index'; // Need to be bcs it is used in main App : export default class ViewWrapper { - createElement() { - this.el = document.createElement('div'); - return Promise.resolve(this.el); - } - - onInit(config) { + onInit(config, { dispatch }) { + this.trigger = dispatch; this.state = config.state; - - this.pane = new ApplicationContainer({ - contextCallback: function (context) { - this.trigger('contextChange', context); - }.bind(this), - }); } - onRender() { + onRender({ domElement }) { + this.el = document.createElement('div'); + this.pane = new ApplicationContainer(); this.pane.render(this.el); + domElement.appendChild(this.el); } onDestroy() { @@ -35,6 +29,10 @@ export default class ViewWrapper { return this.pane.store.getState(); } + getTitle() { + return this.pane && this.pane.getTitle(); + } + onRevalidate(data) {} onFocusLost() {} @@ -43,35 +41,24 @@ export default class ViewWrapper { enqueueLoading(promise) {} - name(newName) { - return ''; - } + name(newName) {return '';} - isShown() { - return true; - } + isShown() {return true;} - isVisible() { - return true; - } + isVisible() {return true;} - closeAllowed() { - return true; - } + closeAllowed() {return true;} destroy() {} - getMinHeight() { - return 50; - } + getMinHeight() {return 50;} - getMinWidth() { - return 50; - } + getMinWidth() {return 50;} get publicScope() { return { getState: this.getState.bind(this), + getTitle: this.getTitle.bind(this), }; } } diff --git a/src/images/icon.json b/src/images/icon.json index e09805e..489c54e 100644 --- a/src/images/icon.json +++ b/src/images/icon.json @@ -1 +1 @@ -{"icon":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItc3F1YXJlIj4KICAgIDxyZWN0IHg9IjMiIHk9IjMiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+Cjwvc3ZnPg=="} \ No newline at end of file +{"icon":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLXNxdWFyZSI+DQogICAgPHJlY3QgeD0iMyIgeT0iMyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iMiIgcnk9IjIiPjwvcmVjdD4NCjwvc3ZnPg=="} \ No newline at end of file diff --git a/src/index.js b/src/index.js index c1b50d5..f54c827 100644 --- a/src/index.js +++ b/src/index.js @@ -1,5 +1,5 @@ /** - * Copyright 2017 by Avid Technology, Inc. + * Copyright 2022 by Avid Technology, Inc. */ import appConfig from './package.json'; @@ -12,7 +12,7 @@ const providing = isAdminApp ? 'adminApps' : 'apps'; export const avid = [ { name: `${appConfig.identity.appName}-view`, - provides: ['views'], + provides: ['appViews'], create: () => ViewConfig, }, { diff --git a/src/project.config.json b/src/project.config.json index 868244a..de67395 100644 --- a/src/project.config.json +++ b/src/project.config.json @@ -13,6 +13,6 @@ "connection": { "hostIp": "your-mediacentral-cloudux-machine-address", "hostPort": "", - "proxyPort": "8080" + "proxyPort": "443" } }