├── .angular-cli.json ├── .appveyor.yml ├── .changelogrc ├── .editorconfig ├── .git-commit-template ├── .gitignore ├── .storybook └── config.js ├── .travis.yml ├── CONTRIBUTING.md ├── LICENSE ├── NOTICE.md ├── README.md ├── build-resources ├── icon.icns └── icon.ico ├── build-scripts ├── bundle-executor.js ├── notarize.js └── splash-copy.js ├── doc ├── dev │ └── coding-style-guide.md └── images │ ├── visual_text.gif │ └── workflows.gif ├── electron-build.js ├── electron ├── config │ └── entitlements.mac.plist ├── main.prod.ts ├── main.ts ├── package-lock.json ├── package.json ├── rabix-icon.icns ├── src │ ├── accelerator-proxy.spec.ts │ ├── accelerator-proxy.ts │ ├── constants.ts │ ├── controllers │ │ ├── accelerator.controller.ts │ │ ├── execution-results.controller.ts │ │ ├── fs.controller.spec.ts │ │ ├── fs.controller.ts │ │ ├── open-external-file │ │ │ ├── deep-linking-protocol-controller.ts │ │ │ └── open-file-handler-controller.ts │ │ ├── public-api.controller.ts │ │ ├── search.controller.ts │ │ └── swap.controller.ts │ ├── gateways │ │ └── platform.gateway.ts │ ├── github-api-client │ │ ├── github-client.ts │ │ └── interfaces │ │ │ └── github-release.ts │ ├── interfaces │ │ └── interfaces.ts │ ├── ipc-router.spec.ts │ ├── ipc-router.ts │ ├── logger │ │ ├── index.ts │ │ └── logger.ts │ ├── main.common.ts │ ├── open-external-file-proxy.ts │ ├── rabix-executor │ │ ├── .gitignore │ │ ├── execution.ts │ │ ├── executor-output.ts │ │ ├── rabix-executor.ts │ │ └── test-resources │ │ │ └── hello-world │ │ │ ├── app.job.yaml │ │ │ └── app.yaml │ ├── register-protocols.ts │ ├── routes.ts │ ├── sbg-api-client │ │ ├── interfaces │ │ │ ├── app.ts │ │ │ ├── index.ts │ │ │ ├── project.ts │ │ │ ├── queries.ts │ │ │ ├── raw-app.ts │ │ │ ├── revision.ts │ │ │ └── user.ts │ │ ├── query-builder │ │ │ └── query-builder.ts │ │ └── sbg-client.ts │ ├── schema-salad-resolver │ │ ├── errors │ │ │ └── recursive-nesting.error.ts │ │ ├── schema-salad-resolver.spec.ts │ │ └── schema-salad-resolver.ts │ ├── splash │ │ └── index.html │ ├── storage │ │ ├── data-repository.spec.ts │ │ ├── data-repository.ts │ │ ├── hooks │ │ │ ├── executor-config-hook.ts │ │ │ └── repository-hook.ts │ │ ├── repository-healer.ts │ │ └── types │ │ │ ├── app-meta.ts │ │ │ ├── executor-config.ts │ │ │ ├── local-repository.ts │ │ │ ├── proxy-settings.ts │ │ │ ├── recent-app-tab.ts │ │ │ ├── repository-type.ts │ │ │ ├── tab-data-interface.ts │ │ │ └── user-repository.ts │ ├── test │ │ ├── recursive-workflow-stub.json │ │ └── tool-stub.json │ ├── tslint.json │ └── workers │ │ └── fuzzy-search-worker.ts ├── tsconfig.json └── yarn.lock ├── karma.conf.js ├── package-lock.json ├── package.json ├── spectron ├── core │ ├── circular-dependency │ │ └── circular-dependency.func.ts │ ├── dirty-checking │ │ ├── dirty-checking.func.ts │ │ └── stub │ │ │ ├── local-file.json │ │ │ ├── local-tool.json │ │ │ ├── local-workflow.json │ │ │ ├── platform-tool.json │ │ │ └── platform-workflow.json │ ├── layout │ │ └── settings-menu │ │ │ └── settings-menu.func.ts │ ├── publishing │ │ ├── app-publishing.func.ts │ │ └── stub │ │ │ └── demo-app.json │ └── release-update │ │ └── release-update-notification.func.ts └── util │ ├── generator.ts │ ├── partial-proxy.ts │ ├── sbg-client-proxy.ts │ └── util.ts ├── src ├── app │ ├── app.module.ts │ ├── auth │ │ ├── auth.module.ts │ │ ├── auth.service.spec.ts │ │ ├── auth.service.ts │ │ ├── credentials-registry.ts │ │ └── model │ │ │ ├── auth-credentials.ts │ │ │ └── user-platform-identifier.ts │ ├── components │ │ └── main │ │ │ ├── main.component.scss │ │ │ └── main.component.ts │ ├── core │ │ ├── actions │ │ │ └── core.actions.ts │ │ ├── app-meta │ │ │ ├── app-meta-manager-factory.ts │ │ │ └── app-meta-manager.ts │ │ ├── auth │ │ │ ├── platform-connection-info.ts │ │ │ └── platform-connection.service.ts │ │ ├── code-content-service │ │ │ └── code-content.service.ts │ │ ├── core.module.ts │ │ ├── data-gateway │ │ │ ├── data-gateway.service.ts │ │ │ └── data-types │ │ │ │ └── local.types.ts │ │ ├── error-report │ │ │ ├── error-report.component.scss │ │ │ ├── error-report.component.ts │ │ │ └── modal-error-handler.ts │ │ ├── event-hub │ │ │ ├── app-event.ts │ │ │ └── event-hub.service.ts │ │ ├── factories │ │ │ └── app-model-provider-factory.ts │ │ ├── forms │ │ │ └── helpers │ │ │ │ ├── form-array-helpers.ts │ │ │ │ └── form-async-validator.ts │ │ ├── global │ │ │ └── global.service.ts │ │ ├── helpers │ │ │ ├── AppHelper.ts │ │ │ └── error-wrapper.ts │ │ ├── layout-tab-content │ │ │ └── layout-tab-content.component.scss │ │ ├── layout │ │ │ ├── layout.component.scss │ │ │ ├── layout.component.spec.ts │ │ │ ├── layout.component.ts │ │ │ ├── layout.service.spec.ts │ │ │ └── layout.service.ts │ │ ├── logo │ │ │ ├── logo.component.scss │ │ │ └── logo.component.ts │ │ ├── modals │ │ │ ├── about-page-modal │ │ │ │ ├── about-page-modal.component.ts │ │ │ │ └── about-page.modal.component.scss │ │ │ ├── add-source-modal │ │ │ │ ├── add-source-modal.component.scss │ │ │ │ └── add-source-modal.component.ts │ │ │ ├── closing-dirty-apps │ │ │ │ ├── closing-dirty-apps-modal.component.scss │ │ │ │ └── closing-dirty-apps-modal.component.ts │ │ │ ├── create-app-modal │ │ │ │ ├── create-app-modal.component.scss │ │ │ │ └── create-app-modal.component.ts │ │ │ ├── create-local-folder-modal │ │ │ │ ├── create-local-folder-modal.component.scss │ │ │ │ └── create-local-folder-modal.component.ts │ │ │ ├── hints-modal │ │ │ │ ├── hints-modal.component.scss │ │ │ │ └── hints-modal.component.ts │ │ │ ├── platform-credentials-modal │ │ │ │ ├── platform-credentials-modal.component.scss │ │ │ │ ├── platform-credentials-modal.component.spec.ts │ │ │ │ └── platform-credentials-modal.component.ts │ │ │ ├── proceed-to-editing-modal │ │ │ │ └── proceed-to-editing-modal.component.ts │ │ │ ├── publish-modal │ │ │ │ ├── publish-modal.component.scss │ │ │ │ └── publish-modal.component.ts │ │ │ ├── send-feedback-modal │ │ │ │ ├── send-feedback.modal.component.scss │ │ │ │ └── send-feedback.modal.component.ts │ │ │ └── update-platform-modal │ │ │ │ ├── update-platform-modal.component.scss │ │ │ │ └── update-platform-modal.component.ts │ │ ├── onboarding │ │ │ ├── getting-started.component.scss │ │ │ ├── getting-started.component.spec.ts │ │ │ ├── getting-started.component.ts │ │ │ ├── welcome.component.scss │ │ │ ├── welcome.component.spec.ts │ │ │ └── welcome.component.ts │ │ ├── open-external-file │ │ │ └── open-external-file.service.ts │ │ ├── panels │ │ │ ├── apps-panel │ │ │ │ ├── apps-panel.component.scss │ │ │ │ └── apps-panel.component.ts │ │ │ ├── common │ │ │ │ └── apps-panel.service.ts │ │ │ ├── my-apps-panel │ │ │ │ ├── my-apps-panel.component.html │ │ │ │ ├── my-apps-panel.component.scss │ │ │ │ ├── my-apps-panel.component.ts │ │ │ │ └── my-apps-panel.service.ts │ │ │ ├── nav-search-result │ │ │ │ ├── nav-search-result.component.scss │ │ │ │ └── nav-search-result.component.ts │ │ │ ├── panel-container │ │ │ │ ├── panel-container.component.scss │ │ │ │ └── panel-container.component.ts │ │ │ └── public-apps-panel │ │ │ │ ├── public-apps-panel.component.scss │ │ │ │ ├── public-apps-panel.component.ts │ │ │ │ └── public-apps-panel.service.ts │ │ ├── tab-components │ │ │ └── new-file-tab.component │ │ │ │ ├── new-file-tab.component.scss │ │ │ │ ├── new-file-tab.component.spec.ts │ │ │ │ ├── new-file-tab.component.ts │ │ │ │ └── new-file-tab.service.ts │ │ ├── web-worker │ │ │ ├── web-worker-builder.service.ts │ │ │ └── web-worker.ts │ │ └── workbox │ │ │ ├── app-tab-data.ts │ │ │ ├── settings-menu.component.scss │ │ │ ├── settings-menu.component.ts │ │ │ ├── workbox-tab.component.scss │ │ │ ├── workbox-tab.component.ts │ │ │ ├── workbox-tab.interface.ts │ │ │ ├── workbox.component.scss │ │ │ ├── workbox.component.ts │ │ │ └── workbox.service.ts │ ├── cwl │ │ ├── app-generator │ │ │ └── app-generator.service.ts │ │ ├── cwl.module.ts │ │ ├── external-links.ts │ │ └── pipes │ │ │ ├── command-input-binding.pipe.ts │ │ │ ├── command-output-glob.pipe.ts │ │ │ └── command-parameter-type.pipe.ts │ ├── editor-common │ │ ├── app-editor-base │ │ │ ├── app-editor-base.scss │ │ │ └── app-editor-base.ts │ │ ├── app-execution-context-modal │ │ │ ├── app-execution-context-modal.component.scss │ │ │ └── app-execution-context-modal.component.ts │ │ ├── app-export-modal │ │ │ ├── app-export-modal.component.scss │ │ │ └── app-export-modal.component.ts │ │ ├── app-validator │ │ │ └── app-validator.service.ts │ │ ├── components │ │ │ ├── app-info │ │ │ │ ├── app-info.component.scss │ │ │ │ └── app-info.component.ts │ │ │ ├── compact-list │ │ │ │ ├── compact-list.component.scss │ │ │ │ └── compact-list.component.ts │ │ │ ├── expression-input │ │ │ │ ├── expression-input.component.scss │ │ │ │ └── expression-input.component.ts │ │ │ ├── hint-list │ │ │ │ ├── hint-list.component.scss │ │ │ │ ├── hint-list.component.ts │ │ │ │ ├── requirement-input.component.scss │ │ │ │ └── requirement-input.component.ts │ │ │ ├── key-value-component │ │ │ │ ├── key-value-input.component.scss │ │ │ │ ├── key-value-input.component.ts │ │ │ │ ├── key-value-list.component.scss │ │ │ │ └── key-value-list.component.ts │ │ │ ├── map-list │ │ │ │ ├── map-list.component.scss │ │ │ │ └── map-list.component.ts │ │ │ ├── platform-app-common │ │ │ │ └── platform-app.service.ts │ │ │ ├── quick-pick │ │ │ │ ├── quick-pick.component.scss │ │ │ │ └── quick-pick.component.ts │ │ │ ├── revision-list │ │ │ │ ├── revision-list.component.scss │ │ │ │ └── revision-list.component.ts │ │ │ ├── secondary-files │ │ │ │ ├── secondary-files.component.scss │ │ │ │ └── secondary-files.component.ts │ │ │ ├── symbols │ │ │ │ ├── symbols.component.scss │ │ │ │ └── symbols.component.ts │ │ │ ├── type-select │ │ │ │ └── type-select.component.ts │ │ │ ├── validation-preview │ │ │ │ ├── validation-class.directive.ts │ │ │ │ ├── validation-preview.component.scss │ │ │ │ └── validation-preview.component.ts │ │ │ └── validation-report │ │ │ │ ├── validation-report.component.scss │ │ │ │ └── validation-report.component.ts │ │ ├── cwl-schema-validation-worker │ │ │ └── cwl-schema-validation-worker.service.ts │ │ ├── directives │ │ │ └── editable.directive.ts │ │ ├── editor-common.module.ts │ │ ├── editor-layout │ │ │ ├── editor-layout.component.scss │ │ │ └── editor-layout.component.ts │ │ ├── expression-editor │ │ │ ├── expression-editor.component.scss │ │ │ ├── expression-editor.component.ts │ │ │ └── model-expression-editor.component.ts │ │ ├── factories │ │ │ └── app-info.factory.ts │ │ ├── file-metadata-modal │ │ │ ├── file-metadata-modal.component.scss │ │ │ └── file-metadata-modal.component.ts │ │ ├── input-value-editor │ │ │ ├── input-value-editor.component.html │ │ │ ├── input-value-editor.component.scss │ │ │ └── input-value-editor.component.ts │ │ ├── inspector-forms │ │ │ ├── directory-input-inspector │ │ │ │ ├── directory-input-inspector.component.spec.ts │ │ │ │ └── directory-input-inspector.component.ts │ │ │ └── file-input-inspector.component.ts │ │ ├── inspector │ │ │ ├── editor-inspector-content.component.scss │ │ │ ├── editor-inspector-content.component.ts │ │ │ ├── editor-inspector.component.scss │ │ │ ├── editor-inspector.component.ts │ │ │ ├── editor-inspector.directive.ts │ │ │ └── editor-inspector.service.ts │ │ ├── job-import-export │ │ │ ├── job-import-export.component.html │ │ │ ├── job-import-export.component.scss │ │ │ └── job-import-export.component.ts │ │ ├── layout │ │ │ └── editor-panel │ │ │ │ ├── editor-panel.component.scss │ │ │ │ ├── editor-panel.component.spec.ts │ │ │ │ └── editor-panel.component.ts │ │ ├── pipes │ │ │ ├── file-def-content.pipe.ts │ │ │ ├── file-def-name.pipe.ts │ │ │ └── validation-text.pipes.ts │ │ ├── services │ │ │ └── app-saving │ │ │ │ ├── app-saver.interface.ts │ │ │ │ ├── local-file-saving.service.ts │ │ │ │ └── platform-app-saving.service.ts │ │ ├── template-common │ │ │ ├── common-document-controls │ │ │ │ ├── common-document-controls.component.ts │ │ │ │ └── common-document-controls.scss │ │ │ ├── common-preview-panel │ │ │ │ ├── common-report-panel.component.scss │ │ │ │ └── common-report-panel.component.ts │ │ │ └── common-status-controls │ │ │ │ ├── common-status-controls.component.scss │ │ │ │ └── common-status-controls.component.ts │ │ ├── types.ts │ │ └── utilities │ │ │ ├── imported-job-parser │ │ │ └── imported-job-parser.ts │ │ │ ├── job-adapter │ │ │ ├── job-adapter.spec.ts │ │ │ └── job-adapter.ts │ │ │ └── model-serializer │ │ │ └── model-serializer.ts │ ├── execution │ │ ├── actions │ │ │ └── execution.actions.ts │ │ ├── components │ │ │ └── execution-status │ │ │ │ ├── execution-status.component.html │ │ │ │ ├── execution-status.component.scss │ │ │ │ ├── execution-status.component.ts │ │ │ │ └── execution-status.story.ts │ │ ├── execution.module.ts │ │ ├── interfaces │ │ │ ├── directory-explorer.ts │ │ │ ├── index.ts │ │ │ └── tab-manager.ts │ │ ├── models │ │ │ ├── app-execution.ts │ │ │ ├── execution-error.ts │ │ │ ├── index.ts │ │ │ ├── step-progress.ts │ │ │ └── types.ts │ │ ├── pipes │ │ │ └── execution-duration.pipe.ts │ │ ├── reducers │ │ │ ├── index.ts │ │ │ ├── progress.reducer.spec.ts │ │ │ ├── progress.reducer.ts │ │ │ └── selectors.ts │ │ ├── services │ │ │ ├── executor-output-parser │ │ │ │ ├── executor-output-parser.service.spec.ts │ │ │ │ └── executor-output-parser.service.ts │ │ │ └── executor │ │ │ │ └── executor.service.ts │ │ ├── types.ts │ │ └── utilities │ │ │ ├── time-formatter.ts │ │ │ └── types.ts │ ├── executor-service │ │ ├── executor.service.spec.ts │ │ └── executor.service.ts │ ├── factories │ │ ├── app-meta.factory.ts │ │ ├── auth.ts │ │ ├── execution.ts │ │ ├── link-opener.factory.ts │ │ ├── modal.factory.ts │ │ └── preview-job-saver.factory.ts │ ├── file-repository │ │ └── file-repository.service.ts │ ├── helpers │ │ ├── object.helper.spec.ts │ │ ├── object.helper.ts │ │ └── yaml-helper.ts │ ├── job-editor │ │ ├── graph-job-editor │ │ │ ├── graph-job-editor.component.html │ │ │ ├── graph-job-editor.component.scss │ │ │ ├── graph-job-editor.component.ts │ │ │ └── job-step-inspector │ │ │ │ ├── job-step-inspector.component.html │ │ │ │ └── job-step-inspector.component.ts │ │ ├── job-editor.module.ts │ │ ├── svg-execution-progress-plugin │ │ │ ├── svg-execution-progress-plugin.scss │ │ │ └── svg-execution-progress-plugin.ts │ │ └── utilities │ │ │ ├── dom.ts │ │ │ └── path-resolver.ts │ ├── layout │ │ ├── action-bar │ │ │ ├── action-bar.component.scss │ │ │ ├── action-bar.component.spec.ts │ │ │ └── action-bar.component.ts │ │ ├── editor-controls │ │ │ ├── editor-controls.component.scss │ │ │ └── editor-controls.component.ts │ │ ├── file-editor │ │ │ ├── file-editor.component.scss │ │ │ └── file-editor.component.ts │ │ ├── layout.module.ts │ │ ├── notification-bar │ │ │ ├── dynamic-notifications │ │ │ │ └── get-started-notification │ │ │ │ │ └── get-started-notification.component.ts │ │ │ ├── notification-bar.component.scss │ │ │ ├── notification-bar.component.ts │ │ │ ├── notification-bar.service.ts │ │ │ └── notification.component.ts │ │ ├── settings │ │ │ ├── executor-config │ │ │ │ ├── executor-config.component.scss │ │ │ │ └── executor-config.component.ts │ │ │ ├── proxy-settings │ │ │ │ ├── proxy-settings.component.scss │ │ │ │ └── proxy-settings.component.ts │ │ │ ├── settings.component.scss │ │ │ └── settings.component.ts │ │ ├── status-bar │ │ │ ├── status-bar.component.scss │ │ │ ├── status-bar.component.spec.ts │ │ │ ├── status-bar.component.ts │ │ │ ├── status-bar.service.ts │ │ │ └── status-control-provider.interface.ts │ │ └── tab-loader │ │ │ ├── tab-loader.component.scss │ │ │ └── tab-loader.component.ts │ ├── lib │ │ └── utils.lib.ts │ ├── native │ │ ├── native.module.ts │ │ ├── proxy │ │ │ ├── electron-proxy.service.spec.ts │ │ │ └── electron-proxy.service.ts │ │ └── system │ │ │ ├── native-dialog-options.ts │ │ │ ├── native-system.service.spec.ts │ │ │ └── native-system.service.ts │ ├── platform-providers │ │ ├── browser-system.service.ts │ │ ├── electron-system.service.ts │ │ └── system.service.ts │ ├── repository │ │ ├── local-repository.service.ts │ │ ├── platform-repository.service.ts │ │ └── repository.module.ts │ ├── services │ │ ├── api │ │ │ ├── api-response-types.ts │ │ │ └── platforms │ │ │ │ └── platform-api.types.ts │ │ ├── dom │ │ │ └── dom-event.service.ts │ │ ├── export-app │ │ │ └── export-app.service.ts │ │ ├── guid.service.spec.ts │ │ ├── guid.service.ts │ │ ├── ipc.service.ts │ │ └── javascript-eval │ │ │ └── javascript-eval.service.ts │ ├── state │ │ └── index.ts │ ├── tool-editor │ │ ├── components │ │ │ └── command-line-preview │ │ │ │ ├── command-line-preview.component.scss │ │ │ │ └── command-line-preview.component.ts │ │ ├── dependencies.ts │ │ ├── object-inspector │ │ │ ├── common-sections │ │ │ │ └── description-section │ │ │ │ │ ├── description.component.scss │ │ │ │ │ └── description.component.ts │ │ │ ├── input-inspector │ │ │ │ ├── basic-section │ │ │ │ │ ├── basic-input-section.component.html │ │ │ │ │ ├── basic-input-section.component.scss │ │ │ │ │ └── basic-input-section.component.ts │ │ │ │ ├── input-binding │ │ │ │ │ └── input-binding-section.component.ts │ │ │ │ ├── stage-input-section │ │ │ │ │ └── stage-input-section.component.ts │ │ │ │ └── tool-input-inspector.component.ts │ │ │ └── output-inspector │ │ │ │ ├── output-basic-section │ │ │ │ ├── basic-output-section.component.scss │ │ │ │ └── basic-output-section.component.ts │ │ │ │ ├── output-eval-section │ │ │ │ ├── output-eval.component.scss │ │ │ │ └── output-eval.component.ts │ │ │ │ ├── output-metadata-section │ │ │ │ └── output-metadata.component.ts │ │ │ │ └── tool-output-inspector.component.ts │ │ ├── reducers │ │ │ ├── actions.ts │ │ │ ├── index.ts │ │ │ ├── selectors.ts │ │ │ └── test-data.reducer.ts │ │ ├── sections │ │ │ ├── arguments │ │ │ │ ├── argument-inspector.component.ts │ │ │ │ ├── argument-list.component.scss │ │ │ │ └── argument-list.component.ts │ │ │ ├── base-command-editor │ │ │ │ ├── base-command-editor.component.scss │ │ │ │ ├── base-command-editor.component.ts │ │ │ │ └── base-command-expression-list │ │ │ │ │ ├── base-command-expression-list.component.scss │ │ │ │ │ └── base-command-expression-list.component.ts │ │ │ ├── docker │ │ │ │ ├── docker-requirement.component.spec.ts │ │ │ │ └── docker-requirement.component.ts │ │ │ ├── file-def-list │ │ │ │ ├── file-def-inspector.component.scss │ │ │ │ ├── file-def-inspector.component.ts │ │ │ │ ├── file-def-list.component.ts │ │ │ │ ├── literal-expression-input.component.scss │ │ │ │ └── literal-expression-input.component.ts │ │ │ ├── hints │ │ │ │ └── tool-hints.component.ts │ │ │ ├── inputs │ │ │ │ ├── tool-input-list.component.ts │ │ │ │ ├── tool-inputs.component.scss │ │ │ │ └── tool-inputs.component.ts │ │ │ ├── other │ │ │ │ ├── codes │ │ │ │ │ ├── tool-codes.component.scss │ │ │ │ │ └── tool-codes.component.ts │ │ │ │ ├── streams │ │ │ │ │ ├── tool-streams.component.scss │ │ │ │ │ ├── tool-streams.component.spec.ts │ │ │ │ │ └── tool-streams.component.ts │ │ │ │ └── tool-other.component.ts │ │ │ ├── outputs │ │ │ │ ├── tool-output-list.component.ts │ │ │ │ └── tool-outputs.component.ts │ │ │ └── resources │ │ │ │ └── resources.component.ts │ │ ├── services │ │ │ └── test-job │ │ │ │ └── test-job-manager.service.ts │ │ ├── tool-editor.component.html │ │ ├── tool-editor.component.scss │ │ ├── tool-editor.component.ts │ │ ├── tool-editor.module.ts │ │ └── tool-visual-editor │ │ │ ├── tool-visual-editor.component.scss │ │ │ └── tool-visual-editor.component.ts │ ├── ui │ │ ├── accessors │ │ │ └── trim-value-accessor │ │ │ │ └── trim-value-accessor.directive.ts │ │ ├── auto-complete │ │ │ ├── auto-complete.component.scss │ │ │ ├── auto-complete.component.spec.ts │ │ │ ├── auto-complete.component.ts │ │ │ └── select │ │ │ │ ├── select.component.scss │ │ │ │ └── select.component.ts │ │ ├── autofocus │ │ │ └── autofocus.directive.ts │ │ ├── behaviors │ │ │ ├── disable-form-control.directive.ts │ │ │ ├── drag-and-drop │ │ │ │ ├── drag-over.directive.ts │ │ │ │ ├── drag.directive.ts │ │ │ │ ├── drop-zones.directive.ts │ │ │ │ └── drop.directive.ts │ │ │ └── mouse-click.directive.ts │ │ ├── blank-state │ │ │ └── blank-state.component.ts │ │ ├── block-loader │ │ │ ├── block-loader.component.scss │ │ │ └── block-loader.component.ts │ │ ├── circular-loader │ │ │ ├── circular-loader.component.scss │ │ │ └── circular-loader.component.ts │ │ ├── code-editor-new │ │ │ ├── ace-editor-options.ts │ │ │ ├── ace-mode-map.ts │ │ │ ├── code-editor.component.scss │ │ │ ├── code-editor.component.ts │ │ │ └── modelist.ts │ │ ├── code-editor │ │ │ ├── code-editor.component.scss │ │ │ ├── code-editor.component.ts │ │ │ ├── code-preview.component.ts │ │ │ ├── multilang-code-editor.component.scss │ │ │ └── multilang-code-editor.component.ts │ │ ├── context │ │ │ ├── context.directive.ts │ │ │ └── context.service.ts │ │ ├── dropdown-button │ │ │ ├── dropdown-button-component.ts │ │ │ └── dropdown-menu.component.ts │ │ ├── form-panel │ │ │ ├── form-panel.component.scss │ │ │ └── form-panel.component.ts │ │ ├── forms │ │ │ ├── input-field │ │ │ │ ├── input-field.component.scss │ │ │ │ └── input-field.component.ts │ │ │ └── search-field │ │ │ │ ├── search-field.component.scss │ │ │ │ └── search-field.component.ts │ │ ├── generic-drop-down-menu │ │ │ ├── generic-drop-down-menu.component.scss │ │ │ └── generic-drop-down-menu.component.ts │ │ ├── inline-editor │ │ │ ├── inline-editor.component.scss │ │ │ ├── inline-editor.component.ts │ │ │ ├── keyvalue.component.scss │ │ │ └── keyvalue.component.ts │ │ ├── input │ │ │ ├── input.component.scss │ │ │ └── input.component.ts │ │ ├── line-loader │ │ │ ├── line-loader.component.scss │ │ │ └── line-loader.component.ts │ │ ├── loader-button │ │ │ ├── loader-button-content.component.scss │ │ │ └── loader-button-content.component.ts │ │ ├── markdown │ │ │ ├── markdown.component.ts │ │ │ └── markdown.service.ts │ │ ├── menu │ │ │ ├── menu-item.component.scss │ │ │ ├── menu-item.component.ts │ │ │ ├── menu-item.ts │ │ │ ├── menu.component.scss │ │ │ └── menu.component.ts │ │ ├── modal │ │ │ ├── common │ │ │ │ ├── checkbox-prompt.component.ts │ │ │ │ ├── confirm.component.scss │ │ │ │ ├── confirm.component.ts │ │ │ │ ├── error.component.scss │ │ │ │ ├── error.component.ts │ │ │ │ ├── prompt.component.scss │ │ │ │ └── prompt.component.ts │ │ │ ├── custom │ │ │ │ └── project-selection-modal.component.ts │ │ │ ├── modal-options.ts │ │ │ ├── modal.component.scss │ │ │ ├── modal.component.ts │ │ │ ├── modal.service.ts │ │ │ └── types.ts │ │ ├── native-file-browser-form-field │ │ │ └── native-file-browser-form-field.component.ts │ │ ├── progress │ │ │ ├── progress.component.scss │ │ │ └── progress.component.ts │ │ ├── radio-button │ │ │ ├── radio-button.component.scss │ │ │ ├── radio-button.component.ts │ │ │ └── radio-group.component.ts │ │ ├── tab-selector │ │ │ ├── tab-selector-entry │ │ │ │ └── tab-selector-entry.component.ts │ │ │ ├── tab-selector.component.scss │ │ │ ├── tab-selector.component.ts │ │ │ └── tab-selector.service.ts │ │ ├── tabs │ │ │ ├── tab.component.ts │ │ │ ├── tabs.component.scss │ │ │ └── tabs.component.ts │ │ ├── toggle-slider │ │ │ ├── toggle-slider.component.scss │ │ │ └── toggle-slider.component.ts │ │ ├── tooltip │ │ │ ├── tooltip-content.component.scss │ │ │ ├── tooltip-content.component.ts │ │ │ ├── tooltip.directive.ts │ │ │ └── types.ts │ │ ├── tree-view │ │ │ ├── tree-node-label-directive.ts │ │ │ ├── tree-node.ts │ │ │ ├── tree-node │ │ │ │ ├── tree-node.component.scss │ │ │ │ └── tree-node.component.ts │ │ │ ├── tree-view-utils.ts │ │ │ ├── tree-view.component.scss │ │ │ ├── tree-view.component.ts │ │ │ └── tree-view.service.ts │ │ └── ui.module.ts │ ├── util │ │ ├── directive-base │ │ │ └── directive-base.ts │ │ ├── rx-extensions │ │ │ └── subscribe-tracked.ts │ │ └── util.module.ts │ ├── validators │ │ └── custom.validator.ts │ └── workflow-editor │ │ ├── graph-editor │ │ ├── graph-editor │ │ │ ├── workflow-graph-editor.component.html │ │ │ ├── workflow-graph-editor.component.scss │ │ │ └── workflow-graph-editor.component.ts │ │ ├── svg-dumper │ │ │ └── svg-dumper.ts │ │ └── update-plugin │ │ │ ├── update-plugin.scss │ │ │ └── update-plugin.ts │ │ ├── object-inspector │ │ ├── io-inspector │ │ │ ├── workflow-io-inspector.component.ts │ │ │ └── workflow-io-inspector.components.scss │ │ └── step-inspector │ │ │ ├── step-inputs-inspector │ │ │ ├── step-inputs-inspector.component.scss │ │ │ └── step-inputs-inspector.component.ts │ │ │ ├── step-inspector.component.scss │ │ │ ├── step-inspector.component.ts │ │ │ └── tabs │ │ │ ├── step-inspector-step-entry.component.scss │ │ │ ├── step-inspector-step-entry.ts │ │ │ ├── step-tab-info.component.scss │ │ │ ├── step-tab-info.component.ts │ │ │ └── step-tab-step.component.ts │ │ ├── services │ │ └── step-update │ │ │ └── step-update.service.ts │ │ ├── state │ │ ├── actions.ts │ │ ├── reducers.ts │ │ ├── selectors.ts │ │ └── types.ts │ │ ├── svg-plugins │ │ ├── job-file-drop │ │ │ ├── job-file-drop.scss │ │ │ └── job-file-drop.ts │ │ └── required-input-markup │ │ │ ├── required-input-markup.scss │ │ │ └── required-input-markup.ts │ │ ├── update-step-modal │ │ ├── update-step-modal.component.scss │ │ └── update-step-modal.component.ts │ │ ├── workflow-editor.component.html │ │ ├── workflow-editor.component.scss │ │ ├── workflow-editor.component.ts │ │ ├── workflow-editor.module.ts │ │ ├── workflow-editor.service.ts │ │ └── workflow-not-graphic-editor │ │ ├── workflow-not-graph-editor.component.scss │ │ └── workflow-not-graph-editor.component.ts ├── assets │ ├── .gitkeep │ ├── fonts │ │ └── montserrat │ │ │ ├── montserrat-light-webfont.woff2 │ │ │ └── montserrat-regular-webfont.woff2 │ ├── img │ │ ├── rabix-logo-holiday.png │ │ ├── rabix-logo.png │ │ ├── rc-icon-256x256.png │ │ ├── runny.gif │ │ └── workflow-graph-empty-state.svg │ └── sass │ │ ├── _alerts.scss │ │ ├── _bootstrap-pack.scss │ │ ├── _forms.scss │ │ ├── _icons.scss │ │ ├── _mixins.scss │ │ ├── _resets.scss │ │ ├── _theme.scss │ │ ├── _typography.scss │ │ ├── _utils.scss │ │ ├── _variables.scss │ │ ├── main.scss │ │ └── modern │ │ ├── _alerts.scss │ │ ├── _buttons.scss │ │ ├── _forms.scss │ │ ├── _layout.scss │ │ ├── _tables.scss │ │ ├── _typography.scss │ │ ├── _variables.scss │ │ └── theme.scss ├── environments │ ├── environment.prod.ts │ └── environment.ts ├── favicon.ico ├── index.html ├── main.ts ├── polyfills.ts ├── styles.css ├── test.ts ├── tsconfig.app.json └── tsconfig.spec.json ├── tsconfig.json ├── tslint.json └── yarn.lock /.changelogrc: -------------------------------------------------------------------------------- 1 | { 2 | "app_name": "Rabix Composer", 3 | "branch": "master", 4 | "file": "CHANGELOG.md", 5 | "tag": "0.2.0", 6 | "sections": [ 7 | { 8 | "title": "Bug Fixes", 9 | "grep": "^fix" 10 | }, 11 | { 12 | "title": "Features", 13 | "grep": "^feat" 14 | }, 15 | { 16 | "title": "Documentation", 17 | "grep": "^docs" 18 | }, 19 | { 20 | "title": "Breaking changes", 21 | "grep": "BREAKING" 22 | }, 23 | { 24 | "title": "Refactor", 25 | "grep": "^refactor" 26 | }, 27 | { 28 | "title": "Style", 29 | "grep": "^style" 30 | }, 31 | { 32 | "title": "Test", 33 | "grep": "^test" 34 | }, 35 | { 36 | "title": "Chore", 37 | "grep": "^chore" 38 | }, 39 | { 40 | "title": "Branches merged", 41 | "grep": "^Merge branch" 42 | }, 43 | { 44 | "title": "Pull requests merged", 45 | "grep": "^Merge pull request" 46 | } 47 | ] 48 | } 49 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 4 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | insert_final_newline = false 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.git-commit-template: -------------------------------------------------------------------------------- 1 | (): 2 | 3 | 4 | 5 |