├── .dockerignore ├── .eslintignore ├── .eslintrc.js ├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── feature_request.md │ └── question.md ├── .gitignore ├── .idea ├── inspectionProfiles │ └── Project_Default.xml ├── misc.xml ├── modules.xml ├── streamsheets.iml └── vcs.xml ├── .prettierrc.yml ├── .travis.yml ├── .vscode ├── launch.json └── settings.json ├── .yarnrc ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── assets ├── title.png └── video.png ├── deployment ├── apply-upgrade.sh ├── rpi │ └── installer │ │ ├── Dockerfile.rpi │ │ ├── build-installer.sh │ │ ├── docker-compose │ │ └── docker-compose.prod.yml │ │ ├── install.sh │ │ ├── start.sh │ │ ├── stop.sh │ │ └── update.sh ├── single │ ├── Dockerfile │ ├── Dockerfile.rpi │ ├── README.md │ ├── build.sh │ ├── clear.sh │ ├── init.json │ ├── installer-rpi │ │ ├── Dockerfile │ │ ├── build-installer.sh │ │ ├── docker-compose │ │ │ ├── docker-compose.dev.yml │ │ │ └── docker-compose.prod.yml │ │ ├── install.sh │ │ └── scripts │ │ │ ├── start.dev.sh │ │ │ ├── start.sh │ │ │ ├── stop.dev.sh │ │ │ ├── stop.sh │ │ │ ├── update.dev.sh │ │ │ └── update.sh │ ├── installer │ │ ├── Dockerfile │ │ ├── build-installer.sh │ │ ├── install.sh │ │ ├── linux │ │ │ ├── start.dev.sh │ │ │ ├── start.sh │ │ │ ├── stop.dev.sh │ │ │ ├── stop.sh │ │ │ ├── update.dev.sh │ │ │ └── update.sh │ │ ├── macos │ │ │ ├── start.dev.sh │ │ │ ├── start.sh │ │ │ ├── stop.dev.sh │ │ │ ├── stop.sh │ │ │ ├── update.dev.sh │ │ │ └── update.sh │ │ └── win │ │ │ ├── start.bat │ │ │ ├── start.dev.bat │ │ │ ├── stop.bat │ │ │ ├── stop.dev.bat │ │ │ ├── update.bat │ │ │ └── update.dev.bat │ ├── mongodb │ │ └── mongod.conf │ ├── mosquitto-default-credentials │ │ └── pw.txt │ ├── mosquitto-default │ │ └── mosquitto.conf │ ├── mosquitto │ │ ├── mosquitto.conf │ │ └── pw.txt │ ├── nginx │ │ └── nginx.conf │ ├── redis │ │ └── redis.conf │ ├── services │ │ ├── gateway │ │ │ └── start.js │ │ ├── service-graphs │ │ │ └── start.js │ │ ├── service-machines │ │ │ └── start.js │ │ ├── service-streams │ │ │ └── start.js │ │ └── webui │ │ │ └── start.js │ ├── start-all.sh │ ├── start.sh │ ├── streamsheets.env │ ├── streamsheets.sh │ ├── supervisord.conf │ ├── supervisord.rpi.conf │ └── wait-for-database.sh ├── slim │ ├── build.sh │ └── start.sh └── standard │ ├── installer │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── README.md │ ├── build-installer.sh │ ├── install.sh │ └── services │ │ ├── README.md │ │ ├── docker-compose │ │ ├── config │ │ │ └── init.json │ │ ├── docker-compose.dev.avro-schema-registry.yml │ │ ├── docker-compose.dev.database-seed.yml │ │ ├── docker-compose.dev.database-ui.yml │ │ ├── docker-compose.dev.debug.yml │ │ ├── docker-compose.dev.ext.yml │ │ ├── docker-compose.dev.hivemq.yml │ │ ├── docker-compose.dev.integration.tests.yml │ │ ├── docker-compose.dev.kafka.yml │ │ ├── docker-compose.dev.ldap.yml │ │ ├── docker-compose.dev.logging.yml │ │ ├── docker-compose.dev.logspout.yml │ │ ├── docker-compose.dev.mongodb.yml │ │ ├── docker-compose.dev.mosquitto.yml │ │ ├── docker-compose.dev.node-red.yml │ │ ├── docker-compose.dev.yml │ │ ├── docker-compose.prod.yml │ │ ├── license │ │ │ └── .gitignore │ │ ├── mosquitto-internal │ │ │ ├── mosquitto.conf │ │ │ └── pw.txt │ │ ├── mosquitto │ │ │ ├── mosquitto.conf │ │ │ └── pw.txt │ │ ├── nginx │ │ │ └── nginx.conf │ │ └── service-streams │ │ │ └── config.json │ │ └── scripts │ │ ├── linux │ │ ├── migrate.sh │ │ ├── start.dev.sh │ │ └── start.sh │ │ ├── macos │ │ ├── migrate.sh │ │ ├── start.dev.sh │ │ └── start.sh │ │ └── win │ │ ├── migrate.bat │ │ ├── start.bat │ │ └── start.dev.bat │ └── intergration-tests-setup │ └── start-integration-tests-setup.sh ├── notes └── roadmap │ └── README.md ├── package.json ├── packages ├── commons │ ├── index.js │ ├── package.json │ ├── src │ │ ├── clone.js │ │ ├── convert.js │ │ ├── functions.js │ │ ├── jsonpath.js │ │ ├── memoize.js │ │ ├── moduleResolver.js │ │ ├── proc.js │ │ ├── requireFile.js │ │ ├── serialnumber.js │ │ └── sleep.js │ └── test │ │ ├── convert.test.js │ │ ├── jest.config.js │ │ ├── jsonpath.test.js │ │ └── serialnumber.test.js ├── error-codes │ ├── .eslintignore │ ├── .gitignore │ ├── README.md │ ├── index.js │ ├── package.json │ ├── src │ │ ├── ErrorInfo.js │ │ ├── Errors.js │ │ ├── FunctionErrors.js │ │ ├── HttpErrors.js │ │ ├── LocalizedError.js │ │ ├── codes.js │ │ └── i18n │ │ │ ├── de.js │ │ │ ├── en.js │ │ │ └── index.js │ └── test │ │ └── src │ │ ├── Errors.test.js │ │ └── HttpErrors.test.js ├── eslint-config │ ├── index.js │ ├── package.json │ └── react.js ├── functions │ ├── README.md │ ├── help │ │ └── index.js │ ├── index.js │ ├── package.json │ ├── src │ │ ├── codepages │ │ │ ├── UniCodeMapper.js │ │ │ ├── cp1252.js │ │ │ ├── errors │ │ │ │ └── code.js │ │ │ └── index.js │ │ ├── factory │ │ │ ├── FunctionFactory.js │ │ │ └── streamfunc.js │ │ ├── function-type.ts │ │ ├── functions │ │ │ ├── crypto │ │ │ │ ├── crypto.js │ │ │ │ ├── help.js │ │ │ │ └── index.js │ │ │ ├── database │ │ │ │ ├── ConditionRange.js │ │ │ │ ├── database.js │ │ │ │ ├── help.js │ │ │ │ └── index.js │ │ │ ├── date.ts │ │ │ ├── date │ │ │ │ ├── date.js │ │ │ │ ├── help.js │ │ │ │ ├── index.js │ │ │ │ ├── mstoserial.js │ │ │ │ └── serialtoms.js │ │ │ ├── drawing │ │ │ │ ├── bar.js │ │ │ │ ├── help.js │ │ │ │ └── index.js │ │ │ ├── engineering.ts │ │ │ ├── engineering │ │ │ │ ├── buffer.js │ │ │ │ ├── engineering.js │ │ │ │ ├── help.js │ │ │ │ └── index.js │ │ │ ├── http │ │ │ │ ├── help.js │ │ │ │ ├── http.js │ │ │ │ ├── index.js │ │ │ │ └── utils.js │ │ │ ├── index.js │ │ │ ├── info │ │ │ │ ├── help.js │ │ │ │ ├── index.js │ │ │ │ └── info.js │ │ │ ├── information.ts │ │ │ ├── logical.ts │ │ │ ├── logical │ │ │ │ ├── help.js │ │ │ │ ├── index.js │ │ │ │ └── logical.js │ │ │ ├── lookup.ts │ │ │ ├── lookup │ │ │ │ ├── help.js │ │ │ │ ├── index.js │ │ │ │ └── lookup.js │ │ │ ├── math │ │ │ │ ├── help.js │ │ │ │ ├── index.js │ │ │ │ ├── math.js │ │ │ │ └── sum.js │ │ │ ├── maths.ts │ │ │ ├── olap │ │ │ │ ├── help.js │ │ │ │ ├── index.js │ │ │ │ └── olap.js │ │ │ ├── parse │ │ │ │ ├── help.js │ │ │ │ ├── index.js │ │ │ │ ├── parse.js │ │ │ │ └── utils.js │ │ │ ├── stack.ts │ │ │ ├── stack │ │ │ │ ├── help.js │ │ │ │ ├── index.js │ │ │ │ ├── stack.js │ │ │ │ ├── stackhelper.js │ │ │ │ ├── stackupdater.js │ │ │ │ └── stackupsert.js │ │ │ ├── statistic.ts │ │ │ ├── statistical │ │ │ │ ├── help.js │ │ │ │ ├── ifs.js │ │ │ │ ├── index.js │ │ │ │ ├── max.js │ │ │ │ ├── min.js │ │ │ │ └── statistical.js │ │ │ ├── streams │ │ │ │ ├── help.js │ │ │ │ ├── index.js │ │ │ │ ├── kafkacommand.js │ │ │ │ ├── kafkaquery.js │ │ │ │ ├── produce.js │ │ │ │ ├── request.js │ │ │ │ └── respond.js │ │ │ ├── streamsheet │ │ │ │ ├── array.js │ │ │ │ ├── await.js │ │ │ │ ├── calc.js │ │ │ │ ├── clearcells.js │ │ │ │ ├── colors.js │ │ │ │ ├── continueAt.js │ │ │ │ ├── counters.js │ │ │ │ ├── delete.js │ │ │ │ ├── deletecells.js │ │ │ │ ├── detectchange.js │ │ │ │ ├── dictionary.js │ │ │ │ ├── execute.js │ │ │ │ ├── feedinbox.js │ │ │ │ ├── goto.js │ │ │ │ ├── help.js │ │ │ │ ├── inbox.js │ │ │ │ ├── inboxdata.js │ │ │ │ ├── inboxjson.js │ │ │ │ ├── inboxmetadata.js │ │ │ │ ├── index.js │ │ │ │ ├── json.js │ │ │ │ ├── jsonrange.js │ │ │ │ ├── jsonvalue.js │ │ │ │ ├── loop.js │ │ │ │ ├── outbox.js │ │ │ │ ├── outboxdata.js │ │ │ │ ├── outboxgetids.js │ │ │ │ ├── outboxjson.js │ │ │ │ ├── range.js │ │ │ │ ├── read.js │ │ │ │ ├── refresh.js │ │ │ │ ├── return.js │ │ │ │ ├── select.js │ │ │ │ ├── setcycletime.js │ │ │ │ ├── setphase.js │ │ │ │ ├── sleep.js │ │ │ │ ├── subtree.js │ │ │ │ ├── table.js │ │ │ │ ├── triggerstep.js │ │ │ │ ├── values.js │ │ │ │ └── write.js │ │ │ ├── text.ts │ │ │ ├── text │ │ │ │ ├── help.js │ │ │ │ ├── index.js │ │ │ │ ├── split.js │ │ │ │ └── text.js │ │ │ ├── timeseries │ │ │ │ ├── aggregations.js │ │ │ │ ├── help.js │ │ │ │ ├── index.js │ │ │ │ ├── stateListener.js │ │ │ │ ├── timeaggregate.js │ │ │ │ ├── timequery.js │ │ │ │ ├── timestore.js │ │ │ │ ├── transform.js │ │ │ │ ├── utils.js │ │ │ │ └── whereparser.js │ │ │ └── url │ │ │ │ ├── help.js │ │ │ │ ├── index.js │ │ │ │ └── url.js │ │ ├── logger.js │ │ ├── utils │ │ │ ├── AsyncRequest.js │ │ │ ├── Criterion.js │ │ │ ├── aggregations.js │ │ │ ├── arrayspread.js │ │ │ ├── calculate.js │ │ │ ├── criteria.js │ │ │ ├── date.js │ │ │ ├── httprequest.js │ │ │ ├── inboxread.js │ │ │ ├── index.js │ │ │ ├── jsonbuilder.js │ │ │ ├── jsonflatten.js │ │ │ ├── messages.js │ │ │ ├── publishinternal.js │ │ │ ├── response.js │ │ │ ├── runner.js │ │ │ ├── sheet.js │ │ │ ├── terms.js │ │ │ ├── types.js │ │ │ ├── validation.js │ │ │ ├── values.js │ │ │ └── wildcards.js │ │ └── wip │ │ │ ├── function-type.1.ts │ │ │ ├── function-type.2.ts │ │ │ ├── function-type.3.ts │ │ │ ├── function-type.4.ts │ │ │ ├── function-type.5.ts │ │ │ ├── function-type.6.ts │ │ │ ├── function-type.7.ts │ │ │ ├── logial.1.ts │ │ │ ├── logial.2.ts │ │ │ └── logical.3.ts │ └── test │ │ ├── _data │ │ ├── messages.json │ │ └── sheets.json │ │ ├── crypto │ │ └── crypto.test.js │ │ ├── database │ │ └── database.test.js │ │ ├── date │ │ ├── date.test.js │ │ └── mstoserial.test.js │ │ ├── engineering │ │ └── engineering.test.js │ │ ├── error.test.js │ │ ├── info │ │ └── info.test.js │ │ ├── jest.config.js │ │ ├── logical │ │ └── logical.test.js │ │ ├── lookup │ │ └── lookup.test.js │ │ ├── machine │ │ └── FunctionsWithStreamSheetTrigger.test.js │ │ ├── math │ │ ├── math.test.js │ │ └── sum.test.js │ │ ├── setup.js │ │ ├── stack │ │ └── stack.test.js │ │ ├── statistical │ │ ├── ifs.test.js │ │ ├── max.test.js │ │ ├── min.test.js │ │ └── statistical.test.js │ │ ├── streamsheet │ │ ├── array.test.js │ │ ├── await.test.js │ │ ├── calc.test.js │ │ ├── clearcells.test.js │ │ ├── colors.test.js │ │ ├── continue.test.js │ │ ├── copyvalues.test.js │ │ ├── counters.test.js │ │ ├── delete.test.js │ │ ├── deletecells.test.js │ │ ├── detectchange.test.js │ │ ├── dictionary.test.js │ │ ├── execute.test.js │ │ ├── feedinbox.test.js │ │ ├── getcycletime.test.js │ │ ├── goto.test.js │ │ ├── inboxdata.test.js │ │ ├── inboxjson.test.js │ │ ├── inboxmetadata.test.js │ │ ├── json.test.js │ │ ├── jsonrange.test.js │ │ ├── jsonvalue.test.js │ │ ├── loop.test.js │ │ ├── movevalues.test.js │ │ ├── outboxdata.test.js │ │ ├── outboxgetids.test.js │ │ ├── outboxjson.test.js │ │ ├── outboxmetadata.test.js │ │ ├── produce.test.js │ │ ├── range.test.js │ │ ├── read.test.js │ │ ├── requests.test.js │ │ ├── return.test.js │ │ ├── setcycletime.test.js │ │ ├── setphase.test.js │ │ ├── setvalue.test.js │ │ ├── sleep.test.js │ │ ├── subtree.test.js │ │ ├── swapvalues.test.js │ │ ├── table │ │ │ ├── tableget.test.js │ │ │ ├── tableordercolumn.test.js │ │ │ └── tableupdate.test.js │ │ ├── time │ │ │ ├── timequery.test.js │ │ │ ├── timestore.test.js │ │ │ └── utils.js │ │ ├── timeaggregate.test.js │ │ ├── triggerstep.test.js │ │ └── write.test.js │ │ ├── text │ │ ├── split.test.js │ │ └── text.test.js │ │ ├── utilities.js │ │ └── utils │ │ ├── AsyncRequest.test.js │ │ ├── Criterion.test.js │ │ ├── aggregations.test.js │ │ ├── jsonbuilder.test.js │ │ ├── runFunction.test.js │ │ ├── types.test.js │ │ └── wildcards.test.js ├── gateway-client-node │ ├── .gitignore │ ├── README.md │ ├── index.js │ ├── package.json │ ├── src │ │ └── client │ │ │ └── node │ │ │ └── NodeGatewayClient.js │ └── test │ │ └── client │ │ ├── config │ │ └── config.json │ │ ├── helper │ │ └── helper.js │ │ └── node │ │ └── NodeGatewayClient.test.js ├── gateway-client-proxy │ ├── .gitignore │ ├── README.md │ ├── index.js │ ├── karma.conf.js │ ├── package.json │ ├── src │ │ └── client │ │ │ └── proxy │ │ │ ├── GatewayClientWorker.js │ │ │ └── WebWorkerGatewayClientProxy.js │ └── webpack.config.js ├── gateway-client │ ├── .eslintignore │ ├── .gitignore │ ├── README.md │ ├── index.js │ ├── karma.conf.js │ ├── package.json │ ├── src │ │ ├── client │ │ │ ├── apis │ │ │ │ ├── GatewayAPI.js │ │ │ │ ├── HTTPGatewayAPI.js │ │ │ │ └── WebSocketGatewayAPI.js │ │ │ ├── base │ │ │ │ └── BaseGatewayClient.js │ │ │ ├── constants │ │ │ │ └── ErrorCodes.js │ │ │ └── web │ │ │ │ └── WebGatewayClient.js │ │ └── requests │ │ │ ├── Request.js │ │ │ ├── http │ │ │ ├── HTTPRequest.js │ │ │ └── HTTPRequests.js │ │ │ └── sockets │ │ │ ├── WebSocketRequest.js │ │ │ └── WebSocketRequests.js │ ├── test │ │ ├── .eslintrc.json │ │ ├── client │ │ │ ├── base │ │ │ │ └── BaseGatewayClient.test.js │ │ │ ├── config │ │ │ │ └── config.json │ │ │ ├── helper │ │ │ │ ├── graph.json │ │ │ │ ├── helper.js │ │ │ │ └── tests.js │ │ │ └── web │ │ │ │ └── WebGatewayClient.test.js │ │ └── requests │ │ │ ├── Request.test.js │ │ │ └── http │ │ │ └── HTTPRequest.test.js │ └── webpack.config.js ├── gateway-plugins │ └── webhook-server │ │ ├── .gitignore │ │ ├── index.js │ │ ├── package.json │ │ └── src │ │ ├── WebhookServer.js │ │ ├── WebhookServerApi.js │ │ ├── WebhookServerGraphQL.js │ │ ├── WebhookServerMiddleware.js │ │ └── WebhookServerRepository.js ├── gateway │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── Dockerfile │ ├── README.md │ ├── config │ │ ├── config-development.json │ │ ├── config-production.json │ │ └── init.json │ ├── examples │ │ └── init.js │ ├── index.ts │ ├── meta.json │ ├── package.json │ ├── public │ │ └── .gitignore │ ├── src │ │ ├── Auth.ts │ │ ├── authorization.ts │ │ ├── common.d.ts │ │ ├── config.js │ │ ├── context.ts │ │ ├── errors │ │ │ ├── AuthError.js │ │ │ ├── ErrorCodes.js │ │ │ ├── InputError.js │ │ │ ├── InternalError.js │ │ │ ├── MongoError.js │ │ │ └── index.js │ │ ├── export-import │ │ │ ├── ExportApi.ts │ │ │ ├── ImportApi.ts │ │ │ ├── index.ts │ │ │ └── types.ts │ │ ├── glue.ts │ │ ├── graphql │ │ │ ├── GraphQLServer.js │ │ │ ├── Payload.ts │ │ │ └── resolvers.js │ │ ├── initializer.js │ │ ├── machine │ │ │ ├── MachineApi.ts │ │ │ ├── MachineServiceProxy.ts │ │ │ ├── index.ts │ │ │ └── types.ts │ │ ├── rest │ │ │ ├── APIRouter.js │ │ │ ├── APIRouterRepositoryServer.js │ │ │ ├── DefaultApp.js │ │ │ ├── error │ │ │ │ └── Error.js │ │ │ ├── routes │ │ │ │ ├── AuthRoutes.js │ │ │ │ ├── BackupRestoreRoutes.js │ │ │ │ ├── ConfigRoutes.js │ │ │ │ ├── ErrorRoutes.js │ │ │ │ ├── IndexRoutes.js │ │ │ │ ├── MetaInformationRoutes.js │ │ │ │ ├── NewsletterRoutes.js │ │ │ │ └── SetupRoutes.js │ │ │ └── start.ts │ │ ├── services │ │ │ └── gateway │ │ │ │ ├── GatewayService.js │ │ │ │ ├── MachineServiceMessageRouter.js │ │ │ │ └── RoundRobinMap.js │ │ ├── stream │ │ │ ├── Stream.ts │ │ │ ├── StreamApi.ts │ │ │ ├── StreamRepositoryProxy.ts │ │ │ ├── index.ts │ │ │ └── types.d.ts │ │ ├── streamsheets.d.ts │ │ ├── user │ │ │ ├── Document.ts │ │ │ ├── Functional.ts │ │ │ ├── UserApi.ts │ │ │ ├── UserRepository.ts │ │ │ ├── index.ts │ │ │ └── types.d.ts │ │ ├── utils │ │ │ ├── Migration.js │ │ │ ├── index.js │ │ │ └── logger.js │ │ └── ws │ │ │ ├── ProxyConnection.ts │ │ │ ├── RedisConnection.ts │ │ │ ├── ServerConnection.ts │ │ │ ├── SocketServer.ts │ │ │ ├── StreamWSProxy.ts │ │ │ ├── interceptors │ │ │ ├── GraphServerInterceptor.js │ │ │ ├── Interceptor.js │ │ │ ├── InterceptorChain.js │ │ │ ├── MachineServerInterceptor.js │ │ │ └── UserPersistence.js │ │ │ └── messages │ │ │ └── Messages.js │ ├── start.js │ ├── test │ │ ├── .eslintrc.json │ │ ├── config │ │ │ └── config.js │ │ ├── glue.test.ts │ │ ├── helper │ │ │ ├── BeforeHook.js │ │ │ └── Utils.js │ │ ├── routes │ │ │ └── IndexRoutes.test.js │ │ ├── tsconfig.json │ │ └── ws │ │ │ └── InterceptorChain.test.js │ ├── tsconfig-base.json │ ├── tsconfig.json │ └── webpack.config.js ├── http-client │ ├── index.js │ ├── package.json │ └── src │ │ └── HTTPClient.js ├── idgenerator │ ├── README.md │ ├── index.d.ts │ ├── index.js │ ├── package.json │ └── src │ │ └── generators │ │ └── IdGenerator.js ├── jsg-core │ ├── .babelrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── README.md │ ├── example-websocket │ │ └── node-graph.js │ ├── gettingstarted │ │ ├── index.html │ │ ├── index.js │ │ ├── indexd.html │ │ └── indexd.js │ ├── gulpfile.js │ ├── index.js │ ├── package.json │ ├── src │ │ ├── JSG.js │ │ ├── ObjectFactory.js │ │ ├── commons │ │ │ ├── Arrays.js │ │ │ ├── Dictionary.js │ │ │ ├── ImagePool.js │ │ │ ├── JSONReader.js │ │ │ ├── JSONWriter.js │ │ │ ├── Math.js │ │ │ ├── Numbers.js │ │ │ ├── Reader.js │ │ │ ├── StableDictionary.js │ │ │ ├── Strings.js │ │ │ ├── Writer.js │ │ │ └── XML.js │ │ ├── geometry │ │ │ ├── BoundingBox.js │ │ │ ├── CoordinateSystem.js │ │ │ ├── MathUtils.js │ │ │ ├── Matrix.js │ │ │ ├── MetricCoordinateSystem.js │ │ │ ├── Point.js │ │ │ ├── PointList.js │ │ │ └── Rectangle.js │ │ ├── graph │ │ │ ├── BezierCoordinate.js │ │ │ ├── BezierCoordinateProxy.js │ │ │ ├── Coordinate.js │ │ │ ├── CoordinateProxy.js │ │ │ ├── GraphUtils.js │ │ │ ├── Pin.js │ │ │ ├── PortCoordinateProxy.js │ │ │ ├── ReshapeCoordinate.js │ │ │ ├── Size.js │ │ │ ├── attr │ │ │ │ ├── Attribute.js │ │ │ │ ├── AttributeList.js │ │ │ │ ├── AttributeRegistry.js │ │ │ │ ├── AttributeUtils.js │ │ │ │ ├── BooleanAttribute.js │ │ │ │ ├── CellAttributes.js │ │ │ │ ├── CellFormatAttributes.js │ │ │ │ ├── CellTextFormatAttributes.js │ │ │ │ ├── ConstAttribute.js │ │ │ │ ├── ConstAttributeList.js │ │ │ │ ├── EdgeAttributes.js │ │ │ │ ├── EventAttributes.js │ │ │ │ ├── FormatAttributes.js │ │ │ │ ├── HeaderAttributes.js │ │ │ │ ├── ItemAttributes.js │ │ │ │ ├── LayoutAttributes.js │ │ │ │ ├── LayoutCellAttributes.js │ │ │ │ ├── MachineContainerAttributes.js │ │ │ │ ├── NumberAttribute.js │ │ │ │ ├── ObjectAttribute.js │ │ │ │ ├── StreamSheetContainerAttributes.js │ │ │ │ ├── StringAttribute.js │ │ │ │ ├── Template.js │ │ │ │ ├── TemplateStore.js │ │ │ │ ├── TextFormatAttributes.js │ │ │ │ ├── TextNodeAttributes.js │ │ │ │ ├── TreeItemAttributes.js │ │ │ │ └── WorksheetAttributes.js │ │ │ ├── command │ │ │ │ ├── AbstractGroupUngroupCommand.js │ │ │ │ ├── AbstractItemCommand.js │ │ │ │ ├── AbstractItemCommandProxy.js │ │ │ │ ├── AddAttributeCommand.js │ │ │ │ ├── AddGraphCellCommand.js │ │ │ │ ├── AddImageCommand.js │ │ │ │ ├── AddItemCommand.js │ │ │ │ ├── AddLabelCommand.js │ │ │ │ ├── AddLayoutSectionCommand.js │ │ │ │ ├── AddPortCommand.js │ │ │ │ ├── AddSheetNameCommand.js │ │ │ │ ├── AddTreeItemCommand.js │ │ │ │ ├── AlignItemsCommand.js │ │ │ │ ├── AttachCommand.js │ │ │ │ ├── CellAttributesCommand.js │ │ │ │ ├── ChangeAttributeCommand.js │ │ │ │ ├── ChangeItemOrderCommand.js │ │ │ │ ├── ChangeParentCommand.js │ │ │ │ ├── CollapseItemCommand.js │ │ │ │ ├── Command.js │ │ │ │ ├── CommandFactory.js │ │ │ │ ├── CommandProxy.js │ │ │ │ ├── CommandStack.js │ │ │ │ ├── CompoundCommand.js │ │ │ │ ├── CreateHeaderLevelsFromRangeCommand.js │ │ │ │ ├── DeleteCellContentCommand.js │ │ │ │ ├── DeleteCellsCommand.js │ │ │ │ ├── DeleteEdgeCommand.js │ │ │ │ ├── DeleteGraphCellCommand.js │ │ │ │ ├── DeleteItemCommand.js │ │ │ │ ├── DeleteLayoutSectionCommand.js │ │ │ │ ├── DeleteNodeCommand.js │ │ │ │ ├── DeletePortCommand.js │ │ │ │ ├── DeleteSheetNameCommand.js │ │ │ │ ├── DeleteTreeItemCommand.js │ │ │ │ ├── DetachCommand.js │ │ │ │ ├── DropItemCommand.js │ │ │ │ ├── ExecuteFunctionCommand.js │ │ │ │ ├── FormatCellsCommand.js │ │ │ │ ├── FormatItemCommand.js │ │ │ │ ├── GroupCreator.js │ │ │ │ ├── GroupItemsCommand.js │ │ │ │ ├── InsertCellsCommand.js │ │ │ │ ├── InsertShapeCoordinateAtCommand.js │ │ │ │ ├── InternalDeleteItemCommand.js │ │ │ │ ├── InternalDetachCommand.js │ │ │ │ ├── InternalMoveItemCommand.js │ │ │ │ ├── InternalResizeItemCommand.js │ │ │ │ ├── InternalRotateItemCommand.js │ │ │ │ ├── LoadMachineCommand.js │ │ │ │ ├── MarkCellValuesCommand.js │ │ │ │ ├── MoveEdgeCommand.js │ │ │ │ ├── MoveItemCommand.js │ │ │ │ ├── MoveNodeCommand.js │ │ │ │ ├── NoOpCommand.js │ │ │ │ ├── PasteCellsFromClipboardCommand.js │ │ │ │ ├── PasteItemsCommand.js │ │ │ │ ├── PasteTreeItemCommand.js │ │ │ │ ├── RemoveAttributeCommand.js │ │ │ │ ├── RemoveSelectionCommand.js │ │ │ │ ├── RemoveShapeCoordinateAtCommand.js │ │ │ │ ├── ReplaceSubItemCommand.js │ │ │ │ ├── ReshapeItemCommand.js │ │ │ │ ├── ResizeEdgeCommand.js │ │ │ │ ├── ResizeGroupCommand.js │ │ │ │ ├── ResizeItemCommand.js │ │ │ │ ├── ResizeNodeCommand.js │ │ │ │ ├── RotateEdgeCommand.js │ │ │ │ ├── RotateItemCommand.js │ │ │ │ ├── RotateNodeCommand.js │ │ │ │ ├── SetAttributeAtPathCommand.js │ │ │ │ ├── SetAttributesMapCommand.js │ │ │ │ ├── SetBezierLineShapePointCommand.js │ │ │ │ ├── SetBezierShapePointsCommand.js │ │ │ │ ├── SetCellDataCommand.js │ │ │ │ ├── SetCellLevelsCommand.js │ │ │ │ ├── SetCellsCommand.js │ │ │ │ ├── SetChartFormulaCommand.js │ │ │ │ ├── SetGraphCellCommand.js │ │ │ │ ├── SetHeaderSectionLevelCommand.js │ │ │ │ ├── SetHeaderSectionOutlineFlagCommand.js │ │ │ │ ├── SetHeaderSectionSizeCommand.js │ │ │ │ ├── SetLayoutCommand.js │ │ │ │ ├── SetLayoutSectionCommand.js │ │ │ │ ├── SetLayoutSettingCommand.js │ │ │ │ ├── SetLineCoordinateAtCommand.js │ │ │ │ ├── SetLinePointAtCommand.js │ │ │ │ ├── SetLineShapePointsCommand.js │ │ │ │ ├── SetLinkCommand.js │ │ │ │ ├── SetMachineCommand.js │ │ │ │ ├── SetNameCommand.js │ │ │ │ ├── SetPinCommand.js │ │ │ │ ├── SetPlotDataCommand.js │ │ │ │ ├── SetPointSourceCommand.js │ │ │ │ ├── SetSelectionCommand.js │ │ │ │ ├── SetShapeCommand.js │ │ │ │ ├── SetShapePointsCommand.js │ │ │ │ ├── SetSheetCellsCommand.js │ │ │ │ ├── SetSheetNameCommand.js │ │ │ │ ├── SetSizeCommand.js │ │ │ │ ├── SetTextCommand.js │ │ │ │ ├── SetTextSizeModeCommand.js │ │ │ │ ├── SetTreeDataCommand.js │ │ │ │ ├── SetTreeItemCheckedFlagCommand.js │ │ │ │ ├── SetTreeItemDataCommand.js │ │ │ │ ├── SetTreeItemDepthCommand.js │ │ │ │ ├── SetTreeItemDisabledCommand.js │ │ │ │ ├── SetTreeItemExpandFlagCommand.js │ │ │ │ ├── SetTreeItemShowDepthCommand.js │ │ │ │ ├── SetTreeShowDepthCommand.js │ │ │ │ ├── ShapePointsMap.js │ │ │ │ ├── SheetCommandFactory.js │ │ │ │ ├── SizeItemsCommand.js │ │ │ │ ├── TextFormatCellsCommand.js │ │ │ │ ├── TextFormatItemCommand.js │ │ │ │ ├── TranslateItemsCommand.js │ │ │ │ ├── UnGroupItemsCommand.js │ │ │ │ ├── UpdateNamesCommands.js │ │ │ │ ├── UpdateTreeItemCommand.js │ │ │ │ ├── ZoomChartCommand.js │ │ │ │ ├── server │ │ │ │ │ ├── CompoundRequestCommand.js │ │ │ │ │ ├── DeleteCellsCommand.js │ │ │ │ │ ├── PasteCellsCommand.js │ │ │ │ │ ├── RequestCommand.js │ │ │ │ │ ├── ServerCommandFactory.js │ │ │ │ │ ├── SetCellLevelsCommand.js │ │ │ │ │ ├── SetCellsCommand.js │ │ │ │ │ └── SetCellsPropertiesCommand.js │ │ │ │ └── utils │ │ │ │ │ ├── cellrange.js │ │ │ │ │ ├── cells.js │ │ │ │ │ ├── copycells.js │ │ │ │ │ ├── expression.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── json.js │ │ │ │ │ └── sheet.js │ │ │ ├── expr │ │ │ │ ├── AttributeExpression.js │ │ │ │ ├── BooleanConstraint.js │ │ │ │ ├── BooleanExpression.js │ │ │ │ ├── ConstExpression.js │ │ │ │ ├── ConstraintRegistry.js │ │ │ │ ├── Expression.js │ │ │ │ ├── ExpressionConstraint.js │ │ │ │ ├── ExpressionHelper.js │ │ │ │ ├── ExpressionProxy.js │ │ │ │ ├── ExpressionRegistry.js │ │ │ │ ├── MapExpression.js │ │ │ │ ├── MapExpressionUpperCase.js │ │ │ │ ├── NumberConstraint.js │ │ │ │ ├── NumberExpression.js │ │ │ │ ├── NumberRangeConstraint.js │ │ │ │ ├── ObjectConstraint.js │ │ │ │ ├── ObjectExpression.js │ │ │ │ ├── RangeConstraint.js │ │ │ │ ├── SheetReference.js │ │ │ │ ├── StringConstraint.js │ │ │ │ └── StringExpression.js │ │ │ ├── model │ │ │ │ ├── ButtonNode.js │ │ │ │ ├── CaptionNode.js │ │ │ │ ├── Cell.js │ │ │ │ ├── CellRange.js │ │ │ │ ├── CellsNode.js │ │ │ │ ├── ColumnHeaderNode.js │ │ │ │ ├── ContentNode.js │ │ │ │ ├── DataProvider.js │ │ │ │ ├── Edge.js │ │ │ │ ├── Graph.js │ │ │ │ ├── GraphItem.js │ │ │ │ ├── GraphItemFactory.js │ │ │ │ ├── Group.js │ │ │ │ ├── HeaderNode.js │ │ │ │ ├── HeaderSection.js │ │ │ │ ├── IdUpdater.js │ │ │ │ ├── InboxContainer.js │ │ │ │ ├── Layer.js │ │ │ │ ├── LayoutCell.js │ │ │ │ ├── LayoutNode.js │ │ │ │ ├── LayoutSection.js │ │ │ │ ├── LineConnection.js │ │ │ │ ├── LineNode.js │ │ │ │ ├── MachineContainer.js │ │ │ │ ├── MachineGraph.js │ │ │ │ ├── MessageContainer.js │ │ │ │ ├── Model.js │ │ │ │ ├── Node.js │ │ │ │ ├── OutboxContainer.js │ │ │ │ ├── Paragraph.js │ │ │ │ ├── Path.js │ │ │ │ ├── Port.js │ │ │ │ ├── PortMapper.js │ │ │ │ ├── RowHeaderNode.js │ │ │ │ ├── ScrollbarNode.js │ │ │ │ ├── Section.js │ │ │ │ ├── Selection.js │ │ │ │ ├── ShapeBuilder.js │ │ │ │ ├── SheetButtonNode.js │ │ │ │ ├── SheetCheckboxNode.js │ │ │ │ ├── SheetHeaderNode.js │ │ │ │ ├── SheetKnobNode.js │ │ │ │ ├── SheetName.js │ │ │ │ ├── SheetSliderNode.js │ │ │ │ ├── SplitterNode.js │ │ │ │ ├── State.js │ │ │ │ ├── StreamSheet.js │ │ │ │ ├── StreamSheetContainer.js │ │ │ │ ├── StreamSheetWrapper.js │ │ │ │ ├── StreamSheetsContainer.js │ │ │ │ ├── TextNode.js │ │ │ │ ├── TreeItem.js │ │ │ │ ├── TreeItemsNode.js │ │ │ │ ├── TreeNode.js │ │ │ │ ├── WorksheetNode.js │ │ │ │ ├── chart │ │ │ │ │ ├── Chart.js │ │ │ │ │ ├── ChartAxis.js │ │ │ │ │ ├── ChartDataLabel.js │ │ │ │ │ ├── ChartElement.js │ │ │ │ │ ├── ChartFormat.js │ │ │ │ │ ├── ChartMap.js │ │ │ │ │ ├── ChartMarker.js │ │ │ │ │ ├── ChartPoint.js │ │ │ │ │ ├── ChartRect.js │ │ │ │ │ ├── ChartSeries.js │ │ │ │ │ └── ChartTitle.js │ │ │ │ ├── events │ │ │ │ │ ├── AttributeChangeEvent.js │ │ │ │ │ ├── AttributeListener.js │ │ │ │ │ ├── EdgeListener.js │ │ │ │ │ ├── Event.js │ │ │ │ │ ├── EventDispatcher.js │ │ │ │ │ ├── EventListener.js │ │ │ │ │ ├── FormatListener.js │ │ │ │ │ ├── GraphItemListener.js │ │ │ │ │ ├── NodeEvent.js │ │ │ │ │ ├── PortListener.js │ │ │ │ │ ├── ShapeEvent.js │ │ │ │ │ └── ShapeListener.js │ │ │ │ ├── settings │ │ │ │ │ ├── AbstractSettings.js │ │ │ │ │ ├── CustomSetting.js │ │ │ │ │ ├── GraphSettings.js │ │ │ │ │ └── GraphSettingsEvent.js │ │ │ │ ├── shapes │ │ │ │ │ ├── BBoxShape.js │ │ │ │ │ ├── BezierLineShape.js │ │ │ │ │ ├── BezierShape.js │ │ │ │ │ ├── EllipseShape.js │ │ │ │ │ ├── LineShape.js │ │ │ │ │ ├── OrthoLineShape.js │ │ │ │ │ ├── PathShape.js │ │ │ │ │ ├── PolygonShape.js │ │ │ │ │ ├── RectangleShape.js │ │ │ │ │ ├── Shape.js │ │ │ │ │ └── ShapeFactory.js │ │ │ │ └── utils │ │ │ │ │ ├── dataprovider.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── map.js │ │ │ │ │ └── properties.js │ │ │ ├── notifications │ │ │ │ ├── Notification.js │ │ │ │ └── NotificationCenter.js │ │ │ ├── parser │ │ │ │ ├── AttributeReference.js │ │ │ │ ├── GraphParser.js │ │ │ │ ├── GraphParserContext.js │ │ │ │ ├── GraphReference.js │ │ │ │ └── ReferenceFactory.js │ │ │ └── properties │ │ │ │ ├── GraphItemProperties.js │ │ │ │ ├── IndexProperty.js │ │ │ │ ├── Properties.js │ │ │ │ ├── PropertiesProvider.js │ │ │ │ └── Property.js │ │ └── layout │ │ │ ├── EdgeLayout.js │ │ │ ├── GraphLayout.js │ │ │ ├── GridLayout.js │ │ │ ├── Layout.js │ │ │ ├── LayoutFactory.js │ │ │ ├── Line.js │ │ │ ├── MatrixLayout.js │ │ │ ├── OrthogonalLayout.js │ │ │ ├── Settings.js │ │ │ └── SettingsRegistry.js │ ├── test │ │ ├── GraphParser.test.js │ │ ├── ObjectFactory.test.js │ │ └── Settings.test.js │ └── webpack.config.js ├── jsg-ui │ ├── .babelrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── README.md │ ├── index.js │ ├── package.json │ ├── scripts │ │ └── concatenate.js │ ├── src │ │ ├── JSGGlobals.js │ │ ├── graph │ │ │ ├── controller │ │ │ │ ├── ConnectionController.js │ │ │ │ ├── ContentNodeController.js │ │ │ │ ├── GraphController.js │ │ │ │ ├── GraphControllerFactory.js │ │ │ │ ├── GraphItemController.js │ │ │ │ ├── GroupController.js │ │ │ │ ├── ModelController.js │ │ │ │ ├── NodeController.js │ │ │ │ ├── PortController.js │ │ │ │ └── RootController.js │ │ │ ├── feedback │ │ │ │ ├── CellFeedbackView.js │ │ │ │ ├── CellSelectionFeedbackView.js │ │ │ │ ├── ChartDragFeedbackView.js │ │ │ │ ├── ChartInfoFeedbackView.js │ │ │ │ ├── ChartSelectionFeedbackView.js │ │ │ │ ├── EdgeFeedback.js │ │ │ │ ├── Feedback.js │ │ │ │ ├── FeedbackView.js │ │ │ │ ├── MoveFeedbackView.js │ │ │ │ ├── OrthoEdgeFeedback.js │ │ │ │ ├── PortFeedback.js │ │ │ │ └── TreeFeedbackView.js │ │ │ ├── interaction │ │ │ │ ├── AbstractInteraction.js │ │ │ │ ├── ActionHandle.js │ │ │ │ ├── BezierEdgeHelper.js │ │ │ │ ├── ButtonActivator.js │ │ │ │ ├── CaptionActivator.js │ │ │ │ ├── CreateBezierEdgeInteraction.js │ │ │ │ ├── CreateBezierInteraction.js │ │ │ │ ├── CreateEdgeActivator.js │ │ │ │ ├── CreateEdgeInteraction.js │ │ │ │ ├── CreateItemInteraction.js │ │ │ │ ├── CreateNodeInteraction.js │ │ │ │ ├── CreateOrthoEdgeInteraction.js │ │ │ │ ├── CreatePolyLineInteraction.js │ │ │ │ ├── DefaultKeyHandler.js │ │ │ │ ├── Delegate.js │ │ │ │ ├── DragDropActivator.js │ │ │ │ ├── DragDropInteraction.js │ │ │ │ ├── DropDelegate.js │ │ │ │ ├── EditBezierShapeInteraction.js │ │ │ │ ├── EditCellInteraction.js │ │ │ │ ├── EditLineShapeInteraction.js │ │ │ │ ├── EditShapeInteraction.js │ │ │ │ ├── EditTextActivator.js │ │ │ │ ├── EditTextInteraction.js │ │ │ │ ├── EditTreeInteraction.js │ │ │ │ ├── FormatPainterInteraction.js │ │ │ │ ├── GraphInteraction.js │ │ │ │ ├── Highlighter.js │ │ │ │ ├── ImageDropActivator.js │ │ │ │ ├── Interaction.js │ │ │ │ ├── InteractionActivator.js │ │ │ │ ├── InteractionDispatcher.js │ │ │ │ ├── InteractionHandler.js │ │ │ │ ├── InteractionUtils.js │ │ │ │ ├── LayoutNodeActivator.js │ │ │ │ ├── LayoutNodeInteraction.js │ │ │ │ ├── LinkActivator.js │ │ │ │ ├── MarqueeActivator.js │ │ │ │ ├── MarqueeInteraction.js │ │ │ │ ├── MoveActivator.js │ │ │ │ ├── MoveAlignHelper.js │ │ │ │ ├── MoveDelegate.js │ │ │ │ ├── MoveInteraction.js │ │ │ │ ├── PanActivator.js │ │ │ │ ├── PanInteraction.js │ │ │ │ ├── PinchActivator.js │ │ │ │ ├── PinchInteraction.js │ │ │ │ ├── ReadOnlyInteraction.js │ │ │ │ ├── ReshapeActivator.js │ │ │ │ ├── ReshapeInteraction.js │ │ │ │ ├── ResizeActivator.js │ │ │ │ ├── ResizeBezierEdgeInteraction.js │ │ │ │ ├── ResizeEdgeInteraction.js │ │ │ │ ├── ResizeEditEdgeActivator.js │ │ │ │ ├── ResizeEditEdgeInteraction.js │ │ │ │ ├── ResizeEditOrthoEdgeInteraction.js │ │ │ │ ├── ResizeInteraction.js │ │ │ │ ├── ResizeLineNodeInteraction.js │ │ │ │ ├── ResizeOrthoEdgeInteraction.js │ │ │ │ ├── RotateActivator.js │ │ │ │ ├── RotateInteraction.js │ │ │ │ ├── SelectionVerifier.js │ │ │ │ ├── SheetActivator.js │ │ │ │ ├── SheetGraphItemEventActivator.js │ │ │ │ ├── SheetGraphItemEventInteraction.js │ │ │ │ ├── SheetInteraction.js │ │ │ │ ├── SheetPlotActivator.js │ │ │ │ ├── SheetPlotInteraction.js │ │ │ │ ├── SnapHelper.js │ │ │ │ ├── SplitterActivator.js │ │ │ │ ├── SplitterInteraction.js │ │ │ │ ├── StreamSheetContainerResizeActivator.js │ │ │ │ ├── Tooltip.js │ │ │ │ ├── TooltipActivator.js │ │ │ │ ├── TreeActivator.js │ │ │ │ ├── TreeInteraction.js │ │ │ │ ├── ViewActivator.js │ │ │ │ ├── ViewInteraction.js │ │ │ │ └── ZoomInteraction.js │ │ │ └── view │ │ │ │ ├── BBoxView.js │ │ │ │ ├── ButtonView.js │ │ │ │ ├── CaptionView.js │ │ │ │ ├── CellEditor.js │ │ │ │ ├── CellInfoView.js │ │ │ │ ├── CellsView.js │ │ │ │ ├── ColumnHeaderView.js │ │ │ │ ├── ContentNodeView.js │ │ │ │ ├── ContentPaneView.js │ │ │ │ ├── EdgeView.js │ │ │ │ ├── EditBezierShapeView.js │ │ │ │ ├── EditLineShapeView.js │ │ │ │ ├── EditShapeView.js │ │ │ │ ├── FloatingToolbar.js │ │ │ │ ├── GraphItemView.js │ │ │ │ ├── GraphView.js │ │ │ │ ├── GroupView.js │ │ │ │ ├── HeaderView.js │ │ │ │ ├── LayerId.js │ │ │ │ ├── LayoutCellView.js │ │ │ │ ├── LayoutView.js │ │ │ │ ├── MarqueeFeedbackView.js │ │ │ │ ├── NodeView.js │ │ │ │ ├── PortView.js │ │ │ │ ├── PositionFeedbackView.js │ │ │ │ ├── RowHeaderView.js │ │ │ │ ├── ScrollbarView.js │ │ │ │ ├── SelectionFeedbackView.js │ │ │ │ ├── SelectionProvider.js │ │ │ │ ├── ShapeMarker.js │ │ │ │ ├── SheetButtonView.js │ │ │ │ ├── SheetCheckboxView.js │ │ │ │ ├── SheetHeaderView.js │ │ │ │ ├── SheetKnobView.js │ │ │ │ ├── SheetSliderView.js │ │ │ │ ├── SnapFeedbackView.js │ │ │ │ ├── StreamSheetContainerView.js │ │ │ │ ├── StreamSheetView.js │ │ │ │ ├── StreamSheetWrapperView.js │ │ │ │ ├── TextView.js │ │ │ │ ├── TreeItemsView.js │ │ │ │ ├── WorksheetHitCode.js │ │ │ │ ├── WorksheetView.js │ │ │ │ ├── selection │ │ │ │ ├── BBoxSelectionHandler.js │ │ │ │ ├── GroupSelectionHandler.js │ │ │ │ ├── LineNodeSelectionHandler.js │ │ │ │ ├── LineSelectionHandler.js │ │ │ │ ├── Marker.js │ │ │ │ ├── NodeSelectionHandler.js │ │ │ │ ├── OrthoLineSelectionHandler.js │ │ │ │ ├── RotationMarker.js │ │ │ │ ├── SelectionHandle.js │ │ │ │ ├── SelectionHandler.js │ │ │ │ ├── SelectionHandlerFactory.js │ │ │ │ ├── SelectionStyle.js │ │ │ │ ├── SelectionView.js │ │ │ │ ├── Styles.js │ │ │ │ └── TextSelectionHandler.js │ │ │ │ └── shapes │ │ │ │ ├── BezierLineShapeRenderer.js │ │ │ │ ├── BezierShapeRenderer.js │ │ │ │ ├── DefaultShapeRenderer.js │ │ │ │ ├── EllipseShapeRenderer.js │ │ │ │ ├── LineShapeRenderer.js │ │ │ │ ├── PathShapeRenderer.js │ │ │ │ ├── PolygonShapeRenderer.js │ │ │ │ ├── RectangleShapeRenderer.js │ │ │ │ └── ShapeRenderer.js │ │ ├── res │ │ │ ├── columnsize.cur │ │ │ ├── columnsize.png │ │ │ ├── cross.cur │ │ │ ├── cross.png │ │ │ ├── css │ │ │ │ └── jsg.css │ │ │ ├── deny.cur │ │ │ ├── deny.png │ │ │ ├── i18n │ │ │ │ ├── de.json │ │ │ │ └── en.json │ │ │ ├── images │ │ │ │ ├── arrowdown.png │ │ │ │ ├── arrowleft.png │ │ │ │ ├── arrowright.png │ │ │ │ ├── arrowup.png │ │ │ │ ├── bold.png │ │ │ │ ├── bullets.png │ │ │ │ ├── centeralign.png │ │ │ │ ├── collapsed.png │ │ │ │ ├── expanded.png │ │ │ │ ├── fontcolor.png │ │ │ │ ├── fontsizedown.png │ │ │ │ ├── fontsizeup.png │ │ │ │ ├── italic.png │ │ │ │ ├── leftalign.png │ │ │ │ ├── notavailable.png │ │ │ │ ├── numbered.png │ │ │ │ ├── rightalign.png │ │ │ │ ├── treechecked.png │ │ │ │ ├── treeunchecked.png │ │ │ │ └── underline.png │ │ │ ├── rotate.cur │ │ │ ├── rotate.png │ │ │ ├── rowsize.cur │ │ │ ├── rowsize.png │ │ │ ├── sheet.cur │ │ │ ├── sheet.png │ │ │ ├── sheetcolumn.cur │ │ │ ├── sheetcolumn.png │ │ │ ├── sheetrow.cur │ │ │ ├── sheetrow.png │ │ │ ├── splith.cur │ │ │ ├── splith.png │ │ │ ├── splitv.cur │ │ │ ├── splitv.png │ │ │ └── svg │ │ │ │ ├── arrowdown.svg │ │ │ │ ├── arrowleft.svg │ │ │ │ ├── arrowright.svg │ │ │ │ ├── arrowup.svg │ │ │ │ ├── checked.svg │ │ │ │ ├── delete.svg │ │ │ │ ├── edge.svg │ │ │ │ ├── filter.svg │ │ │ │ ├── hvedge.svg │ │ │ │ ├── laneaddafter.svg │ │ │ │ ├── laneaddbefore.svg │ │ │ │ ├── lanesplit_2.svg │ │ │ │ ├── lanesplit_3.svg │ │ │ │ ├── unchecked.svg │ │ │ │ ├── vlaneaddafter.svg │ │ │ │ ├── vlaneaddbefore.svg │ │ │ │ ├── vlanesplit_2.svg │ │ │ │ └── vlanesplit_3.svg │ │ └── ui │ │ │ ├── Cursor.js │ │ │ ├── GraphEditor.js │ │ │ ├── GraphViewPanel.js │ │ │ ├── Scale.js │ │ │ ├── ScrollPanel.js │ │ │ ├── View.js │ │ │ ├── Widget.js │ │ │ ├── events │ │ │ ├── ClientEvent.js │ │ │ ├── DragEvent.js │ │ │ ├── GestureEvent.js │ │ │ ├── KeyEvent.js │ │ │ └── MouseEvent.js │ │ │ ├── graphics │ │ │ ├── DocumentEventDispatcher.js │ │ │ ├── GraphicSystem.js │ │ │ ├── Graphics.js │ │ │ └── ScalableGraphics.js │ │ │ ├── menu │ │ │ ├── DefaultMenuProvider.js │ │ │ ├── ItemMenuEntry.js │ │ │ ├── ItemMenuHandler.js │ │ │ ├── ItemMenuProvider.js │ │ │ └── entries │ │ │ │ ├── AddDashBoardItem.js │ │ │ │ ├── AddLayoutColumn.js │ │ │ │ ├── AddLayoutRow.js │ │ │ │ ├── MenuDelete.js │ │ │ │ ├── RemoveLayoutColumn.js │ │ │ │ ├── RemoveLayoutRow.js │ │ │ │ ├── StreamChartData.js │ │ │ │ └── StreamChartSeries.js │ │ │ ├── scrollview │ │ │ ├── Arrow.js │ │ │ ├── Range.js │ │ │ ├── RangeModel.js │ │ │ ├── ScrollBar.js │ │ │ ├── ScrollView.js │ │ │ ├── Thumb.js │ │ │ ├── ViewPanel.js │ │ │ └── ViewPort.js │ │ │ └── viewer │ │ │ ├── ControllerViewer.js │ │ │ ├── GraphViewer.js │ │ │ └── ScrollableViewer.js │ └── webpack.config.js ├── logger │ ├── .eslintignore │ ├── .gitignore │ ├── README.md │ ├── index.d.ts │ ├── index.js │ ├── package.json │ ├── src │ │ ├── Logger.js │ │ ├── LoggerFactory.js │ │ └── adapter │ │ │ ├── BaseLoggerAdapter.js │ │ │ ├── BunyanLoggerAdapter.js │ │ │ ├── ConsoleLoggerAdapter.js │ │ │ └── LoggerAdapter.js │ ├── test │ │ └── Logger.test.js │ └── webpack.config.js ├── machine-core │ ├── .eslintignore │ ├── .gitignore │ ├── README.md │ ├── defproperties.json │ ├── index.js │ ├── package.json │ ├── src │ │ ├── FunctionRegistry.js │ │ ├── State.js │ │ ├── StreamFunctionRegistry.js │ │ ├── ipc │ │ │ ├── Channel.js │ │ │ ├── ChannelRequestHandler.js │ │ │ ├── MachineTask.js │ │ │ ├── MachineTaskMessagingClient.js │ │ │ ├── MachineTaskMonitor.js │ │ │ ├── MachineTaskOutboxMonitor.js │ │ │ ├── MachineTaskRequestHandler.js │ │ │ ├── MachineTaskStreamSheetMonitor.js │ │ │ ├── RedisInboxAdapter.js │ │ │ ├── RequestHandlerRegistry.js │ │ │ └── utils.js │ │ ├── locale │ │ │ ├── convert.js │ │ │ ├── index.js │ │ │ ├── locales │ │ │ │ ├── de.js │ │ │ │ ├── en.js │ │ │ │ ├── index.js │ │ │ │ └── us.js │ │ │ └── numberformatter.js │ │ ├── logger.js │ │ ├── machine │ │ │ ├── Cell.js │ │ │ ├── Inbox.js │ │ │ ├── Machine.js │ │ │ ├── Message.js │ │ │ ├── MessageBox.js │ │ │ ├── MessageHandler.js │ │ │ ├── NamedCells.js │ │ │ ├── Outbox.js │ │ │ ├── Properties.js │ │ │ ├── PropertiesManager.js │ │ │ ├── ReferenceUpdater.js │ │ │ ├── RequestState.js │ │ │ ├── Shapes.js │ │ │ ├── Sheet.js │ │ │ ├── SheetEdit.js │ │ │ ├── SheetIndex.js │ │ │ ├── SheetProcessor.js │ │ │ ├── SheetRange.js │ │ │ ├── SheetRequests.js │ │ │ ├── StreamSheet.js │ │ │ ├── TTLMessageBox.js │ │ │ ├── TaskQueue.js │ │ │ └── sheettrigger │ │ │ │ ├── BaseTrigger.js │ │ │ │ ├── ContinuousTrigger.js │ │ │ │ ├── ExecuteTrigger.js │ │ │ │ ├── MachineStartTrigger.js │ │ │ │ ├── MachineStopTrigger.js │ │ │ │ ├── MessageLoopCycle.js │ │ │ │ ├── NeverTrigger.js │ │ │ │ ├── OnMessageTrigger.js │ │ │ │ ├── OneTimeTrigger.js │ │ │ │ ├── RepeatUntilCycle.js │ │ │ │ ├── RepeatedMessageLoopCycle.js │ │ │ │ ├── TimerTrigger.js │ │ │ │ ├── TriggerFactory.js │ │ │ │ ├── cycles.js │ │ │ │ └── index.js │ │ ├── messaging │ │ │ ├── Client.js │ │ │ ├── DummyClient.js │ │ │ ├── LoggerClient.js │ │ │ └── RequestHandler.js │ │ ├── parser │ │ │ ├── DotReferenceOperator.js │ │ │ ├── ErrorTerm.js │ │ │ ├── Operations.js │ │ │ ├── References.js │ │ │ ├── SheetParser.js │ │ │ ├── SheetParserContext.js │ │ │ ├── SheetRangeOperator.js │ │ │ └── utils.js │ │ ├── storage │ │ │ ├── MessageStore.js │ │ │ └── RocksDbClient.js │ │ ├── streams │ │ │ ├── StreamMessagingClient.js │ │ │ ├── StreamRequestHandler.js │ │ │ └── Streams.js │ │ └── utils │ │ │ ├── array.js │ │ │ ├── autoexit.js │ │ │ ├── index.js │ │ │ ├── isEmpty.js │ │ │ ├── isType.js │ │ │ └── update.js │ ├── test │ │ ├── _data │ │ │ └── messages.json │ │ ├── jest.config.js │ │ ├── locale │ │ │ └── locale.test.js │ │ ├── machine │ │ │ ├── Cell.test.js │ │ │ ├── CutCopyPaste.test.js │ │ │ ├── Inbox.test.js │ │ │ ├── InsertDelete.test.js │ │ │ ├── Machine.test.js │ │ │ ├── Message.test.js │ │ │ ├── MessageBox.test.js │ │ │ ├── MessageHandler.test.js │ │ │ ├── Outbox.test.js │ │ │ ├── Properties.test.js │ │ │ ├── PropertiesManager.test.js │ │ │ ├── ReferenceUpdater.test.js │ │ │ ├── Sheet.test.js │ │ │ ├── SheetIndex.test.js │ │ │ ├── SheetRange.test.js │ │ │ ├── Streamsheet.test.js │ │ │ ├── TTLMessageBox.test.js │ │ │ ├── sheettrigger │ │ │ │ ├── ContinuouslyTrigger.test.js │ │ │ │ ├── ExecuteTrigger.test.js │ │ │ │ ├── MachineStartTrigger.test.js │ │ │ │ ├── MachineStopTrigger.test.js │ │ │ │ ├── OnMessageTrigger.test.js │ │ │ │ └── TimerTrigger.test.js │ │ │ └── utils.js │ │ ├── parser │ │ │ ├── DotReferenceOperator.test.js │ │ │ ├── Operations.test.js │ │ │ ├── References.test.js │ │ │ └── SheetParser.test.js │ │ ├── setup.js │ │ ├── streams │ │ │ └── Streams.test.js │ │ └── utils │ │ │ ├── functions.js │ │ │ ├── index.js │ │ │ ├── monitor.js │ │ │ ├── sheet.js │ │ │ ├── symbols.js │ │ │ └── validate.js │ └── validproperties.json ├── messages │ ├── .gitignore │ ├── README.md │ ├── index.js │ ├── package.json │ └── src │ │ └── messages │ │ ├── core │ │ ├── BaseMessage.js │ │ ├── CommandMessage.js │ │ ├── DocumentMessage.js │ │ ├── EventMessage.js │ │ ├── Message.js │ │ ├── RequestMessage.js │ │ └── ResponseMessage.js │ │ ├── events │ │ └── GraphServiceEventMessageFactory.js │ │ └── requests │ │ └── RequestMessages.js ├── messaging-client │ ├── .gitignore │ ├── README.md │ ├── index.d.ts │ ├── index.js │ ├── package.json │ └── src │ │ ├── BaseMessagingClient.js │ │ └── MQTTMessagingClient.js ├── number-format │ ├── .babelrc │ ├── .gitignore │ ├── LICENSE.txt │ ├── README.md │ ├── index.js │ ├── package.json │ ├── src │ │ ├── Localizer.js │ │ ├── NumberFormatter.js │ │ └── language │ │ │ ├── daysofweek.js │ │ │ ├── months.js │ │ │ └── separators.js │ └── test │ │ ├── NumberFormatter.test.js │ │ ├── samples-de.json │ │ ├── samples-en.json │ │ └── ssf.json ├── parser │ ├── .babelrc │ ├── .gitignore │ ├── README.md │ ├── index.js │ ├── package.json │ ├── src │ │ ├── ErrorCodes.js │ │ ├── Functions.js │ │ ├── Locale.js │ │ ├── Operand.js │ │ ├── Operation.js │ │ ├── Parser.js │ │ ├── ParserContext.js │ │ ├── ParserError.js │ │ ├── ReturnCodes.js │ │ ├── Term.js │ │ ├── TermContext.js │ │ ├── Tokenizer.js │ │ └── Transformer.js │ └── test │ │ ├── Operand.test.js │ │ ├── Operation.test.js │ │ ├── Parser.test.js │ │ ├── ParserContext.test.js │ │ ├── Term.test.js │ │ ├── TermContext.test.js │ │ ├── Tokenizer.test.js │ │ ├── Transformer.test.js │ │ └── condition.test.js ├── parsers │ ├── .gitignore │ ├── index.js │ └── package.json ├── protocols │ ├── .gitignore │ ├── README.md │ ├── index.d.ts │ ├── index.js │ ├── package.json │ └── src │ │ ├── protocols │ │ ├── GatewayMessagingProtocol.js │ │ ├── GraphServerMessagingProtocol.js │ │ ├── MachineServerMessagingProtocol.js │ │ └── StreamsMessagingProtocol.js │ │ └── topics │ │ └── Topics.js ├── repository │ ├── .eslintignore │ ├── .gitignore │ ├── README.md │ ├── db │ │ └── machines.json │ ├── index.js │ ├── package.json │ ├── src │ │ ├── BackupRestoreManager.js │ │ ├── DummyData.js │ │ ├── RepositoryManager.js │ │ ├── configuration │ │ │ ├── AbstractConfigurationRepository.js │ │ │ └── MongoDBConfigurationRepository.js │ │ ├── filedb │ │ │ └── FileDBMixin.js │ │ ├── graphs │ │ │ ├── AbstractGraphRepository.js │ │ │ └── MongoDBGraphRepository.js │ │ ├── machines │ │ │ ├── AbstractMachineRepository.js │ │ │ ├── FileDBMachineRepository.js │ │ │ ├── InMemoryMachineRepository.js │ │ │ └── MongoDBMachineRepository.js │ │ ├── messagecontainer │ │ │ ├── AbstractMessageContainerRepository.js │ │ │ └── FileDBMessageContainerRepository.js │ │ └── mongoDB │ │ │ ├── MongoDBBackupRestoreManager.js │ │ │ ├── MongoDBConnection.js │ │ │ └── MongoDBMixin.js │ └── test │ │ ├── .eslintrc.json │ │ ├── RepositoryManager.test.js │ │ ├── graphs │ │ └── MongoDBGraphRepository.test.js │ │ ├── machines │ │ ├── MongoDBMachineRepository.test.js │ │ └── machines-default.json │ │ └── messagecontainer │ │ ├── FileDBMessageContainerRepositoryTest.js │ │ └── messagecontainer-default.json ├── rest-server-core │ ├── .eslintignore │ ├── .gitignore │ ├── README.md │ ├── config │ │ └── start.json │ ├── index.js │ ├── package.json │ ├── src │ │ ├── APIRouter.js │ │ ├── DefaultApp.js │ │ ├── ImageRouter.js │ │ ├── WebpageRouter.js │ │ ├── client │ │ │ └── RESTClient.js │ │ ├── error │ │ │ └── Error.js │ │ ├── helper │ │ │ ├── ImageHelper.js │ │ │ └── WebpageHelper.js │ │ ├── routes │ │ │ ├── ImageRoute.js │ │ │ ├── MessageRoute.js │ │ │ └── WebpageRoute.js │ │ ├── server │ │ │ ├── EventEmittingRESTServer.js │ │ │ └── RESTServer.js │ │ └── templates │ │ │ └── index.pug │ ├── start.js │ └── test │ │ ├── .eslintrc.json │ │ ├── client │ │ ├── RESTClient.test.js │ │ ├── request001.json │ │ ├── request002.json │ │ ├── request003.json │ │ └── request004.json │ │ ├── helper │ │ ├── ImageHelper.test.js │ │ └── WebpageHelper.test.js │ │ ├── k6 │ │ ├── README.md │ │ └── tests.js │ │ ├── postman │ │ └── REST Adapter API.postman_collection.json │ │ └── routes │ │ ├── ImageRoute.test.js │ │ └── MessageRoute.test.js ├── rest-server │ ├── .gitignore │ ├── README.md │ ├── index.js │ ├── package.json │ ├── src │ │ ├── RestServerConnector.js │ │ ├── RestServerConsumer.js │ │ ├── RestServerProvider.js │ │ └── RestServerProviderConfiguration.js │ └── test │ │ └── machines │ │ └── RESTTestingMachine.json ├── sdk-streams │ ├── .eslintignore │ ├── .gitignore │ ├── README.md │ ├── index.js │ ├── package.json │ ├── src │ │ ├── Connector.js │ │ ├── Constants.js │ │ ├── Consumer.js │ │ ├── ConsumerMixin.js │ │ ├── DefaultLogger.js │ │ ├── Producer.js │ │ ├── ProducerMixin.js │ │ ├── Provider.js │ │ ├── Stream.js │ │ ├── StreamMonitor.js │ │ ├── configurations │ │ │ ├── BaseConfiguration.js │ │ │ ├── ConnectorConfiguration.js │ │ │ ├── ConsumerConfiguration.js │ │ │ ├── Field.js │ │ │ ├── ProducerConfiguration.js │ │ │ └── ProviderConfiguration.js │ │ └── helpers │ │ │ ├── Message.js │ │ │ ├── MessageParser.js │ │ │ ├── RequestResponse.js │ │ │ ├── TestHelper.js │ │ │ └── Utils.js │ └── test │ │ ├── .eslintrc.json │ │ ├── Consumer.test.js │ │ ├── Producer.test.js │ │ ├── Provider.test.js │ │ ├── configs.json │ │ ├── configurations │ │ ├── ConnectorConfiguration.test.js │ │ ├── ConsumerConfiguration.test.js │ │ ├── ProducerConfiguration.test.js │ │ └── ProviderConfiguration.test.js │ │ ├── helpers │ │ ├── Field.test.js │ │ ├── MessageParser.test.js │ │ └── Utils.test.js │ │ └── sample │ │ ├── SimpleConsumer.js │ │ ├── SimpleConsumerConfiguration.js │ │ ├── SimpleProducer.js │ │ ├── SimpleProvider.js │ │ ├── SimpleProviderConfiguration.js │ │ └── SimpleSource.js ├── service-core │ ├── .gitignore │ ├── README.md │ ├── index.d.ts │ ├── index.js │ ├── package.json │ └── src │ │ └── services │ │ ├── BaseService.js │ │ ├── MessagingService.js │ │ ├── handlers │ │ ├── RequestHandler.js │ │ └── RequestHandlers.js │ │ ├── helpers │ │ └── MessagingRequestHelper.js │ │ └── monitoring │ │ └── MonitorManager.js ├── service-graphs │ ├── .eslintignore │ ├── .gitignore │ ├── Dockerfile │ ├── README.md │ ├── config │ │ └── config.js │ ├── meta.json │ ├── package.json │ ├── src │ │ ├── graph │ │ │ ├── DotOperatorParserContext.js │ │ │ ├── GraphManager.js │ │ │ ├── GraphMonitor.js │ │ │ ├── GraphWrapper.js │ │ │ ├── SheetParserContext.js │ │ │ ├── loadGraphs.js │ │ │ └── utils.js │ │ ├── messages │ │ │ └── GraphServiceEventMessageFactory.js │ │ ├── services │ │ │ ├── graphs │ │ │ │ └── GraphService.js │ │ │ └── handlers │ │ │ │ └── GraphRequestHandlers.js │ │ └── utils │ │ │ ├── ignore.js │ │ │ └── logger.js │ ├── start.js │ └── webpack.config.js ├── service-machines │ ├── .eslintignore │ ├── .gitignore │ ├── Dockerfile │ ├── README.md │ ├── config │ │ └── config.js │ ├── meta.json │ ├── package.json │ ├── src │ │ ├── handlers │ │ │ ├── MachineRequestHandlers.js │ │ │ ├── MachineServerRequestHandlers.js │ │ │ └── ServerCommandsRequestHandlers.js │ │ ├── ipc │ │ │ ├── MachineTaskObserver.js │ │ │ ├── MachineTaskRunner.js │ │ │ └── MachineTaskStreams.js │ │ ├── machines │ │ │ ├── GraphImporter.js │ │ │ ├── MachineServer.js │ │ │ └── MachineService.js │ │ ├── managers │ │ │ └── StreamManager.js │ │ └── utils │ │ │ ├── FunctionModulesResolver.js │ │ │ ├── logger.js │ │ │ ├── property.js │ │ │ ├── trycatch.js │ │ │ └── utils.js │ ├── start.js │ └── webpack.config.js ├── service-streams │ ├── .eslintignore │ ├── .gitignore │ ├── Dockerfile │ ├── README.md │ ├── config.json │ ├── index.js │ ├── meta.json │ ├── package.json │ ├── src │ │ ├── ConfigurationsManager.js │ │ ├── ProvidersManager.js │ │ ├── StreamsManager.js │ │ ├── StreamsManagerHandler.js │ │ ├── StreamsMonitor.js │ │ ├── StreamsService.js │ │ ├── config.js │ │ ├── handlers │ │ │ └── StreamsRequestHandlers.js │ │ ├── persistence │ │ │ ├── AbstractStreamsRepository.js │ │ │ ├── MongoDBStreamsRepository.js │ │ │ ├── configurations.json │ │ │ └── old-configurations.json │ │ └── redis.js │ ├── start.js │ ├── test │ │ ├── .eslintrc.json │ │ ├── StreamsManager.test.js │ │ ├── configs.json │ │ ├── helpers │ │ │ ├── BadProvider.js │ │ │ └── BadStream.js │ │ └── persistence │ │ │ └── MongoDBStreamsRepository.test.js │ └── webpack.config.js ├── stream │ ├── file │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── src │ │ │ ├── FileConnector.js │ │ │ ├── FileProducer.js │ │ │ ├── FileProvider.js │ │ │ ├── FileProviderConfiguration.js │ │ │ ├── logger.js │ │ │ ├── om │ │ │ └── File.js │ │ │ └── protocols │ │ │ └── local │ │ │ ├── LocalClient.js │ │ │ └── LocalHandler.js │ ├── kafka │ │ ├── .gitignore │ │ ├── README.md │ │ ├── docker-compose.yml │ │ ├── docker │ │ │ ├── certs │ │ │ │ ├── ca-cert │ │ │ │ ├── ca-cert.srl │ │ │ │ ├── ca-key │ │ │ │ ├── cert-file │ │ │ │ ├── cert-signed │ │ │ │ ├── client.truststore.jks │ │ │ │ ├── server.keystore.jks │ │ │ │ └── server.truststore.jks │ │ │ ├── createTopic.js │ │ │ ├── docker-compose.0.10.yml │ │ │ ├── docker-compose.0.11.yml │ │ │ ├── docker-compose.0.8.yml │ │ │ ├── docker-compose.0.9.yml │ │ │ └── start-kafka.sh │ │ ├── examples │ │ │ ├── KafkaConsumer.js │ │ │ └── KafkaProducer.js │ │ ├── index.js │ │ ├── package.json │ │ ├── src │ │ │ ├── KSQLHelper.js │ │ │ ├── KafkaConnector.js │ │ │ ├── KafkaConsumer.js │ │ │ ├── KafkaConsumerConfiguration.js │ │ │ ├── KafkaFunctions.js │ │ │ ├── KafkaOnlyHandler.js │ │ │ ├── KafkaProducer.js │ │ │ ├── KafkaProvider.js │ │ │ ├── KafkaProviderConfiguration.js │ │ │ ├── KafkaZookeeperHandler.js │ │ │ └── Utils.js │ │ ├── start-docker.sh │ │ └── test │ │ │ ├── .eslintrc.json │ │ │ ├── DockerHelper.js │ │ │ ├── KafkaProvider.test.js │ │ │ ├── docker │ │ │ ├── docker-compose-ksql.yml │ │ │ └── docker-compose.yml │ │ │ ├── machines │ │ │ ├── feeder-kafka-ksql-test.json │ │ │ ├── feeder-kafka-test.json │ │ │ ├── stream-kafka-ksql-test.json │ │ │ └── stream-kafka-test.json │ │ │ └── run.js │ ├── mail-pop3 │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ ├── src │ │ │ ├── PopConnector.js │ │ │ ├── PopConsumer.js │ │ │ ├── PopConsumerConfiguration.js │ │ │ ├── PopProvider.js │ │ │ ├── PopProviderConfiguration.js │ │ │ ├── pop3.js │ │ │ └── poplib-wrapper.js │ │ └── test │ │ │ └── smtpserver │ │ │ ├── .eslintrc.js │ │ │ ├── index.js │ │ │ └── server.js │ ├── mail-smtp │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ ├── src │ │ │ ├── SmtpConnector.js │ │ │ ├── SmtpProducer.js │ │ │ ├── SmtpProvider.js │ │ │ ├── SmtpProviderConfiguration.js │ │ │ └── smtp.js │ │ └── test │ │ │ ├── SmtpProcuder.test.js │ │ │ └── smtpserver │ │ │ ├── index.js │ │ │ └── server.js │ ├── mongodb │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ ├── src │ │ │ ├── MongoDBConnector.js │ │ │ ├── MongoDBConsumer.js │ │ │ ├── MongoDBConsumerConfiguration.js │ │ │ ├── MongoDBFunctions.js │ │ │ ├── MongoDBProducer.js │ │ │ ├── MongoDBProvider.js │ │ │ └── MongoDBProviderConfiguration.js │ │ └── test │ │ │ ├── .eslintrc.json │ │ │ ├── MongoDBConnector.test.js │ │ │ ├── MongoDBFunctions.test.js │ │ │ ├── MongoDBProducer.test.js │ │ │ ├── MongoDBProvider.test.js │ │ │ └── machines │ │ │ ├── machine-local-db.json │ │ │ └── test-mongodb-local-async.json │ ├── mqtt │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ ├── src │ │ │ ├── MqttConnector.js │ │ │ ├── MqttConsumer.js │ │ │ ├── MqttConsumerConfiguration.js │ │ │ ├── MqttProducer.js │ │ │ ├── MqttProvider.js │ │ │ ├── MqttProviderConfiguration.js │ │ │ └── Utils.js │ │ └── test │ │ │ ├── .eslintrc.json │ │ │ ├── DockerHelper.js │ │ │ ├── MqttProvider.test.js │ │ │ ├── certs │ │ │ ├── 477d573e95-certificate.pem.crt │ │ │ ├── 477d573e95-private.pem.key │ │ │ └── aws-ca.pem │ │ │ ├── docker-compose.yml │ │ │ └── machines │ │ │ ├── stream-mqtt-test.json │ │ │ └── stream-mqtt5-test.json │ ├── rest-client │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ ├── src │ │ │ ├── RestClientConnector.js │ │ │ ├── RestClientProducer.js │ │ │ ├── RestClientProvider.js │ │ │ └── RestClientProviderConfiguration.js │ │ └── test │ │ │ └── machines │ │ │ └── RESTTestingMachine.json │ └── toit │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── src │ │ ├── ToitConnector.js │ │ ├── ToitConsumer.js │ │ ├── ToitConsumerConfiguration.js │ │ ├── ToitProducer.js │ │ ├── ToitProvider.js │ │ └── ToitProviderConfiguration.js ├── stubs │ ├── jsg-extensions │ │ ├── core │ │ │ ├── SheetPlotNode.js │ │ │ └── index.js │ │ ├── package.json │ │ └── ui │ │ │ ├── SheetPlotView.js │ │ │ └── index.js │ ├── service-machines-extensions │ │ ├── config │ │ │ └── config.js │ │ ├── index.js │ │ ├── package.json │ │ └── src │ │ │ └── resolveAdditionalFunctions.js │ └── webui-extensions │ │ ├── .eslintrc.js │ │ ├── index.js │ │ ├── package.json │ │ └── src │ │ ├── AdminNavigationExtensions.js │ │ ├── ChartExtensions.js │ │ ├── DialogExtensions.js │ │ ├── MainDrawerExtensions │ │ ├── FileSection.js │ │ ├── ImportSection.js │ │ ├── PreviewSection.js │ │ ├── StreamSection.js │ │ └── index.js │ │ ├── PluginExtensions.js │ │ ├── RoutesExtensions.js │ │ ├── ToolbarExtensions.js │ │ ├── WorkspaceSelect.js │ │ ├── components │ │ └── ImageUploadDialog.js │ │ ├── pages │ │ ├── CreateUserForm.js │ │ ├── CreateUserPage.js │ │ ├── UpdatePasswordForm.js │ │ ├── UpdateUserPage.js │ │ ├── UserPropTypes.js │ │ ├── UserTable.js │ │ ├── UserTablePage.js │ │ └── index.js │ │ └── webhook-server │ │ ├── WebhookServerSettingsDialog.js │ │ └── WebhookServerSettingsMenuItem.js ├── util │ ├── .gitignore │ ├── README.md │ ├── index.js │ ├── package.json │ └── src │ │ ├── Array.js │ │ └── String.js ├── webcomponent │ ├── demo │ │ ├── .babelrc.js │ │ ├── .eslintignore │ │ ├── .eslintrc.js │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── README.md │ │ ├── machines.json │ │ ├── machines │ │ │ └── machines.json │ │ ├── package.json │ │ ├── src │ │ │ ├── dashboard │ │ │ │ └── MachineMonitor.js │ │ │ ├── index.html │ │ │ ├── index.js │ │ │ ├── indexwc.html │ │ │ └── loginpanel │ │ │ │ └── LoginPanel.js │ │ └── webpack.config.js │ ├── streammachine │ │ ├── .eslintignore │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.js │ │ ├── karma.conf.js │ │ ├── package.json │ │ ├── src │ │ │ ├── FunctionStrings.js │ │ │ ├── MachineElement.js │ │ │ ├── SheetParserContext.js │ │ │ ├── StreamMachine.js │ │ │ ├── api │ │ │ │ └── StreamSheets.js │ │ │ └── synchronization │ │ │ │ ├── CommandStack.js │ │ │ │ └── GraphSynchronizationInteractionHandler.js │ │ ├── test │ │ │ └── .eslintrc.json │ │ └── webpack.config.js │ └── streamsheet-connection │ │ ├── .babelrc.js │ │ ├── .eslintignore │ │ ├── .eslintrc.js │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ ├── Credentials.ts │ │ ├── Events.ts │ │ ├── IMachineElement.ts │ │ ├── IMachineJSON.ts │ │ ├── connection │ │ │ ├── GatewayClient.js │ │ │ ├── IGatewayClient.ts │ │ │ └── StreamSheetConnection.ts │ │ ├── index.ts │ │ ├── login │ │ │ ├── Storage.ts │ │ │ └── StreamSheetLogin.ts │ │ ├── subscribe │ │ │ ├── Converter.js │ │ │ ├── ConverterWC.js │ │ │ ├── EventConverter.ts │ │ │ ├── EventDispatcher.ts │ │ │ ├── EventListeners.ts │ │ │ ├── IConverter.ts │ │ │ └── StreamSheetSubscribe.ts │ │ ├── sync │ │ │ └── Synchronizer.js │ │ └── utils │ │ │ ├── cast.ts │ │ │ ├── index.ts │ │ │ ├── property.ts │ │ │ ├── propertyjs.js │ │ │ ├── traverse.ts │ │ │ └── validate.ts │ │ └── tsconfig.json ├── webui-components │ ├── .eslintrc.js │ ├── index.js │ ├── package.json │ └── src │ │ ├── MenuEntry.js │ │ └── MenuGroup.js └── webui │ ├── .browserslistrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── Dockerfile │ ├── README.md │ ├── babel.config.js │ ├── config │ ├── env.js │ ├── jest │ │ ├── cssTransform.js │ │ └── fileTransform.js │ ├── paths.js │ ├── polyfills.js │ ├── webpack.config.dev.js │ ├── webpack.config.prod.js │ └── webpackDevServer.config.js │ ├── licenses │ ├── license_DE.pdf │ └── license_EN.pdf │ ├── package.json │ ├── public │ ├── favicon.ico │ ├── faviconold.ico │ ├── images │ │ ├── avatar.png │ │ ├── charts │ │ │ ├── area.png │ │ │ ├── areastacked.png │ │ │ ├── areastacked100.png │ │ │ ├── bar.png │ │ │ ├── barstacked.png │ │ │ ├── barstacked100.png │ │ │ ├── boxplot.png │ │ │ ├── bubble.png │ │ │ ├── column.png │ │ │ ├── columnstacked.png │ │ │ ├── columnstacked100.png │ │ │ ├── doughnut.png │ │ │ ├── funnel.png │ │ │ ├── funnelbar.png │ │ │ ├── funnelhorz.png │ │ │ ├── funnelhorzcolumn.png │ │ │ ├── gauge.png │ │ │ ├── gauge23.png │ │ │ ├── gaugepointer.png │ │ │ ├── gaugevalue.png │ │ │ ├── halfpie.png │ │ │ ├── heatmap.png │ │ │ ├── line.png │ │ │ ├── linestacked.png │ │ │ ├── linestacked100.png │ │ │ ├── linestep.png │ │ │ ├── map.png │ │ │ ├── pie.png │ │ │ ├── pie3d.png │ │ │ ├── profile.png │ │ │ ├── scatterline.png │ │ │ ├── scatterlinemarker.png │ │ │ ├── scattermarker.png │ │ │ ├── statecolumn.png │ │ │ ├── stateperiod.png │ │ │ ├── statetime.png │ │ │ ├── stockhlc.png │ │ │ ├── stockohlc.png │ │ │ ├── stockvhlc.png │ │ │ ├── stockvohlc.png │ │ │ └── waterfall.png │ │ ├── connector.png │ │ ├── consumer.png │ │ ├── flags │ │ │ ├── de.svg │ │ │ ├── gb.svg │ │ │ └── us.svg │ │ ├── loginbg.png │ │ ├── mainbg.jpg │ │ ├── preview.png │ │ └── producer.png │ ├── index.html │ ├── lib │ │ └── res │ │ │ ├── columnsize.cur │ │ │ ├── columnsize.png │ │ │ ├── cross.cur │ │ │ ├── cross.png │ │ │ ├── css │ │ │ └── jsg.css │ │ │ ├── deny.cur │ │ │ ├── deny.png │ │ │ ├── i18n │ │ │ ├── de.json │ │ │ └── en.json │ │ │ ├── images │ │ │ ├── arrowdown.png │ │ │ ├── arrowleft.png │ │ │ ├── arrowright.png │ │ │ ├── arrowup.png │ │ │ ├── bold.png │ │ │ ├── bullets.png │ │ │ ├── centeralign.png │ │ │ ├── collapsed.png │ │ │ ├── expanded.png │ │ │ ├── fontcolor.png │ │ │ ├── fontsizedown.png │ │ │ ├── fontsizeup.png │ │ │ ├── italic.png │ │ │ ├── leftalign.png │ │ │ ├── linestyledash.png │ │ │ ├── linestyledashdot.png │ │ │ ├── linestyledashdotdot.png │ │ │ ├── linestyledot.png │ │ │ ├── linestylenone.png │ │ │ ├── linestylesolid.png │ │ │ ├── lineswidth025.png │ │ │ ├── lineswidth05.png │ │ │ ├── lineswidth075.png │ │ │ ├── lineswidth1.png │ │ │ ├── lineswidth100.png │ │ │ ├── lineswidth200.png │ │ │ ├── lineswidth300.png │ │ │ ├── lineswidth400.png │ │ │ ├── notavailable.png │ │ │ ├── numbered.png │ │ │ ├── rightalign.png │ │ │ ├── treechecked.png │ │ │ ├── treeunchecked.png │ │ │ └── underline.png │ │ │ ├── rotate.cur │ │ │ ├── rotate.png │ │ │ ├── rowsize.cur │ │ │ ├── rowsize.png │ │ │ ├── sheet.cur │ │ │ ├── sheet.png │ │ │ ├── sheetcolumn.cur │ │ │ ├── sheetcolumn.png │ │ │ ├── sheetrow.cur │ │ │ ├── sheetrow.png │ │ │ ├── splith.cur │ │ │ ├── splith.png │ │ │ ├── splitv.cur │ │ │ ├── splitv.png │ │ │ └── svg │ │ │ ├── add.svg │ │ │ ├── arrowdown.svg │ │ │ ├── arrowup.svg │ │ │ ├── button.svg │ │ │ ├── checkbox.svg │ │ │ ├── checked.svg │ │ │ ├── columnmenu.svg │ │ │ ├── delete.svg │ │ │ ├── edge.svg │ │ │ ├── edit.svg │ │ │ ├── filter.svg │ │ │ ├── hvedge.svg │ │ │ ├── knob.svg │ │ │ ├── label.svg │ │ │ ├── laneaddafter.svg │ │ │ ├── laneaddbefore.svg │ │ │ ├── lanesplit_2.svg │ │ │ ├── lanesplit_3.svg │ │ │ ├── layout2.svg │ │ │ ├── layout3.svg │ │ │ ├── layout4.svg │ │ │ ├── layout5.svg │ │ │ ├── layout6.svg │ │ │ ├── rowmenu.svg │ │ │ ├── select.svg │ │ │ ├── sheet.svg │ │ │ ├── slider.svg │ │ │ ├── table.svg │ │ │ ├── textedit.svg │ │ │ ├── textview.svg │ │ │ └── unchecked.svg │ ├── license_DE.pdf │ ├── license_EN.pdf │ ├── maps │ │ ├── asia_countries.json │ │ ├── de_districts.json │ │ ├── de_regions.json │ │ ├── europe_countries.json │ │ ├── mapinfo.json │ │ ├── namerica_countries.json │ │ ├── us_states.json │ │ ├── world_capitals.json │ │ ├── world_cities.json │ │ ├── world_countries.json │ │ └── world_rivers.json │ └── resources │ │ ├── connected.svg │ │ ├── deletesheet.png │ │ ├── disconnected.svg │ │ ├── json.svg │ │ ├── loop.png │ │ ├── maximize.png │ │ ├── minimize.png │ │ ├── settings.png │ │ ├── settings_org.png │ │ ├── statuserror.png │ │ ├── statusok.png │ │ ├── statuswarning.png │ │ ├── t1.png │ │ ├── t2.png │ │ ├── t3.png │ │ └── t4.png │ ├── scripts │ ├── build.js │ ├── deploy.sh │ ├── install-jsg.js │ ├── start.js │ ├── test.js │ └── translate.js │ └── src │ ├── App.css │ ├── App.js │ ├── App.test.js │ ├── GraphManager.js │ ├── SheetParserContext.js │ ├── actions │ ├── BackupRestoreActions.js │ ├── ImportExportActions.js │ ├── MachineActions.js │ ├── StreamActions.js │ ├── UserActions.js │ └── actions.js │ ├── components │ ├── Admin │ │ ├── AdminField.js │ │ ├── license │ │ │ └── License.js │ │ ├── security │ │ │ ├── Database.js │ │ │ └── styles.js │ │ ├── streams │ │ │ └── StreamDeleteDialog.js │ │ └── styles.js │ ├── AppBarComponent │ │ ├── EditBarComponent.js │ │ ├── InfoToolBar.js │ │ ├── InfoToolBar.test.js │ │ ├── MainDrawer.js │ │ └── MainDrawer.test.js │ ├── Auth │ │ ├── LoginPage.js │ │ ├── LogoutPage.js │ │ ├── PrivateRoute.js │ │ ├── RegistrationForm.js │ │ └── SetupPage.js │ ├── Canvas │ │ ├── AttributeProperties.js │ │ ├── CanvasComponent.js │ │ ├── CanvasToolBar.js │ │ ├── CanvasToolBar.test.js │ │ ├── CellPayloadPopover.js │ │ ├── CellRangeComponent.js │ │ ├── ContextMenu.js │ │ ├── EditPointsContextMenu.js │ │ ├── EventProperties.js │ │ ├── FieldComponents.js │ │ ├── FormatProperties.js │ │ ├── FunctionWizard.js │ │ ├── GeometryProperties.js │ │ ├── GraphContextMenu.js │ │ ├── GraphItemProperties.js │ │ ├── LayoutContextMenu.js │ │ ├── LayoutProperties.js │ │ ├── LayoutSectionProperties.js │ │ ├── MachineLoadingDialog.js │ │ ├── SheetDeleteDialog.js │ │ ├── StreamChartProperties.js │ │ ├── TextFormatProperties.js │ │ ├── TreeContextMenu.js │ │ └── ViewModeProperties.js │ ├── Dashboard │ │ ├── DashBoardComponent.js │ │ ├── StreamFieldComponents.js │ │ ├── StreamSettings.js │ │ ├── StreamTableRow.js │ │ └── StreamWizard.js │ ├── DataSourceComponent │ │ └── DataSourceComponent.js │ ├── Dialogs │ │ ├── MachineSettingsDialog.js │ │ ├── NewMachineDialog.js │ │ ├── OpenDialog.js │ │ └── SaveAsDialog.js │ ├── Errors │ │ └── NotAuthorizedComponent.js │ ├── HelperComponent │ │ ├── DynamicFormattedMessage.js │ │ ├── InboxSettings.js │ │ ├── LicenseExpireNotification.js │ │ ├── MachineListComponent.js │ │ ├── Overlay.js │ │ ├── Restricted.js │ │ ├── SettingsMenu.js │ │ ├── TableSortHeader.js │ │ └── Wall.js │ ├── ImportExport │ │ ├── ConfirmImportDialog.js │ │ ├── ErrorDialog.js │ │ ├── ExportComponent.js │ │ ├── ExportDialog.js │ │ ├── ExportTable.js │ │ ├── ImportDialog.js │ │ ├── ImportDropzone.js │ │ └── StartImportDialog.js │ ├── MachineControlBar │ │ ├── MachineControlBar.js │ │ ├── MachineControlBar.test.js │ │ └── MachineDeleteDialog.js │ ├── MachineNameComponent │ │ └── MachineNameComponent.js │ ├── NotificationsComponent │ │ ├── NotificationsComponent.js │ │ └── NotificationsDrawer.js │ ├── NotificationsTableComponent │ │ └── NotificationsTableComponent.js │ ├── RequestStatusDialog │ │ └── RequestStatusDialog.js │ ├── Secret.js │ ├── ServerStatusDialog │ │ └── ServerStatusDialog.js │ ├── SheetDialogs │ │ ├── AlertDialog.js │ │ ├── ColorComponent.js │ │ ├── DecisionDialog.js │ │ ├── DeleteCellContentDialog.js │ │ ├── DeleteCellsDialog.js │ │ ├── FormatCellsDialog.js │ │ ├── InsertCellContentDialog.js │ │ ├── InsertCellsDialog.js │ │ ├── JSGHooks.js │ │ ├── NamesDialog.js │ │ ├── NumberFormatSettings.js │ │ ├── PasteFunctionDialog.js │ │ └── ValueRangesDialog.js │ ├── base │ │ ├── colorPicker │ │ │ └── ColorPicker.js │ │ ├── confirmDialog │ │ │ └── ConfirmDialog.js │ │ ├── customPrompt │ │ │ └── CustomPrompt.js │ │ ├── customTooltip │ │ │ └── CustomTooltip.js │ │ ├── jsontree │ │ │ ├── DefaultTreeDataHandler.js │ │ │ ├── JSONTreeGraphManager.js │ │ │ └── JsonTree.js │ │ ├── listInput │ │ │ └── NamedListInput.js │ │ ├── listing │ │ │ ├── CombinedResourceListing.js │ │ │ ├── FilterName.js │ │ │ ├── ResourceCardHeader.js │ │ │ ├── ResourceHeaderButton.js │ │ │ ├── ResourceMenu.js │ │ │ ├── ResourcesGrid.js │ │ │ ├── ResourcesList.js │ │ │ ├── Utils.js │ │ │ └── styles.js │ │ ├── multiTextFieldPairs │ │ │ └── MultiTextFieldPairs.js │ │ ├── multipleSelect │ │ │ ├── MultipleSelect.js │ │ │ └── MultipleSelect.test.js │ │ ├── multipleTextField │ │ │ └── MultipleTextField.js │ │ └── sortSelector │ │ │ ├── SortSelector.js │ │ │ └── Utils.js │ └── icons.js │ ├── constants │ ├── ActionTypes.js │ ├── AdminConstants.js │ ├── Constants.js │ ├── WSTypes.js │ └── WebsocketMessageTypes.js │ ├── helper │ ├── AccessManager.js │ ├── AppIntlProvider.js │ ├── ConfigManager.js │ ├── DateTimeHelper.js │ ├── GatewayClient.js │ ├── GraphLocaleHandler.js │ ├── Hooks.js │ ├── IntlGlobalProvider.js │ ├── LoggerMiddleware.js │ ├── MachineHelper.js │ ├── NotificationCenter.js │ ├── Path.js │ ├── SecurityHelper.js │ ├── SetHelper.js │ ├── StreamHelper.js │ ├── Utils.js │ └── synchronization │ │ ├── CommandStack.js │ │ ├── GraphSynchronizationInteractionHandler.js │ │ ├── RequestCommandStack.js │ │ └── SelectionItemView.js │ ├── index.css │ ├── index.js │ ├── languages │ ├── FunctionStrings.js │ ├── NumberFormatTemplates.js │ ├── de.json │ ├── en.json │ ├── localizer.js │ └── translations.js │ ├── layouts │ ├── AdminNavigation.js │ ├── AdminPageLayout.js │ ├── GridViewButton.js │ ├── HelpButton.js │ ├── MachineDetailPage.js │ ├── ResizeHandler.js │ └── ThemeButton.js │ ├── loading.svg │ ├── pages │ ├── DashboardPage.js │ ├── DatabasePage.js │ ├── ExportPage.js │ ├── LicensePage.js │ ├── common.js │ └── index.js │ ├── performance │ └── EventCountingMap.js │ ├── reducers │ ├── adminSecurityReducer.js │ ├── appReducer.js │ ├── exportReducer.js │ ├── importReducer.js │ ├── jsgReducer.js │ ├── localeReducer.js │ ├── machineReducer.js │ ├── machineSettingsReducer.js │ ├── machinesReducer.js │ ├── metaInformationReducer.js │ ├── monitorreducers.js │ ├── notificationsReducer.js │ ├── streamsReducer.js │ └── userReducer.js │ ├── resources │ ├── statuserror.png │ ├── statusok.png │ └── statuswarning.png │ ├── store.js │ └── theme.js ├── scripts ├── .eslintrc.js ├── Dockerfile.contextholder ├── build-contextholder.sh ├── build.js ├── changed-packages.js ├── copyright-header-apply.js ├── copyright-header.txt ├── i18n.js ├── set-version.sh ├── tag-latest.js └── workspace-util.js └── yarn.lock /.dockerignore: -------------------------------------------------------------------------------- 1 | * 2 | !packages/* 3 | packages/webui/* 4 | packages/webui-components/* 5 | packages/jsg-ui/* 6 | packages/webcomponent/* 7 | !packages/webui/build 8 | packages/**/node_modules 9 | !yarn.lock 10 | !.yarnrc 11 | !package.json 12 | !npm-packages-offline-cache 13 | !scripts/workspace-util.js 14 | !packagejsons 15 | !deployment/single 16 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['@cedalo/eslint-config'].map(require.resolve) 3 | }; 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | 5 | --- 6 | 7 | ## Summary 8 | 9 | ... 10 | 11 | ## Motivation 12 | 13 | ... 14 | 15 | ## Additional context 16 | 17 | ... -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Question 3 | about: Submit a question. 4 | --- 5 | 6 | ### Question 7 | 8 | ... 9 | 10 | ### Context 11 | 12 | ... -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.prettierrc.yml: -------------------------------------------------------------------------------- 1 | trailingComma: "none" 2 | tabWidth: 4 3 | semi: true 4 | singleQuote: true 5 | useTabs: true 6 | arrowParens: "always" 7 | printWidth: 120 8 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.exclude": { 3 | "npm-packages-offline-cache": true 4 | } 5 | } -------------------------------------------------------------------------------- /.yarnrc: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | lastUpdateCheck 1553610353915 6 | yarn-offline-mirror "./npm-packages-offline-cache" 7 | yarn-offline-mirror-pruning true -------------------------------------------------------------------------------- /assets/title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/assets/title.png -------------------------------------------------------------------------------- /assets/video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/assets/video.png -------------------------------------------------------------------------------- /deployment/rpi/installer/Dockerfile.rpi: -------------------------------------------------------------------------------- 1 | FROM alpine:latest 2 | LABEL maintainer="philip.ackermann@cedalo.com" 3 | 4 | RUN apk --no-cache add curl gnupg rsync unzip 5 | 6 | # Copy the docker-compose files 7 | COPY ./docker-compose /installer/docker-compose 8 | 9 | # Copy the scripts 10 | COPY ./start.sh /installer/start.sh 11 | COPY ./stop.sh /installer/stop.sh 12 | COPY ./update.sh /installer/update.sh 13 | 14 | # Copy the script executed during the installation 15 | COPY install.sh /install 16 | RUN chmod +x /install 17 | 18 | RUN mkdir -p /streamsheets 19 | 20 | ENTRYPOINT ["/install"] 21 | -------------------------------------------------------------------------------- /deployment/rpi/installer/build-installer.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | VERSION="${1:-2.0-milestone}" 3 | 4 | docker build -t cedalo/streamsheets-installer:$VERSION-rpi -f Dockerfile.rpi . 5 | docker push cedalo/streamsheets-installer:$VERSION-rpi 6 | -------------------------------------------------------------------------------- /deployment/rpi/installer/start.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | SCRIPTPATH="$(cd "$(dirname "$0")" ; pwd -P )" 3 | cd $SCRIPTPATH 4 | sudo docker network ls | grep streamsheets > /dev/null || sudo docker network create streamsheets 5 | sudo rm -f /internal-mongo/data/db/mongod.lock 6 | 7 | docker volume ls | grep streamsheets-data > /dev/null || docker volume create streamsheets-data 8 | 9 | sudo docker-compose \ 10 | -f ./docker-compose/docker-compose.prod.yml \ 11 | up -------------------------------------------------------------------------------- /deployment/rpi/installer/stop.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | docker-compose \ 4 | -f ./docker-compose/docker-compose.prod.yml \ 5 | stop 6 | -------------------------------------------------------------------------------- /deployment/rpi/installer/update.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | docker-compose \ 4 | -f ./docker-compose/docker-compose.prod.yml \ 5 | pull 6 | -------------------------------------------------------------------------------- /deployment/single/README.md: -------------------------------------------------------------------------------- 1 | # Build 2 | 3 | ## Build Raspberry Pi version 4 | 5 | ``` 6 | node ./scripts/build.js --name cedalo/streamsheets-personal --tag 1.5 --skip-frontend --dockerfile Dockerfile.rpi 7 | ``` 8 | -------------------------------------------------------------------------------- /deployment/single/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | docker build -t cedalo/streamsheets:2.0-milestone . 3 | -------------------------------------------------------------------------------- /deployment/single/clear.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | docker kill streamsheets 4 | docker rm streamsheets 5 | docker network rm streamsheets 6 | docker volume rm streamsheets-data 7 | -------------------------------------------------------------------------------- /deployment/single/installer-rpi/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:12.4.0-alpine 2 | LABEL maintainer="philip.ackermann@cedalo.com" 3 | 4 | RUN apk --no-cache add curl gnupg rsync unzip 5 | 6 | RUN mkdir -p /installer 7 | 8 | ARG version 9 | 10 | # Copy the docker-compose files and set version 11 | COPY ./docker-compose /installer/docker-compose 12 | RUN sed -i "s//$version/g" /installer/docker-compose/docker-compose.prod.yml 13 | 14 | # Copy the os specific start scripts 15 | COPY ./scripts /installer 16 | 17 | # Copy the script executed during the installation 18 | COPY install.sh /install 19 | RUN chmod +x /install 20 | 21 | ENTRYPOINT ["/install"] 22 | -------------------------------------------------------------------------------- /deployment/single/installer-rpi/build-installer.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -uex 3 | VERSION="${1}" 4 | 5 | docker build . -t cedalo/streamsheets-installer:$VERSION-rpi --build-arg version="$VERSION" 6 | docker push cedalo/streamsheets-installer:$VERSION-rpi 7 | 8 | -------------------------------------------------------------------------------- /deployment/single/installer-rpi/scripts/start.dev.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | CMD="${@:-up}" 4 | 5 | rm -f ./data/mongo/mongod.lock 6 | 7 | docker network ls --format={{.Name}} | grep '^streamsheets$' > /dev/null || docker network create streamsheets 8 | 9 | docker-compose \ 10 | -f ./docker-compose/docker-compose.dev.yml \ 11 | $CMD 12 | -------------------------------------------------------------------------------- /deployment/single/installer-rpi/scripts/start.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | CMD="${@:-up}" 4 | 5 | rm -f ./data/mongo/mongod.lock 6 | 7 | docker network ls --format={{.Name}} | grep '^streamsheets$' > /dev/null || docker network create streamsheets 8 | 9 | docker-compose \ 10 | -f ./docker-compose/docker-compose.prod.yml \ 11 | $CMD 12 | -------------------------------------------------------------------------------- /deployment/single/installer-rpi/scripts/stop.dev.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | docker-compose \ 4 | -f ./docker-compose/docker-compose.dev.yml \ 5 | stop 6 | -------------------------------------------------------------------------------- /deployment/single/installer-rpi/scripts/stop.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | docker-compose \ 4 | -f ./docker-compose/docker-compose.prod.yml \ 5 | stop 6 | -------------------------------------------------------------------------------- /deployment/single/installer-rpi/scripts/update.dev.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | docker-compose \ 4 | -f ./docker-compose/docker-compose.dev.yml \ 5 | pull 6 | -------------------------------------------------------------------------------- /deployment/single/installer-rpi/scripts/update.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | docker-compose \ 4 | -f ./docker-compose/docker-compose.prod.yml \ 5 | pull 6 | -------------------------------------------------------------------------------- /deployment/single/installer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:12.4.0-alpine 2 | LABEL maintainer="philip.ackermann@cedalo.com" 3 | ARG os 4 | 5 | RUN mkdir -p /installer 6 | 7 | RUN apk --no-cache add curl gnupg rsync unzip 8 | 9 | # Copy the os specific start scripts 10 | COPY ./${os} /installer 11 | 12 | # Copy the script executed during the installation 13 | COPY install.sh /install 14 | RUN chmod +x /install 15 | 16 | ENTRYPOINT ["/install"] 17 | -------------------------------------------------------------------------------- /deployment/single/installer/build-installer.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | VERSION="${1:-2.0-milestone}" 3 | 4 | docker build -t cedalo/streamsheets-installer:$VERSION-linux . --build-arg os=linux 5 | docker push cedalo/streamsheets-installer:$VERSION-linux 6 | 7 | docker build -t cedalo/streamsheets-installer:$VERSION-win . --build-arg os=win 8 | docker push cedalo/streamsheets-installer:$VERSION-win 9 | 10 | docker build -t cedalo/streamsheets-installer:$VERSION-macos . --build-arg os=macos 11 | docker push cedalo/streamsheets-installer:$VERSION-macos 12 | -------------------------------------------------------------------------------- /deployment/single/installer/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NAME="streamsheets" 4 | VERSION=$1 5 | 6 | echo "--> Installing Streamsheets" 7 | 8 | if [ "$VERSION" = "dev" ] 9 | then 10 | echo "--> Installing development version" 11 | rsync -r installer/ "/streamsheets" 12 | else 13 | rsync -r installer/ "/streamsheets" --exclude *.dev.* 14 | fi 15 | 16 | echo "--> Successfully installed Streamsheets" 17 | -------------------------------------------------------------------------------- /deployment/single/installer/linux/stop.dev.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | echo "Stopping Streamsheets Docker container" 4 | docker stop streamsheets-dev 5 | echo "Stopped Streamsheets Docker container" 6 | -------------------------------------------------------------------------------- /deployment/single/installer/linux/stop.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | echo "Stopping Streamsheets Docker container" 4 | docker stop streamsheets 5 | echo "Stopped Streamsheets Docker container" 6 | -------------------------------------------------------------------------------- /deployment/single/installer/macos/stop.dev.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | echo "Stopping Streamsheets Docker container" 4 | docker stop streamsheets-dev 5 | echo "Stopped Streamsheets Docker container" 6 | -------------------------------------------------------------------------------- /deployment/single/installer/macos/stop.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | echo "Stopping Streamsheets Docker container" 4 | docker stop streamsheets 5 | echo "Stopped Streamsheets Docker container" 6 | -------------------------------------------------------------------------------- /deployment/single/installer/win/stop.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | echo "Stopping Streamsheets Docker container" 4 | docker stop streamsheets 5 | echo "Stopped Streamsheets Docker container" 6 | -------------------------------------------------------------------------------- /deployment/single/installer/win/stop.dev.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | echo "Stopping Streamsheets Docker container" 4 | docker stop streamsheets-dev 5 | echo "Stopped Streamsheets Docker container" 6 | -------------------------------------------------------------------------------- /deployment/single/mongodb/mongod.conf: -------------------------------------------------------------------------------- 1 | # mongod.conf 2 | 3 | # Where to store the data. 4 | 5 | # Note: if you run mongodb as a non-root user (recommended) you may need to create and set permissions for 6 | # this directory manually, e.g., if the parent directory isn't mutable by the mongodb user. 7 | dbpath=/var/lib/mongodb 8 | -------------------------------------------------------------------------------- /deployment/single/mosquitto-default-credentials/pw.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/deployment/single/mosquitto-default-credentials/pw.txt -------------------------------------------------------------------------------- /deployment/single/mosquitto/pw.txt: -------------------------------------------------------------------------------- 1 | cedalo:$6$9T/H76sO+OrEuqq6$v6WqTUgrhc+qU/93Y00x1x0ldz+BGJeFAZJx2FJQtN+TVWlWsX7RbXbZ77lQfMVHTzQRwelh9DrncXQj1usITw== 2 | -------------------------------------------------------------------------------- /deployment/single/services/gateway/start.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-console */ 2 | const http = require('http'); 3 | 4 | const port = 8082; 5 | 6 | const requestHandler = (request, response) => { 7 | response.end('Gateway'); 8 | }; 9 | 10 | const server = http.createServer(requestHandler); 11 | 12 | server.listen(port, (error) => { 13 | if (error) { 14 | console.error(error); 15 | } else { 16 | console.log(`Gateway is listening on ${port}`); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /deployment/single/services/service-graphs/start.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-console */ 2 | const http = require('http'); 3 | 4 | const port = 8090; 5 | 6 | const requestHandler = (request, response) => { 7 | response.end('Graph Service'); 8 | }; 9 | 10 | const server = http.createServer(requestHandler); 11 | 12 | server.listen(port, (error) => { 13 | if (error) { 14 | console.error(error); 15 | } else { 16 | console.log(`Graph Service is listening on ${port}`); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /deployment/single/services/service-machines/start.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-console */ 2 | const http = require('http'); 3 | 4 | const port = 8091; 5 | 6 | const requestHandler = (request, response) => { 7 | response.end('Machine Service'); 8 | }; 9 | 10 | const server = http.createServer(requestHandler); 11 | 12 | server.listen(port, (error) => { 13 | if (error) { 14 | console.error(error); 15 | } else { 16 | console.log(`Machine Service is listening on ${port}`); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /deployment/single/services/service-streams/start.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-console */ 2 | const http = require('http'); 3 | 4 | const port = 8083; 5 | 6 | const requestHandler = (request, response) => { 7 | response.end('Streams Service'); 8 | }; 9 | 10 | const server = http.createServer(requestHandler); 11 | 12 | server.listen(port, (error) => { 13 | if (error) { 14 | console.error(error); 15 | } else { 16 | console.log(`Streams Service is listening on ${port}`); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /deployment/single/services/webui/start.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-console */ 2 | const http = require('http'); 3 | 4 | const port = 9000; 5 | 6 | const requestHandler = (request, response) => { 7 | response.end('Web UI'); 8 | }; 9 | 10 | const server = http.createServer(requestHandler); 11 | 12 | server.listen(port, (error) => { 13 | if (error) { 14 | console.error(error); 15 | } else { 16 | console.log(`Web UI is listening on ${port}`); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /deployment/single/start-all.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | docker run \ 3 | -p 27017:27017 \ 4 | -p 1883:1883 \ 5 | -p 6379:6379 \ 6 | -p 8080:8080 \ 7 | -p 8081:8081 \ 8 | -p 8083:8083 \ 9 | -p 8090:8090 \ 10 | -p 8091:8091 \ 11 | -p 9000:9000 \ 12 | --env-file streamsheets.env \ 13 | cedalo/streamsheets:2.0-milestone 14 | -------------------------------------------------------------------------------- /deployment/single/wait-for-database.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | until nc -z $MONGO_HOST $MONGO_PORT 4 | do 5 | echo "Waiting for MongoDB ($MONGO_HOST:$MONGO_PORT) to start..." 6 | sleep 0.5 7 | done 8 | 9 | eval $* 10 | -------------------------------------------------------------------------------- /deployment/slim/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # docker build -t cedalo/streamsheets:1.5-slim . 3 | docker build -t cedalo/streamsheets-slim:1.5 . 4 | -------------------------------------------------------------------------------- /deployment/slim/start.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | docker rm streamsheets-slim 4 | 5 | docker run \ 6 | -p 8081:8081 \ 7 | -p 8083:8083 \ 8 | -v streamsheets-data:/var/lib/mongodb \ 9 | --name streamsheets-slim \ 10 | --network streamsheets \ 11 | cedalo/streamsheets-slim:1.5 12 | -------------------------------------------------------------------------------- /deployment/standard/installer/.dockerignore: -------------------------------------------------------------------------------- 1 | database-seed 2 | database-ui 3 | deploy 4 | old 5 | tests 6 | services/docker-compose/data 7 | -------------------------------------------------------------------------------- /deployment/standard/installer/.gitignore: -------------------------------------------------------------------------------- 1 | services/docker-compose/data -------------------------------------------------------------------------------- /deployment/standard/installer/build-installer.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | VERSION="${1:-1.5}" 3 | 4 | docker build -t cedalo/streamsheets-installer:$VERSION-standard-linux . --build-arg os=linux 5 | docker push cedalo/streamsheets-installer:$VERSION-standard-linux 6 | 7 | docker build -t cedalo/streamsheets-installer:$VERSION-standard-win . --build-arg os=win 8 | docker push cedalo/streamsheets-installer:$VERSION-standard-win 9 | 10 | docker build -t cedalo/streamsheets-installer:$VERSION-standard-macos . --build-arg os=macos 11 | docker push cedalo/streamsheets-installer:$VERSION-standard-macos -------------------------------------------------------------------------------- /deployment/standard/installer/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | NAME="streamsheets" 4 | VERSION=$1 5 | 6 | echo "--> Installing Streamsheets" 7 | 8 | echo "--> Preparing docker-compose files" 9 | mkdir -p "/streamsheets/services/docker-compose" 10 | mkdir -p "/streamsheets/services/docker-compose/license" 11 | 12 | if [ "$VERSION" = "dev" ] 13 | then 14 | echo "--> Installing development version" 15 | rsync -r services "/streamsheets" 16 | else 17 | rsync -r services/docker-compose/docker-compose.prod.yml "/streamsheets/services/docker-compose/docker-compose.prod.yml" 18 | rsync -r services/scripts "/streamsheets/services" --exclude *.dev.* 19 | fi 20 | 21 | echo "--> Successfully installed Streamsheets" 22 | -------------------------------------------------------------------------------- /deployment/standard/installer/services/README.md: -------------------------------------------------------------------------------- 1 | # Usage 2 | 3 | ## Start application with multiple machine service instances 4 | 5 | Example: start application with 5 machine service instances 6 | ``` 7 | #!/usr/bin/env bash 8 | docker-compose \ 9 | -f ./docker-compose/docker-compose.dev.ext.yml \ 10 | -f ./docker-compose/docker-compose.dev.yml \ 11 | -f ./docker-compose/docker-compose.mongodb.yml \ 12 | -f ./docker-compose/docker-compose.mosquitto.yml \ 13 | up \ 14 | --scale service-machines=5 15 | ``` 16 | -------------------------------------------------------------------------------- /deployment/standard/installer/services/docker-compose/docker-compose.dev.database-seed.yml: -------------------------------------------------------------------------------- 1 | version: '3.7' 2 | 3 | services: 4 | internal-mongodb-seed: 5 | build: ../docker/database-seed 6 | container_name: database-seed 7 | links: 8 | - internal-mongodb 9 | depends_on: 10 | - internal-mongodb 11 | networks: 12 | - streamsheets 13 | networks: 14 | streamsheets: 15 | external: 16 | name: streamsheets 17 | -------------------------------------------------------------------------------- /deployment/standard/installer/services/docker-compose/docker-compose.dev.hivemq.yml: -------------------------------------------------------------------------------- 1 | version: '3.7' 2 | 3 | services: 4 | streamsheets-service-streams: 5 | depends_on: 6 | - hivemq3 7 | - hivemq4 8 | hivemq3: 9 | image: hivemq/hivemq3 10 | container_name: hivemq3 11 | ports: 12 | - "8086:8080" 13 | - "1885:1883" 14 | expose: 15 | - 1885 16 | networks: 17 | - streamsheets 18 | hivemq4: 19 | image: hivemq/hivemq4 20 | container_name: hivemq4 21 | ports: 22 | - "8087:8080" 23 | - "1886:1883" 24 | expose: 25 | - 1886 26 | networks: 27 | - streamsheets 28 | networks: 29 | streamsheets: 30 | external: 31 | name: streamsheets 32 | -------------------------------------------------------------------------------- /deployment/standard/installer/services/docker-compose/docker-compose.dev.integration.tests.yml: -------------------------------------------------------------------------------- 1 | version: '3.7' 2 | 3 | services: 4 | streamsheets-gateway: 5 | environment: 6 | MONGO_DATABASE: integration-tests 7 | streamsheets-service-machines: 8 | environment: 9 | MONGO_DATABASE: integration-tests 10 | streamsheets-service-streams: 11 | environment: 12 | MONGO_DATABASE: integration-tests 13 | streamsheets-service-auth: 14 | environment: 15 | MONGO_DATABASE: integration-tests 16 | networks: 17 | streamsheets: 18 | name: streamsheets 19 | driver: bridge 20 | -------------------------------------------------------------------------------- /deployment/standard/installer/services/docker-compose/docker-compose.dev.logging.yml: -------------------------------------------------------------------------------- 1 | version: '3.7' 2 | 3 | services: 4 | streamsheets-gateway: 5 | logging: 6 | driver: "json-file" 7 | streamsheets-service-machines: 8 | logging: 9 | driver: "json-file" 10 | streamsheets-service-graphs: 11 | logging: 12 | driver: "json-file" 13 | streamsheets-service-streams: 14 | logging: 15 | driver: "json-file" 16 | streamsheets-service-auth: 17 | logging: 18 | driver: "json-file" 19 | networks: 20 | streamsheets: 21 | external: 22 | name: streamsheets 23 | -------------------------------------------------------------------------------- /deployment/standard/installer/services/docker-compose/docker-compose.dev.mongodb.yml: -------------------------------------------------------------------------------- 1 | version: '3.7' 2 | 3 | services: 4 | streamsheets-service-streams: 5 | depends_on: 6 | - mongodb 7 | mongodb: 8 | image: mongo:3.6 9 | container_name: database 10 | # environment: 11 | # MONGO_INITDB_ROOT_USERNAME: cedalo 12 | # MONGO_INITDB_ROOT_PASSWORD: secret 13 | ports: 14 | - 27017:27017 15 | expose: 16 | - 27017 17 | networks: 18 | - streamsheets 19 | logging: 20 | driver: "none" 21 | networks: 22 | streamsheets: 23 | external: 24 | name: streamsheets 25 | -------------------------------------------------------------------------------- /deployment/standard/installer/services/docker-compose/docker-compose.dev.mosquitto.yml: -------------------------------------------------------------------------------- 1 | version: '3.7' 2 | 3 | services: 4 | streamsheets-service-streams: 5 | depends_on: 6 | - broker 7 | broker: 8 | image: eclipse-mosquitto:1.6 9 | container_name: broker 10 | ports: 11 | - 1883:1883 12 | - 8082:8080 13 | expose: 14 | - 1883 15 | - 8082 16 | volumes: 17 | - ./mosquitto/mosquitto.conf:/mosquitto/config/mosquitto.conf 18 | - ./mosquitto/pw.txt:/mosquitto/config/pw.txt 19 | networks: 20 | - streamsheets 21 | logging: 22 | driver: "none" 23 | networks: 24 | streamsheets: 25 | external: 26 | name: streamsheets 27 | -------------------------------------------------------------------------------- /deployment/standard/installer/services/docker-compose/docker-compose.dev.node-red.yml: -------------------------------------------------------------------------------- 1 | version: '3.7' 2 | 3 | services: 4 | nodered: 5 | image: nodered/node-red-docker 6 | container_name: nodered 7 | ports: 8 | - '1880:1880' 9 | expose: 10 | - 1880 11 | networks: 12 | - streamsheets 13 | logging: 14 | driver: "none" 15 | networks: 16 | streamsheets: 17 | external: 18 | name: streamsheets 19 | -------------------------------------------------------------------------------- /deployment/standard/installer/services/docker-compose/license/.gitignore: -------------------------------------------------------------------------------- 1 | license.lic -------------------------------------------------------------------------------- /deployment/standard/installer/services/docker-compose/mosquitto-internal/pw.txt: -------------------------------------------------------------------------------- 1 | cedalo:$6$9T/H76sO+OrEuqq6$v6WqTUgrhc+qU/93Y00x1x0ldz+BGJeFAZJx2FJQtN+TVWlWsX7RbXbZ77lQfMVHTzQRwelh9DrncXQj1usITw== -------------------------------------------------------------------------------- /deployment/standard/installer/services/docker-compose/mosquitto/pw.txt: -------------------------------------------------------------------------------- 1 | cedalo:$6$F+GLrzIPd0rhzabH$2ObF0i7xtKELQhh+/2uWeglPh1CMmVE+qVql6fnhxNu1/l8Cy/1A38INqROpptiSYLOP2BOGRcjEJVzDwI3qqg== 2 | -------------------------------------------------------------------------------- /deployment/standard/installer/services/docker-compose/service-streams/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "providers": [ 3 | "@cedalo/stream-mqtt", 4 | "@cedalo/stream-aws-mqtt", 5 | "@cedalo/stream-rest-client", 6 | "@cedalo/rest-server", 7 | "@cedalo/stream-mongodb", 8 | "@cedalo/stream-file", 9 | "@cedalo/stream-kafka", 10 | "@cedalo/stream-mail-pop3", 11 | "@cedalo/stream-mail-smtp", 12 | "@cedalo/stream-toit" 13 | ], 14 | "queueStrategies": [], 15 | "database": { 16 | "collection": "streams" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /deployment/standard/installer/services/scripts/linux/start.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | docker network ls | grep streamsheets > /dev/null || docker network create streamsheets 4 | 5 | CMD="${@:-up}" 6 | SCRIPT_LOCATION="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" 7 | 8 | "${SCRIPT_LOCATION}/migrate.sh" --quiet 9 | 10 | docker volume ls | grep streamsheets-data > /dev/null || docker volume create streamsheets-data 11 | 12 | echo "docker-compose ${CMD} on base services..." 13 | 14 | docker-compose \ 15 | -f ../../docker-compose/docker-compose.prod.yml \ 16 | $CMD 17 | -------------------------------------------------------------------------------- /deployment/standard/installer/services/scripts/macos/start.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | docker network ls | grep streamsheets > /dev/null || docker network create streamsheets 4 | 5 | CMD="${@:-up}" 6 | SCRIPT_LOCATION="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" 7 | 8 | "${SCRIPT_LOCATION}/migrate.sh" --quiet 9 | 10 | docker volume ls | grep streamsheets-data > /dev/null || docker volume create streamsheets-data 11 | 12 | echo "docker-compose ${CMD} on base services..." 13 | 14 | docker-compose \ 15 | -f ../../docker-compose/docker-compose.prod.yml \ 16 | $CMD 17 | -------------------------------------------------------------------------------- /deployment/standard/installer/services/scripts/win/start.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | docker network ls | findstr streamsheets || docker network create streamsheets 4 | 5 | set CMD=%* 6 | IF ["%CMD%"] == [""] set CMD=up 7 | 8 | CALL "%~dp0migrate.bat" --quiet 9 | 10 | docker volume ls | findstr streamsheets-data || docker volume create streamsheets-data 11 | 12 | echo "docker-compose %CMD% on base services..." 13 | 14 | docker-compose ^ 15 | -f "%~dp0..\..\docker-compose\docker-compose.prod.yml" ^ 16 | %CMD% 17 | -------------------------------------------------------------------------------- /deployment/standard/intergration-tests-setup/start-integration-tests-setup.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | CMD="${1:-up}" 4 | 5 | echo "docker-compose ${CMD} on defaults services..." 6 | 7 | docker-compose \ 8 | -f ../installer/services/docker-compose/docker-compose.dev.ext.yml \ 9 | -f ../installer/services/docker-compose/docker-compose.dev.yml \ 10 | -f ../installer/services/docker-compose/docker-compose.mongodb.yml \ 11 | -f ../installer/services/docker-compose/docker-compose.mosquitto.yml \ 12 | -f ../installer/services/docker-compose/docker-compose.integration.tests.yml \ 13 | $CMD 14 | -------------------------------------------------------------------------------- /notes/roadmap/README.md: -------------------------------------------------------------------------------- 1 | # Roadmap 2 | 3 | This document describes the current status and the upcoming milestones of the Streamsheets core project. 4 | 5 | | Status | Milestone | Release | 6 | | :---: | :--- | :---: | 7 | | 🛠️ | **Chart enhancements** | Mar 01 2020 | 8 | | ✅ | **Improve security** | Dec 01 2019 | 9 | | ✅ | **Integrate persistence into each service** | Sep 01 2019 | 10 | | ✅️ | **Merge repository server and gateway** | Sep 01 2019 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /packages/commons/src/functions.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const pipe = (...fns) => (val) => fns.reduce((res, fn) => fn(res), val); 12 | const compose = (...fns) => (val) => fns.reduceRight((res, fn) => fn(res), val); 13 | 14 | module.exports = { 15 | compose, 16 | pipe 17 | }; 18 | -------------------------------------------------------------------------------- /packages/commons/src/proc.js: -------------------------------------------------------------------------------- 1 | // script which is executed... 2 | // const path = require('path'); 3 | // const getScript = () => path.relative(process.cwd(), process.argv[1]); 4 | 5 | const getScriptArgs = () => process.argv ? ` ${process.argv.slice(2).join(' ')}` : ''; 6 | const getProcessArgs = () => process.execArgv ? ` ${process.execArgv.join(' ')}` : ''; 7 | 8 | const setProcessTitle = (title, includeArgs = true) => { 9 | title = title || process.argv[0]; 10 | process.title = includeArgs ? `Cedalo/${title}${getProcessArgs()}${getScriptArgs()}` : `${title}`; 11 | }; 12 | 13 | module.exports = { 14 | setProcessTitle 15 | }; 16 | -------------------------------------------------------------------------------- /packages/commons/src/requireFile.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const requireFile = (file) => { 12 | try { 13 | // eslint-disable-next-line 14 | return require(`${file}`); 15 | } catch (err) { 16 | /* ignore */ 17 | } 18 | return undefined; 19 | }; 20 | 21 | module.exports = requireFile; 22 | -------------------------------------------------------------------------------- /packages/commons/src/sleep.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const noop = () => {}; 12 | 13 | const sleep = (ms, fn = noop) => 14 | new Promise((resolve) => { 15 | setTimeout(() => resolve(fn()), ms); 16 | }); 17 | 18 | module.exports = sleep; 19 | -------------------------------------------------------------------------------- /packages/commons/test/jest.config.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | /** 12 | * NOTE: 13 | * - used to run a single test-file with cli option: --config 14 | * - to run ALL tests use $>npm t 15 | */ 16 | module.exports = { 17 | bail: true, 18 | collectCoverage: false, 19 | verbose: true 20 | }; 21 | -------------------------------------------------------------------------------- /packages/error-codes/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage 2 | -------------------------------------------------------------------------------- /packages/error-codes/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | -------------------------------------------------------------------------------- /packages/error-codes/README.md: -------------------------------------------------------------------------------- 1 | # error-codes 2 | 3 | General error codes used throughout the system. 4 | -------------------------------------------------------------------------------- /packages/functions/README.md: -------------------------------------------------------------------------------- 1 | # functions 2 | 3 | The core sheet-functions. 4 | 5 | 6 | 7 | ## Run Tests 8 | All tests are written with [`jest`][jest]. They can be run with npm. 9 | ```bash 10 | npm test 11 | ``` 12 | 13 | 14 | ## Authors 15 | * [**Cedalo AG**][cedalo] 16 | 17 | 18 | ## License 19 | This project is licensed under the Eclipse Public License - see the [LICENSE][license] file for details. 20 | 21 | 22 | [cedalo]: https://cedalo.com 23 | [jest]: https://jestjs.io 24 | [license]: ../../LICENSE 25 | -------------------------------------------------------------------------------- /packages/functions/src/codepages/errors/code.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | -------------------------------------------------------------------------------- /packages/functions/src/factory/FunctionFactory.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const streamfunc = require('./streamfunc'); 12 | 13 | // currently only stream functions: 14 | module.exports = { 15 | createFrom: (fnDefinition) => streamfunc(fnDefinition) 16 | }; 17 | -------------------------------------------------------------------------------- /packages/functions/src/functions/crypto/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2021 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const crypto = require('./crypto'); 12 | const help = require('./help'); 13 | 14 | module.exports = { 15 | help, 16 | functions: { 17 | ...crypto 18 | } 19 | }; 20 | -------------------------------------------------------------------------------- /packages/functions/src/functions/database/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const help = require('./help'); 12 | const database = require('./database'); 13 | 14 | module.exports = { 15 | help, 16 | functions: { ...database } 17 | }; 18 | -------------------------------------------------------------------------------- /packages/functions/src/functions/engineering/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const help = require('./help'); 12 | const engineering = require('./engineering'); 13 | 14 | module.exports = { 15 | help, 16 | functions: { 17 | ...engineering 18 | } 19 | }; 20 | -------------------------------------------------------------------------------- /packages/functions/src/functions/http/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const help = require('./help'); 12 | const http = require('./http'); 13 | 14 | module.exports = { 15 | help, 16 | functions: { ...http } 17 | }; 18 | -------------------------------------------------------------------------------- /packages/functions/src/functions/info/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const help = require('./help'); 12 | const info = require('./info'); 13 | 14 | module.exports = { 15 | help, 16 | functions: { 17 | ...info 18 | } 19 | }; 20 | -------------------------------------------------------------------------------- /packages/functions/src/functions/logical/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const help = require('./help'); 12 | const logical = require('./logical'); 13 | 14 | module.exports = { 15 | help, 16 | functions: { 17 | ...logical 18 | // IF is inherent with parser! => condition term!! 19 | } 20 | }; 21 | -------------------------------------------------------------------------------- /packages/functions/src/functions/lookup/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const help = require('./help'); 12 | const lookup = require('./lookup'); 13 | 14 | module.exports = { 15 | help, 16 | functions: { 17 | ...lookup 18 | } 19 | }; 20 | -------------------------------------------------------------------------------- /packages/functions/src/functions/olap/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const help = require('./help'); 12 | const olap = require('./olap'); 13 | 14 | module.exports = { 15 | help, 16 | functions: { 17 | ...olap 18 | } 19 | }; 20 | -------------------------------------------------------------------------------- /packages/functions/src/functions/parse/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const help = require('./help'); 12 | const parse = require('./parse'); 13 | 14 | module.exports = { 15 | help, 16 | functions: { ...parse } 17 | }; 18 | -------------------------------------------------------------------------------- /packages/functions/src/functions/stack/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const help = require('./help'); 12 | const stack = require('./stack'); 13 | 14 | module.exports = { 15 | help, 16 | functions: { 17 | ...stack 18 | } 19 | }; 20 | -------------------------------------------------------------------------------- /packages/functions/src/functions/streamsheet/goto.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const continueAt = require('./continueAt'); 12 | 13 | module.exports = (sheet, ...terms) => continueAt(sheet, ...terms); 14 | -------------------------------------------------------------------------------- /packages/functions/src/functions/streamsheet/inboxdata.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const inboxread = require('../../utils/inboxread'); 12 | 13 | const DATA = '[data]'; 14 | 15 | const inboxdata = (sheet, ...terms) => inboxread(DATA, sheet, ...terms); 16 | 17 | 18 | module.exports = inboxdata; 19 | -------------------------------------------------------------------------------- /packages/functions/src/functions/timeseries/utils.js: -------------------------------------------------------------------------------- 1 | const setCellInfo = (key, info, term) => { 2 | const cell = term && term.cell; 3 | if (cell) cell.setCellInfo(key, info); 4 | }; 5 | 6 | module.exports = { 7 | setCellInfo 8 | } 9 | -------------------------------------------------------------------------------- /packages/functions/src/functions/url/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const help = require('./help'); 12 | const url = require('./url'); 13 | 14 | module.exports = { 15 | help, 16 | functions: { ...url } 17 | }; 18 | -------------------------------------------------------------------------------- /packages/functions/src/utils/date.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const TZ_OFFSET_IN_MS = new Date().getTimezoneOffset() * 60000; 12 | 13 | const localNow = () => Date.now() - TZ_OFFSET_IN_MS; 14 | 15 | module.exports = { 16 | localNow 17 | }; 18 | -------------------------------------------------------------------------------- /packages/gateway-client-node/README.md: -------------------------------------------------------------------------------- 1 | # gateway-client-node 2 | 3 | Node.js client for accessing the gateway. 4 | -------------------------------------------------------------------------------- /packages/gateway-client-node/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | 'use strict'; 12 | 13 | const NodeGatewayClient = require('./src/client/node/NodeGatewayClient'); 14 | 15 | module.exports = { 16 | NodeGatewayClient 17 | }; 18 | -------------------------------------------------------------------------------- /packages/gateway-client-node/test/client/config/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "socketEndpointURL": "ws://localhost:8080/machineserver-proxy", 3 | "restEndpointURL": "http://localhost:8080/api/v1.0", 4 | "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiJtYWNoaW5lc2VydmVyIiwiaWF0IjoxNTA2NDM4NjE2LCJleHAiOjE1Mzc5NzQ2MTZ9.BV5M3JLrgLf9-WQrgv8WAj2_pRYJi79QMn9Gx8TSlPo" 5 | } -------------------------------------------------------------------------------- /packages/gateway-client-proxy/README.md: -------------------------------------------------------------------------------- 1 | # gateway-client-proxy 2 | 3 | Proxy for accessing the gateway client running in a web worker. 4 | -------------------------------------------------------------------------------- /packages/gateway-client-proxy/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | 'use strict'; 12 | 13 | const WebWorkerGatewayClientProxy = require('./src/client/proxy/WebWorkerGatewayClientProxy'); 14 | 15 | module.exports = { 16 | WebWorkerGatewayClientProxy 17 | }; 18 | -------------------------------------------------------------------------------- /packages/gateway-client/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage 2 | dist 3 | -------------------------------------------------------------------------------- /packages/gateway-client/src/client/apis/GatewayAPI.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | 'use strict'; 12 | 13 | module.exports = class GatewayAPI { 14 | constructor(logger) { 15 | this._logger = logger; 16 | } 17 | 18 | get logger() { 19 | return this._logger; 20 | } 21 | }; 22 | -------------------------------------------------------------------------------- /packages/gateway-client/test/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "jasmine": true 4 | }, 5 | "rules": { 6 | "no-console": "off", 7 | "no-unused-vars": "warn" 8 | } 9 | } -------------------------------------------------------------------------------- /packages/gateway-client/test/client/config/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "socketEndpointURL": "ws://localhost:8080/machineserver-proxy", 3 | "restEndpointURL": "http://localhost:8080/api/v1.0", 4 | "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiJtYWNoaW5lc2VydmVyIiwiaWF0IjoxNTA2NDM4NjE2LCJleHAiOjE1Mzc5NzQ2MTZ9.BV5M3JLrgLf9-WQrgv8WAj2_pRYJi79QMn9Gx8TSlPo" 5 | } -------------------------------------------------------------------------------- /packages/gateway-client/test/client/helper/tests.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const { 12 | JSONToGraph 13 | } = require('./helper'); 14 | 15 | const graphJSON = require('./graph'); 16 | 17 | const graph = JSONToGraph(JSON.stringify(graphJSON)); 18 | console.log(graph.getItemAt(0).getStreamSheet()); 19 | -------------------------------------------------------------------------------- /packages/gateway-plugins/webhook-server/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /packages/gateway-plugins/webhook-server/src/WebhookServerRepository.js: -------------------------------------------------------------------------------- 1 | // const { InputError } = require('@cedalo/gateway/out/src/errors'); 2 | const { PLUGIN_ID } = require('./WebhookServer'); 3 | 4 | const WebhookServerRepository = { 5 | async updateWebhookServer(id, webhookServer) { 6 | // throw InputError.invalid('Invalid WebhookServer Update', errors); 7 | const result = await this.db 8 | .collection(this.collection) 9 | .updateOne({ _id: id }, { $set: { [`extensionSettings.${PLUGIN_ID}`]: webhookServer } }); 10 | return result; 11 | } 12 | }; 13 | 14 | module.exports = { 15 | WebhookServerRepository 16 | }; 17 | -------------------------------------------------------------------------------- /packages/gateway/.eslintignore: -------------------------------------------------------------------------------- 1 | src/public 2 | coverage 3 | start.min.js 4 | -------------------------------------------------------------------------------- /packages/gateway/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | module.exports = { 12 | settings: { 13 | 'import/resolver': { 14 | node: { 15 | extensions: ['.js', '.jsx', '.ts', '.tsx'] 16 | } 17 | } 18 | } 19 | }; 20 | -------------------------------------------------------------------------------- /packages/gateway/README.md: -------------------------------------------------------------------------------- 1 | # gateway 2 | 3 | Gateway for accessing the Streamsheet services. 4 | -------------------------------------------------------------------------------- /packages/gateway/config/config-development.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "appUrl": "http://localhost:3000" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/gateway/config/config-production.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": { 3 | "appUrl": "http://localhost:8081" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/gateway/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "gateway", 3 | "name": "Gateway Service", 4 | "description": "Service that provides a gateway API for accessing several services.", 5 | "provider": "cedalo AG", 6 | "buildNumber": "unknown" 7 | } -------------------------------------------------------------------------------- /packages/gateway/public/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | -------------------------------------------------------------------------------- /packages/gateway/src/errors/AuthError.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const ERROR_CODES = require('./ErrorCodes'); 12 | 13 | const notAllowed = (message) => ({ message, code: ERROR_CODES.NOT_ALLOWED, own: true }); 14 | 15 | module.exports = { 16 | notAllowed 17 | }; 18 | -------------------------------------------------------------------------------- /packages/gateway/src/errors/MongoError.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const isConflict = (error) => (error && error.code === 11000) || false; 12 | 13 | module.exports = { 14 | isConflict 15 | }; 16 | -------------------------------------------------------------------------------- /packages/gateway/src/export-import/index.ts: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | export * from './ExportApi'; 12 | export * from './ImportApi'; 13 | -------------------------------------------------------------------------------- /packages/gateway/src/initializer.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const setup = (/* service */) => {}; 12 | module.exports = { setup }; 13 | -------------------------------------------------------------------------------- /packages/gateway/src/machine/index.ts: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | export * from './MachineServiceProxy'; 12 | export * from './types'; 13 | export * from './MachineApi'; -------------------------------------------------------------------------------- /packages/gateway/src/rest/routes/ConfigRoutes.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const CONFIG = require('../../config').get('app'); 12 | 13 | module.exports = class ConfigRoutes { 14 | static async config(request, response) { 15 | response.status(200).json(CONFIG); 16 | } 17 | }; 18 | -------------------------------------------------------------------------------- /packages/gateway/src/stream/index.ts: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | export { Stream } from './types'; 12 | export { StreamApi as BaseStreamApi, StreamApiApplied as StreamApi } from './StreamApi'; 13 | export { StreamRepositoryProxy } from './StreamRepositoryProxy'; 14 | -------------------------------------------------------------------------------- /packages/gateway/src/user/index.ts: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | export { Actor, User, UserSettings } from './types'; 12 | export { UserApi as BaseUserApi, UserApiApplied as UserApi } from './UserApi'; 13 | export { createUserRepository } from './UserRepository'; 14 | -------------------------------------------------------------------------------- /packages/gateway/src/utils/logger.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const { create } = require('@cedalo/logger'); 12 | 13 | module.exports = { 14 | // level, 15 | create: ({ name = 'Gateway-Logger' } = {}) => create({ name }) 16 | }; 17 | -------------------------------------------------------------------------------- /packages/gateway/test/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "jasmine": true, 4 | "jest": true 5 | }, 6 | "rules": { 7 | "no-console": "off", 8 | "no-unused-vars": "warn" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/gateway/test/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig-base.json", 3 | "references": [{ "path": "../tsconfig.json" }], 4 | "compilerOptions": { 5 | "noEmit": true, 6 | "build": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/gateway/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig-base.json", 3 | "compilerOptions": { 4 | "outDir": "./out", /* Redirect output structure to the directory. */ 5 | "composite": true, /* Enable project compilation */ 6 | }, 7 | "include": ["src", "start.js", "index.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/http-client/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const getInstance = require('./src/HTTPClient'); 12 | 13 | module.exports = getInstance; 14 | -------------------------------------------------------------------------------- /packages/idgenerator/README.md: -------------------------------------------------------------------------------- 1 | # id-generator 2 | 3 | Generator for different types of ids. 4 | -------------------------------------------------------------------------------- /packages/idgenerator/index.d.ts: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | declare module '@cedalo/id-generator' { 12 | function generate(): string; 13 | function generateUUID(): string; 14 | function generateShortId(): string; 15 | } -------------------------------------------------------------------------------- /packages/idgenerator/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | 'use strict'; 12 | 13 | const IdGenerator = require('./src/generators/IdGenerator'); 14 | 15 | const instance = new IdGenerator(); 16 | 17 | module.exports = instance; 18 | -------------------------------------------------------------------------------- /packages/idgenerator/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@cedalo/id-generator", 3 | "version": "2.4.0", 4 | "description": "Generator for different types of ids", 5 | "main": "index.js", 6 | "scripts": { 7 | "lint": "./node_modules/.bin/eslint ." 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/cedalo/streamsheets.git" 12 | }, 13 | "author": "Cedalo AG", 14 | "bugs": { 15 | "url": "https://github.com/cedalo/streamsheets/issues" 16 | }, 17 | "homepage": "https://github.com/cedalo/streamsheets/tree/master/packages/idgenerator", 18 | "dependencies": { 19 | "shortid": "2.2.8", 20 | "uuid": "3.3.2" 21 | }, 22 | "license": "EPL-2.0" 23 | } 24 | -------------------------------------------------------------------------------- /packages/jsg-core/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["env"] 3 | } 4 | -------------------------------------------------------------------------------- /packages/jsg-core/.eslintignore: -------------------------------------------------------------------------------- 1 | dist 2 | example-websocket 3 | gettingstarted 4 | -------------------------------------------------------------------------------- /packages/jsg-core/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Logs 3 | logs 4 | *.log 5 | npm-debug.log* 6 | lint.txt 7 | 8 | 9 | # Dependency directories 10 | node_modules 11 | 12 | #build dir 13 | dist/ 14 | 15 | # Code Coverage 16 | coverage 17 | .idea/ 18 | 19 | # Statistics 20 | stats.json 21 | -------------------------------------------------------------------------------- /packages/jsg-core/gettingstarted/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | JS Graph - Getting Started 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /packages/jsg-core/gettingstarted/indexd.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | JS Graph - Getting Started 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /packages/jsg-core/src/commons/Math.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | if (!Math.PI_2) { 12 | Math.PI_2 = Math.PI / 2; 13 | } 14 | 15 | if (!Math.PI_4) { 16 | Math.PI_4 = Math.PI / 4; 17 | } 18 | 19 | if (!Math.PI_8) { 20 | Math.PI_8 = Math.PI / 8; 21 | } 22 | 23 | module.exports = Math; 24 | -------------------------------------------------------------------------------- /packages/jsg-core/src/graph/model/utils/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const dataprovider = require('./dataprovider'); 12 | const map = require('./map'); 13 | const properties = require('./properties'); 14 | 15 | module.exports = { 16 | ...dataprovider, 17 | ...map, 18 | ...properties 19 | }; 20 | -------------------------------------------------------------------------------- /packages/jsg-ui/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["env"] 3 | } 4 | -------------------------------------------------------------------------------- /packages/jsg-ui/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage 2 | dist 3 | test 4 | firststeps 5 | example-websocket 6 | gettingstarted 7 | scripts 8 | src/includes.js 9 | src/ui/events/hammer.js 10 | -------------------------------------------------------------------------------- /packages/jsg-ui/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Logs 3 | logs 4 | *.log 5 | npm-debug.log* 6 | 7 | 8 | # Dependency directories 9 | node_modules 10 | 11 | # build dir 12 | dist/ 13 | 14 | # lib dir 15 | lib/ 16 | example-websocket/index.js 17 | .idea/ 18 | 19 | .DS_Store 20 | lint.txt 21 | -------------------------------------------------------------------------------- /packages/jsg-ui/README.md: -------------------------------------------------------------------------------- 1 | # jsg-ui 2 | 3 | Javascript Graph Framework 4 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/graph/view/WorksheetHitCode.js: -------------------------------------------------------------------------------- 1 | const WorksheetHitCode = { 2 | NONE: 0, 3 | SHEET: 1, 4 | COLUMN: 2, 5 | ROW: 3, 6 | COLUMNSIZE: 4, 7 | ROWSIZE: 5, 8 | CORNER: 6, 9 | SELECTIONMOVE: 7, 10 | REFERENCEMOVE: 8, 11 | REFERENCERESIZE: 9, 12 | SELECTIONEXTEND: 10, 13 | ROWSIZEHIDDEN: 11, 14 | COLUMNSIZEHIDDEN: 12, 15 | COLUMNOUTLINE: 13, 16 | ROWOUTLINE: 14, 17 | DATAVIEW: 15, 18 | ERRORVIEW: 16 19 | }; 20 | 21 | export default WorksheetHitCode; 22 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/columnsize.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/columnsize.cur -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/columnsize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/columnsize.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/cross.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/cross.cur -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/cross.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/css/jsg.css: -------------------------------------------------------------------------------- 1 | .jsg-item-menu { 2 | background-color: rgba(0, 0, 0, 0); 3 | box-sizing: border-box; 4 | display: table; 5 | min-height: 24px; 6 | min-width: 24px; 7 | overflow: hidden; 8 | position: absolute; 9 | } 10 | 11 | .jsg-item-menu-row { 12 | background-color: rgba(0, 0, 0, 0); 13 | display: table-row; 14 | /*position: absolute;*/ 15 | /*box-sizing: border-box;*/ 16 | } 17 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/deny.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/deny.cur -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/deny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/deny.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/arrowdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/arrowdown.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/arrowleft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/arrowleft.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/arrowright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/arrowright.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/arrowup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/arrowup.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/bold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/bold.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/bullets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/bullets.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/centeralign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/centeralign.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/collapsed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/collapsed.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/expanded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/expanded.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/fontcolor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/fontcolor.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/fontsizedown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/fontsizedown.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/fontsizeup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/fontsizeup.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/italic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/italic.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/leftalign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/leftalign.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/notavailable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/notavailable.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/numbered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/numbered.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/rightalign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/rightalign.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/treechecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/treechecked.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/treeunchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/treeunchecked.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/images/underline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/images/underline.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/rotate.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/rotate.cur -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/rotate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/rotate.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/rowsize.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/rowsize.cur -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/rowsize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/rowsize.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/sheet.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/sheet.cur -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/sheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/sheet.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/sheetcolumn.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/sheetcolumn.cur -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/sheetcolumn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/sheetcolumn.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/sheetrow.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/sheetrow.cur -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/sheetrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/sheetrow.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/splith.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/splith.cur -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/splith.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/splith.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/splitv.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/splitv.cur -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/splitv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/jsg-ui/src/res/splitv.png -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/arrowdown.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/arrowleft.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/arrowright.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/arrowup.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/checked.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/delete.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/edge.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/filter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/hvedge.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/laneaddafter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/laneaddbefore.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/lanesplit_2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/lanesplit_3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/unchecked.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/vlaneaddafter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/vlaneaddbefore.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/vlanesplit_2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/res/svg/vlanesplit_3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/jsg-ui/src/ui/menu/entries/MenuDelete.js: -------------------------------------------------------------------------------- 1 | import { default as JSG, ImagePool, DeleteItemCommand } from '@cedalo/jsg-core'; 2 | import ItemMenuEntry from '../ItemMenuEntry'; 3 | 4 | 5 | export default class MenuDelete extends ItemMenuEntry { 6 | constructor() { 7 | super(); 8 | this.id = 'del'; 9 | this.element = JSG.imagePool.get(ImagePool.SVG_DELETE); 10 | } 11 | 12 | onEvent(event, item, editor) { 13 | const handled = event.type === 'click'; 14 | if (handled) { 15 | const cmd = new DeleteItemCommand(item); 16 | editor.getInteractionHandler().execute(cmd); 17 | } 18 | return handled; 19 | } 20 | }; 21 | -------------------------------------------------------------------------------- /packages/logger/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage 2 | dist 3 | -------------------------------------------------------------------------------- /packages/logger/README.md: -------------------------------------------------------------------------------- 1 | # logger 2 | 3 | Logging library. 4 | -------------------------------------------------------------------------------- /packages/logger/src/LoggerFactory.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const Logger = require('./Logger'); 12 | 13 | module.exports = class LoggerFactory { 14 | static createLogger(name, level) { 15 | return new Logger({ name, level }); 16 | } 17 | }; 18 | -------------------------------------------------------------------------------- /packages/machine-core/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage 2 | dist 3 | node_modules -------------------------------------------------------------------------------- /packages/machine-core/README.md: -------------------------------------------------------------------------------- 1 | # machine-core 2 | 3 | Core Stream Machine classes. 4 | 5 | 6 | 7 | ## Run Tests 8 | All tests are written with [`jest`][jest]. They can be run with npm. 9 | ```bash 10 | npm test 11 | ``` 12 | 13 | 14 | ## Authors 15 | * [**Cedalo AG**][cedalo] 16 | 17 | 18 | ## License 19 | This project is licensed under the Eclipse Public License - see the [LICENSE][license] file for details. 20 | 21 | 22 | [cedalo]: https://cedalo.com 23 | [jest]: https://jestjs.io 24 | [license]: ../../LICENSE 25 | -------------------------------------------------------------------------------- /packages/machine-core/src/locale/locales/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const de = require('./de'); 12 | const en = require('./en'); 13 | const us = require('./us'); 14 | 15 | module.exports = { 16 | de, 17 | en, 18 | us 19 | }; 20 | -------------------------------------------------------------------------------- /packages/machine-core/src/utils/array.js: -------------------------------------------------------------------------------- 1 | const firstElements = (n, arr) => arr.slice(0, n); 2 | const lastElements = (n, arr) => { 3 | const length = arr.length; 4 | if (n > length) n = length; 5 | return arr.slice(length - n).reverse(); 6 | }; 7 | 8 | 9 | module.exports = { 10 | firstElements, 11 | lastElements 12 | } -------------------------------------------------------------------------------- /packages/machine-core/src/utils/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const update = require('./update'); 12 | const isEmpty = require('./isEmpty'); 13 | const isType = require('./isType'); 14 | 15 | module.exports = { 16 | ...isEmpty, 17 | ...update, 18 | isType 19 | }; 20 | -------------------------------------------------------------------------------- /packages/messages/README.md: -------------------------------------------------------------------------------- 1 | # messages 2 | 3 | Different messages that are used for the communication between the different components. 4 | -------------------------------------------------------------------------------- /packages/messages/src/messages/core/CommandMessage.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const BaseMessage = require('./BaseMessage'); 12 | 13 | module.exports = class CommandMessage extends BaseMessage { 14 | 15 | } -------------------------------------------------------------------------------- /packages/messages/src/messages/core/DocumentMessage.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const BaseMessage = require('./BaseMessage'); 12 | 13 | module.exports = class DocumentMessage extends BaseMessage { 14 | 15 | } -------------------------------------------------------------------------------- /packages/messaging-client/README.md: -------------------------------------------------------------------------------- 1 | # messaging-client 2 | 3 | A layer above the concrete messaging client. 4 | -------------------------------------------------------------------------------- /packages/number-format/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["env"] 3 | } 4 | -------------------------------------------------------------------------------- /packages/number-format/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 2012-present SheetJS 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. -------------------------------------------------------------------------------- /packages/parser/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "env", 5 | { 6 | "targets": { 7 | "browsers": [ 8 | "last 2 versions" 9 | ] 10 | } 11 | } 12 | ] 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /packages/parser/.gitignore: -------------------------------------------------------------------------------- 1 | #webstorm 2 | .idea 3 | 4 | # Coverage directory used by tools like istanbul 5 | coverage 6 | 7 | # Dependency directories 8 | node_modules 9 | 10 | # Logs 11 | logs 12 | *.log 13 | npm-debug.log* 14 | -------------------------------------------------------------------------------- /packages/parsers/.gitignore: -------------------------------------------------------------------------------- 1 | #webstorm 2 | .idea 3 | 4 | # Coverage directory used by tools like istanbul 5 | coverage 6 | 7 | # Dependency directories 8 | node_modules 9 | 10 | # Logs 11 | logs 12 | *.log 13 | npm-debug.log* 14 | -------------------------------------------------------------------------------- /packages/protocols/README.md: -------------------------------------------------------------------------------- 1 | # Messaging Protocols 2 | 3 | Protocol definitions for communication between gateway client, gateway and services. 4 | 5 | - [Gateway Messaging Protocol Specification](/api/GMP.md) 6 | - [Graph Server Messaging Protocol Specification](/api/GSMP.md) 7 | - [Machine Server Messaging Protocol Specification](/api/MSMP.md) 8 | -------------------------------------------------------------------------------- /packages/repository/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage/ -------------------------------------------------------------------------------- /packages/repository/README.md: -------------------------------------------------------------------------------- 1 | # repository 2 | 3 | Persistence repositories for different components of the Stream Machine object model. 4 | -------------------------------------------------------------------------------- /packages/repository/db/machines.json: -------------------------------------------------------------------------------- 1 | { 2 | "machines": [ 3 | { 4 | "machine": null 5 | }, 6 | { 7 | "machine": null 8 | }, 9 | { 10 | "machine": null 11 | }, 12 | { 13 | "machine": null 14 | }, 15 | { 16 | "machine": null 17 | }, 18 | { 19 | "machine": null 20 | }, 21 | { 22 | "machine": null 23 | }, 24 | { 25 | "machine": null 26 | }, 27 | { 28 | "machine": null 29 | }, 30 | { 31 | "machine": null 32 | }, 33 | { 34 | "machine": null 35 | }, 36 | { 37 | "machine": null 38 | }, 39 | { 40 | "machine": null 41 | } 42 | ] 43 | } -------------------------------------------------------------------------------- /packages/repository/test/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "jasmine": true 4 | }, 5 | "rules": { 6 | "no-console": "off", 7 | "no-unused-vars": "warn" 8 | } 9 | } -------------------------------------------------------------------------------- /packages/repository/test/machines/machines-default.json: -------------------------------------------------------------------------------- 1 | { 2 | "machines": [ 3 | { 4 | "machine": null 5 | }, 6 | { 7 | "machine": null 8 | }, 9 | { 10 | "machine": null 11 | }, 12 | { 13 | "machine": null 14 | }, 15 | { 16 | "machine": null 17 | }, 18 | { 19 | "machine": null 20 | } 21 | ] 22 | } -------------------------------------------------------------------------------- /packages/rest-server-core/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage 2 | dist 3 | -------------------------------------------------------------------------------- /packages/rest-server-core/README.md: -------------------------------------------------------------------------------- 1 | # rest-server-core 2 | 3 | Classes related to the REST server. 4 | -------------------------------------------------------------------------------- /packages/rest-server-core/config/start.json: -------------------------------------------------------------------------------- 1 | { 2 | "http": { 3 | "port": 8083, 4 | "ipaddress": "0.0.0.0", 5 | "secure": false, 6 | "key": "localhost.key", 7 | "cert": "localhost.cert" 8 | }, 9 | "scaffolds": { 10 | "defaultNode": { 11 | "title": "Default node", 12 | "index": 0, 13 | "type": "node" 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /packages/rest-server-core/src/templates/index.pug: -------------------------------------------------------------------------------- 1 | html 2 | head 3 | meta(http-equiv="refresh" content="5") 4 | body 5 | table 6 | thead 7 | tr 8 | each header in content[0] 9 | th= header 10 | tbody 11 | each row, index in content 12 | if index>0 13 | tr 14 | each column in row 15 | td= column 16 | -------------------------------------------------------------------------------- /packages/rest-server-core/test/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "jasmine": true 4 | }, 5 | "rules": { 6 | "no-console": "off", 7 | "no-unused-vars": "warn" 8 | } 9 | } -------------------------------------------------------------------------------- /packages/rest-server-core/test/client/request001.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "http://localhost:3003/api/v1.0/rest/cedalo/examples", 3 | "method": "GET", 4 | "headers": { 5 | "Accept": "application/json" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/rest-server-core/test/client/request002.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "/cedalo/examples", 3 | "method": "GET", 4 | "headers": { 5 | "Accept": "application/json" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/rest-server-core/test/client/request003.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "/cedalo/examples", 3 | "method": "GET", 4 | "headers": { 5 | "Accept": "application/json" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/rest-server-core/test/client/request004.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "http://samples.openweathermap.org/data/2.5/weather?id=2172797&appid=df90123518f2e71455b31e063d96a52d", 3 | "method": "GET", 4 | "headers": { 5 | "Accept": "application/json" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/rest-server-core/test/k6/README.md: -------------------------------------------------------------------------------- 1 | ``` 2 | $ docker pull loadimpact/k6 3 | $ docker run -i loadimpact/k6 run - ; 15 | } 16 | } -------------------------------------------------------------------------------- /packages/service-graphs/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage 2 | dist 3 | -------------------------------------------------------------------------------- /packages/service-graphs/README.md: -------------------------------------------------------------------------------- 1 | # service-graphs 2 | 3 | Service for managing graphs. 4 | -------------------------------------------------------------------------------- /packages/service-graphs/config/config.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | module.exports = { 12 | mongodb: { 13 | MONGO_HOST: process.env.MONGO_HOST || 'localhost', 14 | MONGO_PORT: parseInt(process.env.MONGO_PORT, 10) || 27017, 15 | MONGO_DATABASE: process.env.MONGO_DATABASE || 'migration' 16 | } 17 | }; 18 | -------------------------------------------------------------------------------- /packages/service-graphs/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "graphs", 3 | "name": "Graph Service", 4 | "description": "Service that provides synchronisation of graph instances.", 5 | "provider": "cedalo AG", 6 | "buildNumber": "unknown" 7 | } -------------------------------------------------------------------------------- /packages/service-graphs/src/utils/ignore.js: -------------------------------------------------------------------------------- 1 | const SERVER_COMMANDS = [ 2 | 'command.server.CompoundRequestCommand', 3 | 'command.server.DeleteCellsCommand', 4 | 'command.server.PasteCellsCommand', 5 | 'command.server.SetCellLevelsCommand', 6 | 'command.server.SetCellsCommand', 7 | 'command.server.SetCellsPropertiesCommand' 8 | ]; 9 | 10 | const ignoreAll = (list) => (str) => !str || list.includes(str); 11 | 12 | module.exports = { 13 | SERVER_COMMANDS, 14 | ignoreAll 15 | } -------------------------------------------------------------------------------- /packages/service-graphs/src/utils/logger.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const { create } = require('@cedalo/logger'); 12 | 13 | module.exports = { 14 | // level, 15 | create: ({ name = 'GraphService-Logger' } = {}) => create({ name }) 16 | }; 17 | -------------------------------------------------------------------------------- /packages/service-machines/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage 2 | dist 3 | -------------------------------------------------------------------------------- /packages/service-machines/README.md: -------------------------------------------------------------------------------- 1 | # service-machines 2 | 3 | Service for managing and running stream machines. 4 | 5 | 6 | 7 | ## Authors 8 | * [**Cedalo AG**][cedalo] 9 | 10 | 11 | ## License 12 | This project is licensed under the Eclipse Public License - see the [LICENSE][license] file for details. 13 | 14 | 15 | [cedalo]: https://cedalo.com 16 | [license]: ../../LICENSE 17 | -------------------------------------------------------------------------------- /packages/service-machines/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "machines", 3 | "name": "Machine Service", 4 | "description": "Service that provides a machine server.", 5 | "provider": "cedalo AG", 6 | "buildNumber": "unknown" 7 | } -------------------------------------------------------------------------------- /packages/service-machines/src/utils/property.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const get = (...path) => (obj, def) => { 12 | const prop = path.reduce((parent, part) => (parent != null ? parent[part] : parent), obj); 13 | return prop != null ? prop : def; 14 | }; 15 | 16 | module.exports = { get }; -------------------------------------------------------------------------------- /packages/service-machines/src/utils/trycatch.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | module.exports = (fn, logger) => (...args) => { 12 | let res; 13 | try { 14 | res = fn(...args); 15 | } catch (ex) { 16 | if (logger) logger.error(ex); 17 | } 18 | return res; 19 | }; 20 | -------------------------------------------------------------------------------- /packages/service-streams/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage 2 | dist 3 | node_modules -------------------------------------------------------------------------------- /packages/service-streams/README.md: -------------------------------------------------------------------------------- 1 | # service-streams 2 | 3 | Service for managing streams. 4 | -------------------------------------------------------------------------------- /packages/service-streams/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "providers": [ 3 | "@cedalo/stream-rest-client", 4 | "@cedalo/rest-server", 5 | "@cedalo/stream-mongodb", 6 | "@cedalo/stream-file", 7 | "@cedalo/stream-kafka", 8 | "@cedalo/stream-mail-pop3", 9 | "@cedalo/stream-mail-smtp", 10 | "@cedalo/stream-mqtt", 11 | "@cedalo/stream-toit" 12 | ], 13 | "queueStrategies": [ 14 | ], 15 | "database": { 16 | "collection" : "streams" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /packages/service-streams/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | 'use strict'; 12 | 13 | const MongoDBStreamsRepository = require('./src/persistence/MongoDBStreamsRepository'); 14 | 15 | module.exports = { 16 | MongoDBStreamsRepository 17 | }; 18 | -------------------------------------------------------------------------------- /packages/service-streams/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "streams", 3 | "name": "Streams Service", 4 | "description": "Service that provides streams.", 5 | "provider": "cedalo AG", 6 | "buildNumber": "unknown" 7 | } -------------------------------------------------------------------------------- /packages/service-streams/test/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "jasmine": true 4 | }, 5 | "rules": { 6 | "no-console": "off", 7 | "no-unused-vars": "warn" 8 | } 9 | } -------------------------------------------------------------------------------- /packages/stream/file/README.md: -------------------------------------------------------------------------------- 1 | # stream-file 2 | 3 | Classes for the file stream. 4 | -------------------------------------------------------------------------------- /packages/stream/file/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const FileProvider = require('./src/FileProvider'); 12 | 13 | module.exports = { 14 | Provider: FileProvider, 15 | }; 16 | -------------------------------------------------------------------------------- /packages/stream/kafka/README.md: -------------------------------------------------------------------------------- 1 | # stream-kafka 2 | 3 | Classes for the Kafka stream. 4 | -------------------------------------------------------------------------------- /packages/stream/kafka/docker/certs/ca-cert.srl: -------------------------------------------------------------------------------- 1 | 839412E1B55B2B15 2 | -------------------------------------------------------------------------------- /packages/stream/kafka/docker/certs/client.truststore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/stream/kafka/docker/certs/client.truststore.jks -------------------------------------------------------------------------------- /packages/stream/kafka/docker/certs/server.keystore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/stream/kafka/docker/certs/server.keystore.jks -------------------------------------------------------------------------------- /packages/stream/kafka/docker/certs/server.truststore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/stream/kafka/docker/certs/server.truststore.jks -------------------------------------------------------------------------------- /packages/stream/kafka/docker/docker-compose.0.10.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | kafka: 4 | image: wurstmeister/kafka:0.10.2.1 5 | -------------------------------------------------------------------------------- /packages/stream/kafka/docker/docker-compose.0.11.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | kafka: 4 | image: wurstmeister/kafka:0.11.0.0 5 | environment: 6 | KAFKA_LOG_MESSAGE_FORMAT_VERSION: "0.10.2" 7 | volumes: 8 | - ./docker/start-kafka.sh:/usr/bin/start-kafka.sh -------------------------------------------------------------------------------- /packages/stream/kafka/docker/docker-compose.0.8.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | kafka: 4 | image: wurstmeister/kafka:0.8.2.2-1 5 | environment: 6 | KAFKA_BROKER_ID: "01" 7 | 8 | -------------------------------------------------------------------------------- /packages/stream/kafka/docker/docker-compose.0.9.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | kafka: 4 | image: wurstmeister/kafka:0.9.0.1 5 | -------------------------------------------------------------------------------- /packages/stream/kafka/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const KafkaProvider = require('./src/KafkaProvider'); 12 | 13 | module.exports = { 14 | Provider: KafkaProvider 15 | }; 16 | -------------------------------------------------------------------------------- /packages/stream/kafka/src/KafkaFunctions.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | module.exports = { 12 | COMMAND: 'KAFKA.COMMAND', 13 | QUERY: 'KAFKA.QUERY' 14 | }; -------------------------------------------------------------------------------- /packages/stream/kafka/test/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "jasmine": true 4 | }, 5 | "rules": { 6 | "no-console": "off", 7 | "no-unused-vars": "warn" 8 | } 9 | } -------------------------------------------------------------------------------- /packages/stream/mail-pop3/README.md: -------------------------------------------------------------------------------- 1 | # stream-mail-pop3 2 | 3 | Classes for the POP3 stream. 4 | -------------------------------------------------------------------------------- /packages/stream/mail-pop3/test/smtpserver/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | module.exports = { 12 | rules: { 13 | 'no-console': 0, 14 | } 15 | }; -------------------------------------------------------------------------------- /packages/stream/mail-pop3/test/smtpserver/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const { run } = require('./server'); 12 | 13 | run((msg) => { console.log(JSON.stringify(msg, null, 2)); }); 14 | -------------------------------------------------------------------------------- /packages/stream/mail-smtp/README.md: -------------------------------------------------------------------------------- 1 | # stream-mail-smtp 2 | 3 | Classes for the SMTP stream. 4 | -------------------------------------------------------------------------------- /packages/stream/mail-smtp/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const SmtpProvider = require('./src/SmtpProvider'); 12 | const SmtpProviderConfiguration = require('./src/SmtpProviderConfiguration'); 13 | 14 | module.exports = { 15 | Provider: SmtpProvider, 16 | SmtpProviderConfiguration 17 | }; 18 | -------------------------------------------------------------------------------- /packages/stream/mail-smtp/test/smtpserver/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const { run } = require('./server'); 12 | 13 | // eslint-disable-next-line no-console 14 | run((msg) => { console.log(JSON.stringify(msg, null, 2)); }); 15 | -------------------------------------------------------------------------------- /packages/stream/mongodb/README.md: -------------------------------------------------------------------------------- 1 | # stream-mongodb 2 | 3 | Classes for the MongoDB stream. 4 | -------------------------------------------------------------------------------- /packages/stream/mongodb/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const MongoDBProvider = require('./src/MongoDBProvider'); 12 | 13 | module.exports = { 14 | Provider: MongoDBProvider 15 | }; 16 | -------------------------------------------------------------------------------- /packages/stream/mongodb/src/MongoDBFunctions.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | module.exports = { 12 | STORE: 'MONGO.STORE', 13 | REPLACE: 'MONGO.REPLACE', 14 | QUERY: 'MONGO.QUERY', 15 | DELETE: 'MONGO.DELETE', 16 | AGGREGATE: 'MONGO.AGGREGATE', 17 | COUNT: 'MONGO.COUNT' 18 | }; 19 | -------------------------------------------------------------------------------- /packages/stream/mongodb/test/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "jasmine": true 4 | }, 5 | "rules": { 6 | "no-console": "off", 7 | "no-unused-vars": "warn" 8 | } 9 | } -------------------------------------------------------------------------------- /packages/stream/mqtt/README.md: -------------------------------------------------------------------------------- 1 | # stream-mqtt 2 | 3 | Classes for the MQTT stream. 4 | -------------------------------------------------------------------------------- /packages/stream/mqtt/test/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "jasmine": true 4 | }, 5 | "rules": { 6 | "no-console": "off", 7 | "no-unused-vars": "warn" 8 | } 9 | } -------------------------------------------------------------------------------- /packages/stream/mqtt/test/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.1' 2 | 3 | services: 4 | mosquitto5: 5 | image: ralight/mosquitto:mqtt5-test2 6 | container_name: mosquitto5 7 | ports: 8 | - 1883:1883 9 | expose: 10 | - 1883 11 | logging: 12 | driver: "none" 13 | -------------------------------------------------------------------------------- /packages/stream/rest-client/README.md: -------------------------------------------------------------------------------- 1 | # stream-rest-client 2 | 3 | Classes for the REST client stream. 4 | -------------------------------------------------------------------------------- /packages/stream/rest-client/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const RestClientProvider = require('./src/RestClientProvider'); 12 | 13 | module.exports = { 14 | Provider: RestClientProvider 15 | }; 16 | -------------------------------------------------------------------------------- /packages/stream/toit/README.md: -------------------------------------------------------------------------------- 1 | # stream-toit 2 | 3 | Classes for the Toit stream. 4 | -------------------------------------------------------------------------------- /packages/stubs/jsg-extensions/core/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const { SheetPlotNode } = require('./SheetPlotNode'); 12 | 13 | module.exports = { 14 | SheetPlotNode 15 | }; 16 | -------------------------------------------------------------------------------- /packages/stubs/service-machines-extensions/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const resolveAdditionalFunctions = require('./src/resolveAdditionalFunctions'); 12 | 13 | module.exports = { 14 | resolveAdditionalFunctions 15 | }; 16 | -------------------------------------------------------------------------------- /packages/stubs/service-machines-extensions/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@cedalo/service-machines-extensions", 3 | "version": "2.4.0", 4 | "description": "Service Machines Extensions", 5 | "main": "index.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "git+https://github.com/cedalo/streamsheets.git" 9 | }, 10 | "author": "Cedalo AG", 11 | "bugs": { 12 | "url": "https://github.com/cedalo/streamsheets/issues" 13 | }, 14 | "dependencies": {}, 15 | "peerDependencies": { 16 | "@cedalo/commons": "2.4.0", 17 | "@cedalo/logger": "2.4.0" 18 | }, 19 | "license": "EPL-2.0" 20 | } 21 | -------------------------------------------------------------------------------- /packages/stubs/service-machines-extensions/src/resolveAdditionalFunctions.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const resolveAdditionalFunctions = () => Promise.resolve([]); 12 | 13 | module.exports = resolveAdditionalFunctions; 14 | -------------------------------------------------------------------------------- /packages/stubs/webui-extensions/src/AdminNavigationExtensions.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | export function AdminNavigationExtensions() { 12 | return null; 13 | } 14 | -------------------------------------------------------------------------------- /packages/stubs/webui-extensions/src/MainDrawerExtensions/FileSection.js: -------------------------------------------------------------------------------- 1 | export default function FileSection() { 2 | return null; 3 | } 4 | -------------------------------------------------------------------------------- /packages/stubs/webui-extensions/src/MainDrawerExtensions/ImportSection.js: -------------------------------------------------------------------------------- 1 | export default function ImportSection() { 2 | return null; 3 | } 4 | -------------------------------------------------------------------------------- /packages/stubs/webui-extensions/src/MainDrawerExtensions/PreviewSection.js: -------------------------------------------------------------------------------- 1 | export default function PreviewSection() { 2 | return null; 3 | } 4 | -------------------------------------------------------------------------------- /packages/stubs/webui-extensions/src/MainDrawerExtensions/StreamSection.js: -------------------------------------------------------------------------------- 1 | import Divider from '@material-ui/core/Divider'; 2 | import React from 'react'; 3 | import WebhookServerSettingsMenuItem from '../webhook-server/WebhookServerSettingsMenuItem'; 4 | 5 | function StreamSection({ isMachineDetailPage }) { 6 | return isMachineDetailPage ? ( 7 | 8 | 9 | 10 | 11 | ) : null; 12 | } 13 | 14 | export default StreamSection; 15 | -------------------------------------------------------------------------------- /packages/stubs/webui-extensions/src/MainDrawerExtensions/index.js: -------------------------------------------------------------------------------- 1 | import FileSection from './FileSection'; 2 | import ImportSection from './ImportSection'; 3 | import PreviewSection from './PreviewSection'; 4 | import StreamSection from './StreamSection'; 5 | 6 | export { FileSection, ImportSection, PreviewSection, StreamSection }; 7 | -------------------------------------------------------------------------------- /packages/stubs/webui-extensions/src/PluginExtensions.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | export function PluginExtensions() { 12 | return null; 13 | } 14 | -------------------------------------------------------------------------------- /packages/stubs/webui-extensions/src/RoutesExtensions.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | export function RoutesExtensions() { 12 | return null; 13 | } 14 | -------------------------------------------------------------------------------- /packages/stubs/webui-extensions/src/ToolbarExtensions.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | import React from 'react'; 12 | 13 | export function ToolbarExtensions() { 14 | return ( 15 |
21 | ); 22 | } 23 | -------------------------------------------------------------------------------- /packages/stubs/webui-extensions/src/WorkspaceSelect.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | export const WorkspaceSelect = () => null; 12 | -------------------------------------------------------------------------------- /packages/stubs/webui-extensions/src/pages/UserPropTypes.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | import PropTypes from 'prop-types'; 12 | 13 | export const userShape = PropTypes.shape({ 14 | username: PropTypes.string, 15 | lastModified: PropTypes.string, 16 | }); 17 | -------------------------------------------------------------------------------- /packages/stubs/webui-extensions/src/pages/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | export * from './UpdateUserPage'; 12 | export * from './CreateUserPage'; 13 | export * from './UserTablePage'; 14 | -------------------------------------------------------------------------------- /packages/util/README.md: -------------------------------------------------------------------------------- 1 | # util 2 | 3 | Utility classes. 4 | -------------------------------------------------------------------------------- /packages/util/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const StringUtil = require('./src/String'); 12 | const ArrayUtil = require('./src/Array'); 13 | 14 | module.exports = { 15 | StringUtil, 16 | ArrayUtil 17 | }; 18 | -------------------------------------------------------------------------------- /packages/webcomponent/demo/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage 2 | dist 3 | node_modules 4 | -------------------------------------------------------------------------------- /packages/webcomponent/demo/.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | node_modules -------------------------------------------------------------------------------- /packages/webcomponent/demo/.prettierignore: -------------------------------------------------------------------------------- 1 | package-lock.json 2 | node_modules/ -------------------------------------------------------------------------------- /packages/webcomponent/streammachine/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage 2 | dist 3 | -------------------------------------------------------------------------------- /packages/webcomponent/streammachine/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webcomponent/streammachine/README.md -------------------------------------------------------------------------------- /packages/webcomponent/streammachine/test/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "jasmine": true 4 | }, 5 | "rules": { 6 | "no-console": "off", 7 | "no-unused-vars": "warn" 8 | } 9 | } -------------------------------------------------------------------------------- /packages/webcomponent/streamsheet-connection/.babelrc.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | module.exports = { 12 | presets: ['@babel/preset-env'] 13 | }; 14 | -------------------------------------------------------------------------------- /packages/webcomponent/streamsheet-connection/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage 2 | dist 3 | node_modules 4 | -------------------------------------------------------------------------------- /packages/webcomponent/streamsheet-connection/.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | node_modules -------------------------------------------------------------------------------- /packages/webcomponent/streamsheet-connection/.prettierignore: -------------------------------------------------------------------------------- 1 | package-lock.json 2 | node_modules/ -------------------------------------------------------------------------------- /packages/webcomponent/streamsheet-connection/src/Credentials.ts: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | type Credentials = { 12 | username?: string | null, 13 | password?: string | null, 14 | token?: string | null 15 | } 16 | 17 | export default Credentials; -------------------------------------------------------------------------------- /packages/webcomponent/streamsheet-connection/src/Events.ts: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | export type EventMessage = { 12 | type: string; 13 | [idx: string]: any; 14 | }; 15 | 16 | export type EventHandler = (ev: EventMessage) => void; 17 | -------------------------------------------------------------------------------- /packages/webcomponent/streamsheet-connection/src/IMachineJSON.ts: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | interface IMachineJSON { 12 | id: string; 13 | name: string; 14 | state: string; 15 | } 16 | 17 | export default IMachineJSON; -------------------------------------------------------------------------------- /packages/webcomponent/streamsheet-connection/src/utils/cast.ts: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const elementToType = (el?: Element | null, cond?: (el: Element) => boolean): T | undefined => 12 | el && cond && cond(el) ? (el as T) : undefined; 13 | 14 | export default { elementToType }; -------------------------------------------------------------------------------- /packages/webcomponent/streamsheet-connection/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | import cast from './cast'; 12 | import property from './property'; 13 | import traverse from './traverse'; 14 | import validate from './validate'; 15 | 16 | export default { cast, property, traverse, validate }; 17 | -------------------------------------------------------------------------------- /packages/webcomponent/streamsheet-connection/src/utils/validate.ts: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | const tagName = (element?: Element | null, name?: string): boolean => 12 | !!name && !!element && element.tagName.toLowerCase() === name; 13 | 14 | 15 | export default { tagName }; -------------------------------------------------------------------------------- /packages/webui-components/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | import MenuGroup from './src/MenuGroup'; 12 | import MenuEntry from './src/MenuEntry'; 13 | 14 | export { 15 | MenuGroup, 16 | MenuEntry 17 | } 18 | -------------------------------------------------------------------------------- /packages/webui-components/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@cedalo/webui-components", 3 | "version": "2.4.0", 4 | "description": "Web UI Components", 5 | "main": "index.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "git+https://github.com/cedalo/streamsheets.git" 9 | }, 10 | "author": "Cedalo AG", 11 | "bugs": { 12 | "url": "https://github.com/cedalo/streamsheets/issues" 13 | }, 14 | "dependencies": { 15 | }, 16 | "peerDependencies": { 17 | "@material-ui/core": "4.9.11", 18 | "@material-ui/icons": "4.9.1", 19 | "react": "^16.12.0", 20 | "react-intl": "^2.4.0", 21 | "react-redux": "^5.0.6", 22 | "react-router-dom": "^5.2.0", 23 | "redux": "^3.7.2" 24 | }, 25 | "license": "EPL-2.0" 26 | } 27 | -------------------------------------------------------------------------------- /packages/webui/.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% in DE 2 | > 2% in US 3 | not dead 4 | not ie 11 -------------------------------------------------------------------------------- /packages/webui/.eslintignore: -------------------------------------------------------------------------------- 1 | # TODO adjust, its maybe to much... 2 | build 3 | config 4 | public 5 | scripts 6 | node_modules -------------------------------------------------------------------------------- /packages/webui/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:12.4.0-alpine 2 | 3 | RUN mkdir -p /app 4 | RUN npm i -g pushstate-server@3.0.1 5 | WORKDIR /app 6 | 7 | COPY ./build . 8 | 9 | EXPOSE 9000 10 | 11 | CMD [ "pushstate-server", "./" ] -------------------------------------------------------------------------------- /packages/webui/README.md: -------------------------------------------------------------------------------- 1 | # webui 2 | 3 | Frontend for streamsheets 4 | -------------------------------------------------------------------------------- /packages/webui/licenses/license_DE.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/licenses/license_DE.pdf -------------------------------------------------------------------------------- /packages/webui/licenses/license_EN.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/licenses/license_EN.pdf -------------------------------------------------------------------------------- /packages/webui/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/favicon.ico -------------------------------------------------------------------------------- /packages/webui/public/faviconold.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/faviconold.ico -------------------------------------------------------------------------------- /packages/webui/public/images/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/avatar.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/area.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/area.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/areastacked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/areastacked.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/areastacked100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/areastacked100.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/bar.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/barstacked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/barstacked.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/barstacked100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/barstacked100.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/boxplot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/boxplot.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/bubble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/bubble.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/column.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/column.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/columnstacked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/columnstacked.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/columnstacked100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/columnstacked100.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/doughnut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/doughnut.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/funnel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/funnel.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/funnelbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/funnelbar.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/funnelhorz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/funnelhorz.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/funnelhorzcolumn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/funnelhorzcolumn.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/gauge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/gauge.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/gauge23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/gauge23.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/gaugepointer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/gaugepointer.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/gaugevalue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/gaugevalue.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/halfpie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/halfpie.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/heatmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/heatmap.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/line.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/linestacked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/linestacked.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/linestacked100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/linestacked100.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/linestep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/linestep.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/map.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/pie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/pie.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/pie3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/pie3d.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/profile.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/scatterline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/scatterline.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/scatterlinemarker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/scatterlinemarker.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/scattermarker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/scattermarker.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/statecolumn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/statecolumn.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/stateperiod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/stateperiod.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/statetime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/statetime.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/stockhlc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/stockhlc.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/stockohlc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/stockohlc.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/stockvhlc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/stockvhlc.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/stockvohlc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/stockvohlc.png -------------------------------------------------------------------------------- /packages/webui/public/images/charts/waterfall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/charts/waterfall.png -------------------------------------------------------------------------------- /packages/webui/public/images/connector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/connector.png -------------------------------------------------------------------------------- /packages/webui/public/images/consumer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/consumer.png -------------------------------------------------------------------------------- /packages/webui/public/images/flags/de.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /packages/webui/public/images/loginbg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/loginbg.png -------------------------------------------------------------------------------- /packages/webui/public/images/mainbg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/mainbg.jpg -------------------------------------------------------------------------------- /packages/webui/public/images/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/preview.png -------------------------------------------------------------------------------- /packages/webui/public/images/producer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/images/producer.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/columnsize.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/columnsize.cur -------------------------------------------------------------------------------- /packages/webui/public/lib/res/columnsize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/columnsize.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/cross.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/cross.cur -------------------------------------------------------------------------------- /packages/webui/public/lib/res/cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/cross.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/css/jsg.css: -------------------------------------------------------------------------------- 1 | .jsg-item-menu { 2 | background-color: rgba(0,0,0,0); 3 | box-sizing: border-box; 4 | display: table; 5 | min-height: 24px; 6 | min-width: 24px; 7 | overflow: hidden; 8 | position: absolute; 9 | } 10 | .jsg-item-menu-row { 11 | background-color: rgba(0,0,0,0); 12 | display: table-row; 13 | /*position: absolute;*/ 14 | /*box-sizing: border-box;*/ 15 | } 16 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/deny.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/deny.cur -------------------------------------------------------------------------------- /packages/webui/public/lib/res/deny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/deny.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/arrowdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/arrowdown.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/arrowleft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/arrowleft.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/arrowright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/arrowright.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/arrowup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/arrowup.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/bold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/bold.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/bullets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/bullets.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/centeralign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/centeralign.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/collapsed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/collapsed.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/expanded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/expanded.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/fontcolor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/fontcolor.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/fontsizedown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/fontsizedown.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/fontsizeup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/fontsizeup.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/italic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/italic.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/leftalign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/leftalign.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/linestyledash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/linestyledash.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/linestyledashdot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/linestyledashdot.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/linestyledashdotdot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/linestyledashdotdot.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/linestyledot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/linestyledot.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/linestylenone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/linestylenone.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/linestylesolid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/linestylesolid.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/lineswidth025.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/lineswidth025.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/lineswidth05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/lineswidth05.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/lineswidth075.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/lineswidth075.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/lineswidth1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/lineswidth1.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/lineswidth100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/lineswidth100.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/lineswidth200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/lineswidth200.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/lineswidth300.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/lineswidth300.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/lineswidth400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/lineswidth400.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/notavailable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/notavailable.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/numbered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/numbered.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/rightalign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/rightalign.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/treechecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/treechecked.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/treeunchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/treeunchecked.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/images/underline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/images/underline.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/rotate.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/rotate.cur -------------------------------------------------------------------------------- /packages/webui/public/lib/res/rotate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/rotate.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/rowsize.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/rowsize.cur -------------------------------------------------------------------------------- /packages/webui/public/lib/res/rowsize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/rowsize.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/sheet.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/sheet.cur -------------------------------------------------------------------------------- /packages/webui/public/lib/res/sheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/sheet.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/sheetcolumn.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/sheetcolumn.cur -------------------------------------------------------------------------------- /packages/webui/public/lib/res/sheetcolumn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/sheetcolumn.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/sheetrow.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/sheetrow.cur -------------------------------------------------------------------------------- /packages/webui/public/lib/res/sheetrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/sheetrow.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/splith.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/splith.cur -------------------------------------------------------------------------------- /packages/webui/public/lib/res/splith.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/splith.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/splitv.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/splitv.cur -------------------------------------------------------------------------------- /packages/webui/public/lib/res/splitv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/lib/res/splitv.png -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/add.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/arrowdown.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/arrowup.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/button.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | OK 4 | 5 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/checkbox.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/checked.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/columnmenu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/delete.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/edge.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/edit.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/filter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/hvedge.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/knob.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/label.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | Title 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/laneaddafter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/laneaddbefore.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/lanesplit_2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/lanesplit_3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/layout2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/layout3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/layout4.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/layout5.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/layout6.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/rowmenu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/select.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/sheet.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/slider.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/table.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/textedit.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/textview.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/lib/res/svg/unchecked.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webui/public/license_DE.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/license_DE.pdf -------------------------------------------------------------------------------- /packages/webui/public/license_EN.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/license_EN.pdf -------------------------------------------------------------------------------- /packages/webui/public/resources/deletesheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/resources/deletesheet.png -------------------------------------------------------------------------------- /packages/webui/public/resources/loop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/resources/loop.png -------------------------------------------------------------------------------- /packages/webui/public/resources/maximize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/resources/maximize.png -------------------------------------------------------------------------------- /packages/webui/public/resources/minimize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/resources/minimize.png -------------------------------------------------------------------------------- /packages/webui/public/resources/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/resources/settings.png -------------------------------------------------------------------------------- /packages/webui/public/resources/settings_org.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/resources/settings_org.png -------------------------------------------------------------------------------- /packages/webui/public/resources/statuserror.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/resources/statuserror.png -------------------------------------------------------------------------------- /packages/webui/public/resources/statusok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/resources/statusok.png -------------------------------------------------------------------------------- /packages/webui/public/resources/statuswarning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/resources/statuswarning.png -------------------------------------------------------------------------------- /packages/webui/public/resources/t1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/resources/t1.png -------------------------------------------------------------------------------- /packages/webui/public/resources/t2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/resources/t2.png -------------------------------------------------------------------------------- /packages/webui/public/resources/t3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/resources/t3.png -------------------------------------------------------------------------------- /packages/webui/public/resources/t4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/public/resources/t4.png -------------------------------------------------------------------------------- /packages/webui/scripts/deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "deploying webui" 4 | echo "building docker image using tag $1" 5 | docker build -t cedalo/webui:$1 . 6 | echo "logging into docker hub" 7 | docker login -u $DOCKER_USER -p $DOCKER_PASSWORD 8 | echo "pushing image \"cedalo/webui:$1\"" 9 | docker push cedalo/webui:$1 10 | echo "done" 11 | 12 | if [ $TRAVIS_TAG ] 13 | then 14 | echo "building docker image using tag $TRAVIS_TAG" 15 | docker build -t cedalo/webui:$TRAVIS_TAG . 16 | echo "logging into docker hub" 17 | docker login -u $DOCKER_USER -p $DOCKER_PASSWORD 18 | echo "pushing image \"cedalo/webui:$TRAVIS_TAG\"" 19 | docker push cedalo/webui:$TRAVIS_TAG 20 | echo "done" 21 | fi 22 | -------------------------------------------------------------------------------- /packages/webui/src/App.test.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | import React from 'react'; 12 | import ReactDOM from 'react-dom'; 13 | import App from './App'; 14 | 15 | it('renders without crashing', () => { 16 | const div = document.createElement('div'); 17 | ReactDOM.render(, div); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/webui/src/constants/Constants.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | export default { 12 | RESOURCE_MENU_IDS: { 13 | EDIT: 0, 14 | DELETE: 1, 15 | OPEN: 2, 16 | START: 3, 17 | STOP: 4, 18 | PAUSE: 5, 19 | EXPORT: 6, 20 | CLONE: 7, 21 | SET_TITLE_IMAGE: 8, 22 | } 23 | }; 24 | -------------------------------------------------------------------------------- /packages/webui/src/constants/WSTypes.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | export const CONNECT = 'connect'; 12 | export const DISCONNECT = 'disconnect'; 13 | 14 | export const RECONNECT = 'RECONNECT'; 15 | export const RECONNECT_TIMER_DECR = 'RECONNECT_TIMER_DECR'; 16 | -------------------------------------------------------------------------------- /packages/webui/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | padding: 0; 4 | font-family: sans-serif; 5 | overflow: hidden; 6 | } 7 | span { 8 | font-size: unset; 9 | } 10 | -------------------------------------------------------------------------------- /packages/webui/src/pages/index.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | export * from './DashboardPage'; 12 | export * from './ExportPage'; 13 | -------------------------------------------------------------------------------- /packages/webui/src/reducers/machineSettingsReducer.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ 11 | -------------------------------------------------------------------------------- /packages/webui/src/resources/statuserror.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/src/resources/statuserror.png -------------------------------------------------------------------------------- /packages/webui/src/resources/statusok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/src/resources/statusok.png -------------------------------------------------------------------------------- /packages/webui/src/resources/statuswarning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-streamsheets/streamsheets/0a1df713edfcf94dcd888be8aca5bdd99e581639/packages/webui/src/resources/statuswarning.png -------------------------------------------------------------------------------- /scripts/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | rules: { 3 | 'no-console': 0 4 | } 5 | }; 6 | -------------------------------------------------------------------------------- /scripts/Dockerfile.contextholder: -------------------------------------------------------------------------------- 1 | FROM busybox 2 | 3 | COPY .yarnrc package.json yarn.lock ./scripts/workspace-util.js /build/ 4 | COPY ./npm-packages-offline-cache /build/npm-packages-offline-cache 5 | COPY ./packages ./packages-with-source 6 | 7 | COPY ./packagejsons /build 8 | -------------------------------------------------------------------------------- /scripts/build-contextholder.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | rm -rf ./packagejsons* 4 | mkdir -p packagejsons 5 | tar cf packagejsons.tar packages/*/package.json packages/*/*/package.json 6 | tar xf packagejsons.tar -C packagejsons 7 | docker build . -f scripts/Dockerfile.contextholder -t contextholder 8 | rm -rf ./packagejsons 9 | -------------------------------------------------------------------------------- /scripts/changed-packages.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | /* eslint-disable no-console */ 4 | const cp = require('child_process'); 5 | const argv = require('yargs').argv; 6 | 7 | const branch = argv.branch || 'master'; 8 | 9 | const workspaceInfo = JSON.parse(cp.execSync('yarn workspaces -s info')); 10 | const workspaceInfoEntries = Object.entries(workspaceInfo); 11 | 12 | workspaceInfoEntries.forEach(([name, { location }]) => { 13 | const result = cp 14 | .execSync(`git diff --name-only ${branch} ${location}`) 15 | .toString() 16 | .trim(); 17 | 18 | if (result) { 19 | console.log(name); 20 | } 21 | }); 22 | -------------------------------------------------------------------------------- /scripts/copyright-header.txt: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | * Copyright (c) 2020 Cedalo AG 3 | * 4 | * This program and the accompanying materials are made available under the 5 | * terms of the Eclipse Public License 2.0 which is available at 6 | * http://www.eclipse.org/legal/epl-2.0. 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | * 10 | ********************************************************************************/ -------------------------------------------------------------------------------- /scripts/i18n.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const argv = require('yargs').argv; 3 | 4 | const pathEN = argv.en; 5 | const pathDE = argv.de; 6 | 7 | const keysEN = Object.keys(JSON.parse(fs.readFileSync(pathEN))); 8 | const keysDE = Object.keys(JSON.parse(fs.readFileSync(pathDE))); 9 | 10 | const keys = (keys1, keys2) => keys1.filter(key => !keys2.includes(key)); 11 | 12 | const keysNotIncludedInEN = keys(keysDE, keysEN); 13 | const keysNotIncludedInDE = keys(keysEN, keysDE); 14 | 15 | console.log('Keys not included in EN file:') 16 | console.log(keysNotIncludedInEN); 17 | 18 | console.log('Keys not included in DE file:') 19 | console.log(keysNotIncludedInDE); 20 | -------------------------------------------------------------------------------- /scripts/set-version.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | 4 | FROM=$1 5 | TO=$2 6 | 7 | find packages -path '*/node_modules' -prune -o -name package.json \ 8 | -exec sed -i 's_"version": "'$FROM'"_"version": "'$TO'"_g' {} \; \ 9 | -exec sed -i 's_"\(\@cedalo/[^"]*\)": "'$FROM'"_"\1": "'$TO'"_g' {} \; 10 | -------------------------------------------------------------------------------- /scripts/tag-latest.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const cp = require('child_process'); 4 | const argv = require('yargs').argv; 5 | 6 | const fromImageTag = argv.fromImageTag || 'latest'; 7 | 8 | const fromImage = `cedalo/streamsheets:${fromImageTag}`; 9 | const toImage = `cedalo/streamsheets:latest`; 10 | 11 | try { 12 | console.log(`Pulling image ${fromImage}`); 13 | cp.execSync(`docker pull ${fromImage}`, { stdio: 'inherit' }); 14 | console.log(`Tagging image ${toImage}`); 15 | cp.execSync(`docker tag ${fromImage} ${toImage}`, { stdio: 'inherit' }); 16 | console.log(`Pushing image ${toImage}`); 17 | cp.execSync(`docker push ${toImage}`, { stdio: 'inherit' }); 18 | } catch (error) { 19 | process.exit(1); 20 | } 21 | --------------------------------------------------------------------------------