├── .npmignore ├── .yarnignore ├── CODE_OF_CONDUCT.md ├── COPYING.txt ├── README.md ├── docs ├── README.md └── hero.png ├── gulpfile.js ├── jsconfig.json ├── package.json ├── public ├── favicon.ico ├── index.html └── socket.io.js ├── src ├── app │ ├── index.js │ ├── indices │ │ ├── index.js │ │ ├── userComponents │ │ │ ├── index.js │ │ │ └── usr │ │ │ │ ├── components │ │ │ │ ├── commons │ │ │ │ │ ├── AceEditor │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── SearchTextField │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ServerPortTextField │ │ │ │ │ │ └── index.js │ │ │ │ │ └── index.js │ │ │ │ ├── debuggerDiagram │ │ │ │ │ ├── DebuggerDiagram │ │ │ │ │ │ └── index.js │ │ │ │ │ └── index.js │ │ │ │ ├── dialogs │ │ │ │ │ ├── ComponentScaffoldDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── CopyFlowDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── CopyPageDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── CopyTemplateDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── DeleteFlowDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── DeletePageDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── DeleteTemplateDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ExportAppDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ExportAppStatusDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── FunctionsScaffoldDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── InstallPackageDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── MarketBoardDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── NewFlowDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── NewPageDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── NewTemplateDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ProjectServerDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── RenameFlowDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── RenamePageDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── RenameTemplateDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── SyslogDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── WelcomeDialog │ │ │ │ │ │ └── index.js │ │ │ │ │ └── index.js │ │ │ │ ├── editor │ │ │ │ │ ├── ActionsLogViewer │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── PageTree │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ResourceEditor │ │ │ │ │ │ └── index.js │ │ │ │ │ └── index.js │ │ │ │ ├── index.js │ │ │ │ ├── layouts │ │ │ │ │ ├── NewProjectWizard │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── ProjectLayout │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── StarterLayout │ │ │ │ │ │ └── index.js │ │ │ │ │ └── index.js │ │ │ │ ├── market │ │ │ │ │ ├── MarketSearchView │ │ │ │ │ │ └── index.js │ │ │ │ │ └── index.js │ │ │ │ └── panels │ │ │ │ │ ├── LeftContainer │ │ │ │ │ └── index.js │ │ │ │ │ ├── LeftMicroPanel │ │ │ │ │ └── index.js │ │ │ │ │ ├── LeftTopPanel │ │ │ │ │ └── index.js │ │ │ │ │ ├── ResourcesTreeView │ │ │ │ │ └── index.js │ │ │ │ │ ├── SearchPanel │ │ │ │ │ └── index.js │ │ │ │ │ └── index.js │ │ │ │ └── index.js │ │ └── userFunctions │ │ │ ├── index.js │ │ │ └── usr │ │ │ ├── api │ │ │ ├── appInitializationMethods │ │ │ │ └── index.js │ │ │ ├── index.js │ │ │ ├── mainWindowMessageMethods │ │ │ │ └── index.js │ │ │ ├── marketMethods │ │ │ │ └── index.js │ │ │ ├── newPackageMethods │ │ │ │ └── index.js │ │ │ ├── newProjectWizardMethods │ │ │ │ └── index.js │ │ │ ├── resourceEditorMethods │ │ │ │ └── index.js │ │ │ ├── resourcesTreeViewMethods │ │ │ │ └── index.js │ │ │ └── starterLayoutMethods │ │ │ │ └── index.js │ │ │ └── index.js │ └── schema │ │ ├── flows │ │ ├── application │ │ │ ├── Main_Window_Project_Server.js │ │ │ ├── Show_Project_Readme.js │ │ │ ├── Show_Syslog.js │ │ │ ├── When_Resource_Is_Added.js │ │ │ ├── When_Resource_Is_Changed.js │ │ │ ├── When_Resource_Is_Removed.js │ │ │ └── index.js │ │ ├── editor │ │ │ ├── Change_Active_Tab.js │ │ │ ├── Click_On_Error.js │ │ │ ├── Close_Tab_By_Close_Tab_Click.js │ │ │ ├── Double_Click_To_Open_Editor_Tab.js │ │ │ ├── Open_Editor_Live_Preview_Tab.js │ │ │ ├── Open_Editor_Tab_By_Resource_Key.js │ │ │ ├── Open_Url_In_Extrnal_Browser.js │ │ │ ├── Push_To_Clipboard.js │ │ │ ├── Save_As_New_Template.js │ │ │ ├── Undo_Update_Resource_Tab.js │ │ │ ├── Update_Resource_Tab.js │ │ │ ├── Update_Settings.js │ │ │ ├── Write_Resource_Source_Code.js │ │ │ └── index.js │ │ ├── index.js │ │ ├── market │ │ │ ├── Open_Market.js │ │ │ ├── Open_Market_From_Install_Package_Dialog.js │ │ │ ├── Open_Market_From_ProjectWizard.js │ │ │ ├── Open_Url.js │ │ │ ├── Select_Project.js │ │ │ └── index.js │ │ ├── newPackage │ │ │ ├── Start_Install_Package_From_Market.js │ │ │ ├── Submit_Install_Package.js │ │ │ └── index.js │ │ ├── newProjectWizard │ │ │ ├── Submit_Create_New_Project.js │ │ │ └── index.js │ │ ├── resourcesTree │ │ │ ├── Cancel_Search_Item_By_Text.js │ │ │ ├── Copy_Flow_Submit.js │ │ │ ├── Copy_Page_Submit.js │ │ │ ├── Copy_Template_Submit.js │ │ │ ├── Create_New_Component_Submit.js │ │ │ ├── Create_New_Flow_Submit.js │ │ │ ├── Create_New_Functions_Submit.js │ │ │ ├── Create_New_Page_Submit.js │ │ │ ├── Create_New_Template_Submit.js │ │ │ ├── Delete_Flow_Submit.js │ │ │ ├── Delete_Page_Submit.js │ │ │ ├── Delete_Template_Submit.js │ │ │ ├── Drag_Resource_Item.js │ │ │ ├── Get_Project_Server_Log.js │ │ │ ├── Get_Server_Status.js │ │ │ ├── Rename_Flow_Submit.js │ │ │ ├── Rename_Page_Submit.js │ │ │ ├── Rename_Template_Submit.js │ │ │ ├── Restart_Project_Server.js │ │ │ ├── Search_Item_By_Editor_Request.js │ │ │ ├── Search_Item_By_Text.js │ │ │ ├── Select_Item_By_Click.js │ │ │ ├── Set_Project_Server_Port.js │ │ │ ├── Show_Project_Server_Dialog.js │ │ │ ├── Stop_Project_Server.js │ │ │ ├── Toggle_Expanded_Item_By_Click.js │ │ │ ├── TreeView_Copy_Flow.js │ │ │ ├── TreeView_Copy_Page.js │ │ │ ├── TreeView_Copy_Template.js │ │ │ ├── TreeView_Create_New_Component.js │ │ │ ├── TreeView_Create_New_Flow.js │ │ │ ├── TreeView_Create_New_Functions.js │ │ │ ├── TreeView_Create_New_Page.js │ │ │ ├── TreeView_Create_New_Template.js │ │ │ ├── TreeView_Delete_Flow.js │ │ │ ├── TreeView_Delete_Page.js │ │ │ ├── TreeView_Delete_Template.js │ │ │ ├── TreeView_Rename_Flow.js │ │ │ ├── TreeView_Rename_Page.js │ │ │ ├── TreeView_Rename_Template.js │ │ │ ├── TreeView_Toggle_Flow.js │ │ │ ├── TreeView_Toggle_Is_Test.js │ │ │ └── index.js │ │ └── starterLayout │ │ │ ├── Mount_Project_Layout.js │ │ │ ├── Mount_Starter_Layout.js │ │ │ ├── Open_Live_Preview_Tab_From_Micro_Panel.js │ │ │ ├── Toggle_Left_Panel.js │ │ │ ├── Unmount_Project_Layout.js │ │ │ └── index.js │ │ ├── index.js │ │ ├── pages │ │ ├── home.js │ │ └── index.js │ │ └── routes.js ├── commons │ ├── appWindowMessages.js │ └── constants.js ├── framework │ ├── components │ │ ├── NotFoundComponent │ │ │ ├── NotFoundComponent.js │ │ │ └── index.js │ │ ├── PageComposition │ │ │ ├── Container.js │ │ │ ├── ErrorBoundary.js │ │ │ ├── PageComposition.js │ │ │ └── index.js │ │ ├── PageRouter │ │ │ ├── PageRouter.js │ │ │ └── index.js │ │ ├── StartWrapper │ │ │ ├── StartWrapper.js │ │ │ └── index.js │ │ └── WarningComponent │ │ │ ├── WarningComponent.js │ │ │ └── index.js │ ├── index.js │ └── store │ │ ├── actions.js │ │ ├── constants.js │ │ ├── reducer.js │ │ ├── selectors.js │ │ ├── sequences.js │ │ ├── state.js │ │ └── store.js ├── icons │ └── logo_color_150x150.png ├── index.css ├── index.js ├── serviceWorker.js ├── srv │ ├── api.js │ ├── config.js │ ├── controller.js │ ├── dirUtils.js │ ├── fileUtils.js │ ├── installUtils.js │ ├── projectServer.js │ ├── socketUtils.js │ └── watcher.js └── usr │ ├── api │ ├── appInitializationMethods.js │ ├── mainWindowMessageMethods.js │ ├── marketMethods.js │ ├── newPackageMethods.js │ ├── newProjectWizardMethods.js │ ├── resourceEditorMethods.js │ ├── resourcesTreeViewMethods.js │ └── starterLayoutMethods.js │ ├── components │ ├── commons │ │ ├── AceEditor.js │ │ ├── AutoScrollPanel.js │ │ ├── Commons.parts.js │ │ ├── ComponentPublishLayout.js │ │ ├── FilterTextField.js │ │ ├── JsonEditor.js │ │ ├── LoadingPopover.js │ │ ├── MarkdownView.js │ │ ├── OneColumnLayout.js │ │ ├── PanelWithShortcutsHelp.js │ │ ├── PanelWithTitle.js │ │ ├── Placeholder.js │ │ ├── PlaceholderSpan.js │ │ ├── PropertyCheckbox.js │ │ ├── PropertyNumericField.js │ │ ├── PropertySelect.js │ │ ├── PropertyTextField.js │ │ ├── PropertyToggle.js │ │ ├── ResourceIcon.js │ │ ├── ScriptView.js │ │ ├── ScrollPanel.js │ │ ├── ScrollSlider.js │ │ ├── SearchTextField.js │ │ ├── ServerPortTextField.js │ │ ├── SourceCodeEditor.js │ │ ├── ToolbarAutotimerButton.js │ │ ├── ToolbarButton.js │ │ ├── ToolbarField.js │ │ ├── TwoColumnsLayout.js │ │ ├── UserFunctionDescription.js │ │ └── utils.js │ ├── debuggerDiagram │ │ ├── DebuggerDiagram.css │ │ ├── DebuggerDiagram.js │ │ └── decorators.js │ ├── diagram │ │ ├── Diagram.css │ │ ├── Diagram.js │ │ ├── context.js │ │ ├── decorators.js │ │ ├── manager.js │ │ └── utils.js │ ├── dialogs │ │ ├── ComponentScaffoldDialog.js │ │ ├── CopyFlowDialog.js │ │ ├── CopyPageDialog.js │ │ ├── CopyTemplateDialog.js │ │ ├── DeleteFlowDialog.js │ │ ├── DeletePageDialog.js │ │ ├── DeleteTemplateDialog.js │ │ ├── EditJsonDialog.js │ │ ├── ExportAppDialog.js │ │ ├── ExportAppStatusDialog.js │ │ ├── FunctionsScaffoldDialog.js │ │ ├── InstallPackageDialog.js │ │ ├── MarketBoardDialog.js │ │ ├── NewFlowDialog.js │ │ ├── NewPageDialog.js │ │ ├── NewTemplateDialog.js │ │ ├── ProjectServerDialog.js │ │ ├── RenameFlowDialog.js │ │ ├── RenamePageDialog.js │ │ ├── RenameTemplateDialog.js │ │ ├── SyslogDialog.js │ │ └── WelcomeDialog.js │ ├── editor │ │ ├── ActionsLogViewer.js │ │ ├── ActionsLogViewer.parts.js │ │ ├── ComponentPropsTree.js │ │ ├── ComponentView.js │ │ ├── EventsLogViewer.js │ │ ├── FlowComposer.js │ │ ├── FlowDebugger.js │ │ ├── FunctionsFileView.js │ │ ├── IFrame.js │ │ ├── LivePreview.js │ │ ├── PageComposer.js │ │ ├── PageComposer.parts.js │ │ ├── PageTree.js │ │ ├── PageTreeGroup.js │ │ ├── PageTreeItem.js │ │ ├── PagesList.js │ │ ├── PropsTree.js │ │ ├── PropsTreeElement.js │ │ ├── PropsTreeGroup.js │ │ ├── PropsTreeItem.js │ │ ├── PropsTreeItemShaped.js │ │ ├── ReadmePreview.js │ │ ├── ResourceEditor.js │ │ ├── ResourceEditor.parts.js │ │ ├── SettingsPropsTree.js │ │ └── TemplateComposer.js │ ├── grids │ │ ├── AdaptiveGrid.js │ │ ├── Grid1ColumnVerticalRows.js │ │ └── Grid2Columns.js │ ├── layouts │ │ ├── NewProjectWizard.js │ │ ├── ProjectLayout.js │ │ └── StarterLayout.js │ ├── market │ │ ├── CommonCard.parts.js │ │ ├── Market.parts.js │ │ ├── MarketBoardGrid.js │ │ ├── MarketBoardPager.js │ │ ├── MarketErrorPopover.js │ │ ├── MarketFilterField.js │ │ ├── MarketFiltersPanel.js │ │ ├── MarketGroupGrid.js │ │ ├── MarketProjectCard.js │ │ ├── MarketProjectView.js │ │ └── MarketSearchView.js │ ├── panels │ │ ├── DraggableWrapper.js │ │ ├── LeftContainer.js │ │ ├── LeftMicroPanel.js │ │ ├── LeftTopPanel.js │ │ ├── ResourcesTreeView.js │ │ ├── ResourcesTreeView.parts.js │ │ └── SearchPanel.js │ └── splitPane │ │ ├── Pane.js │ │ ├── Resizer.js │ │ ├── SplitPane.js │ │ └── index.js │ ├── core │ ├── config │ │ ├── config.js │ │ ├── globalStore.js │ │ └── storage.js │ ├── flowComposer │ │ ├── FlowComposerManager.js │ │ ├── FlowGraphVisitor.js │ │ ├── flowComposerFactory.js │ │ └── flowModelCreators.js │ ├── flowDebugger │ │ ├── FlowDebuggerManager.js │ │ └── flowDebuggerFactory.js │ ├── graph │ │ └── GraphModel.js │ ├── market │ │ ├── boardManager.js │ │ └── projectInstallManager.js │ ├── pageComposer │ │ ├── PageComposerManager.js │ │ ├── pageComposerFactory.js │ │ ├── pageComposerReducer.js │ │ └── pageComposerState.js │ ├── parser │ │ ├── DeclarationsInFile.js │ │ ├── componentsParser.js │ │ ├── defaultPropsParserUtils.js │ │ ├── flowsParser.js │ │ ├── functionsParser.js │ │ ├── markdownParser.js │ │ ├── pagesParser.js │ │ ├── parserManager.js │ │ ├── propTypesParser.js │ │ ├── propTypesParserUtils.js │ │ ├── propTypesTransformer.js │ │ ├── settingsConfigParser.js │ │ ├── settingsParser.js │ │ ├── stateParser.js │ │ └── templatesParser.js │ ├── project │ │ ├── ResourceAdapter.js │ │ ├── compiler │ │ │ ├── FlowModelCompiler.js │ │ │ ├── PageModelCompiler.js │ │ │ ├── PageModelReducer.js │ │ │ └── SettingsModelCompiler.js │ │ ├── generator │ │ │ ├── fileTemplates.js │ │ │ ├── flowsGeneratorManager.js │ │ │ ├── indicesGeneratorManager.js │ │ │ ├── pagesGeneratorManager.js │ │ │ ├── propTypesGenerator.js │ │ │ ├── schemaIndexGeneratorManager.js │ │ │ └── settingsGeneratorManager.js │ │ ├── projectFileFactory.js │ │ ├── projectGenerator.js │ │ ├── projectInstaller.js │ │ ├── projectManager.js │ │ ├── projectObjectFactory.js │ │ ├── projectResourcesCompiler.js │ │ ├── projectResourcesEnhancer.js │ │ ├── projectResourcesFactory.js │ │ ├── projectResourcesManager.js │ │ └── projectResourcesUtils.js │ ├── scaffold │ │ ├── components │ │ │ ├── generalComponentJS.js │ │ │ ├── generalComponentTS.js │ │ │ └── index.js │ │ ├── functions │ │ │ ├── functionsJS.js │ │ │ ├── functionsTS.js │ │ │ └── index.js │ │ ├── scaffoldManager.js │ │ └── utils.js │ ├── settings │ │ └── SettingsManager.js │ └── utils │ │ ├── arrayUtils.js │ │ ├── astUtils.js │ │ ├── babelParser.js │ │ ├── cloneDeep.js │ │ ├── commentsUtils.js │ │ ├── dirUtils.js │ │ ├── fileStat.js │ │ ├── fileUtils.js │ │ ├── resourceUtils.js │ │ ├── restClient.js │ │ ├── serverUtils.js │ │ ├── textUtils.js │ │ └── windowUtils.js │ └── css │ └── github-markdown.css └── webcodesk-srv.js /.npmignore: -------------------------------------------------------------------------------- 1 | .git 2 | .idea 3 | docs/hero.png 4 | node_modules 5 | public 6 | src 7 | gulpfile.js 8 | jsconfig.json 9 | yarn.lock 10 | *.iml 11 | *.log 12 | -------------------------------------------------------------------------------- /.yarnignore: -------------------------------------------------------------------------------- 1 | .git 2 | .idea 3 | docs/hero.png 4 | node_modules 5 | public 6 | src 7 | gulpfile.js 8 | jsconfig.json 9 | yarn.lock 10 | *.iml 11 | *.log 12 | -------------------------------------------------------------------------------- /docs/hero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webcodesk/webcodesk-srv/0419f7c3fb9e724987504f1d45efa92345e6790b/docs/hero.png -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | const del = require('del'); 20 | const babel = require('gulp-babel'); 21 | const { series, dest, src } = require('gulp'); 22 | const jsObfuscator = require('gulp-javascript-obfuscator'); 23 | 24 | function clean(){ 25 | return del(['./server'], {force: true}); 26 | } 27 | 28 | function commons(){ 29 | return src( 30 | [ 31 | './src/commons/**/*.js', 32 | '!./src/commons/**/__tests__', 33 | '!./src/commons/**/__tests__/**/*', 34 | ] 35 | ) 36 | .pipe(babel({ 37 | plugins: ['@babel/plugin-proposal-class-properties', '@babel/plugin-transform-runtime'], 38 | presets: ['@babel/env', '@babel/react'] 39 | })) 40 | .pipe(jsObfuscator({ 41 | compact: true, 42 | sourceMap: false 43 | })) 44 | .pipe(dest('./server/commons')); 45 | } 46 | 47 | function server() { 48 | return src( 49 | [ 50 | './src/srv/**/*.js', 51 | '!./src/srv/**/__tests__', 52 | '!./src/srv/**/__tests__/**/*', 53 | ] 54 | ) 55 | .pipe(babel({ 56 | plugins: ['@babel/plugin-proposal-class-properties', '@babel/plugin-transform-runtime'], 57 | presets: ['@babel/env', '@babel/react'] 58 | })) 59 | .pipe(jsObfuscator({ 60 | compact: true, 61 | sourceMap: false 62 | })) 63 | .pipe(dest('./server/srv')); 64 | } 65 | 66 | exports.build = series(clean, commons, server); 67 | -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "src" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webcodesk/webcodesk-srv/0419f7c3fb9e724987504f1d45efa92345e6790b/public/favicon.ico -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 35 | Webcodesk 36 | 37 | 38 | 41 |
42 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /src/app/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import Application from '../framework'; 21 | import schema from './schema'; 22 | import userComponents from './indices/userComponents'; 23 | import userFunctions from './indices/userFunctions'; 24 | 25 | let packageJson = {}; 26 | if (process.env.NODE_ENV !== 'production') { 27 | packageJson = require('../../package.json'); 28 | } 29 | 30 | const App = () => ( 31 | 38 | ); 39 | 40 | export default App; 41 | -------------------------------------------------------------------------------- /src/app/indices/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import userFunctions from "./userFunctions"; 20 | 21 | import userComponents from "./userComponents"; 22 | 23 | export default { 24 | userFunctions, 25 | 26 | userComponents, 27 | }; 28 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import usr from "./usr"; 20 | 21 | export default { 22 | usr 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/commons/AceEditor/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import AceEditor from "usr/components/commons/AceEditor"; 20 | 21 | export default { 22 | AceEditor 23 | } 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/commons/SearchTextField/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import SearchTextField from "usr/components/commons/SearchTextField"; 20 | 21 | export default { 22 | SearchTextField 23 | } 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/commons/ServerPortTextField/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import ServerPortTextField from "usr/components/commons/ServerPortTextField"; 20 | 21 | export default { 22 | ServerPortTextField 23 | } 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/commons/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import AceEditor from './AceEditor'; 20 | import SearchTextField from './SearchTextField'; 21 | import ServerPortTextField from './ServerPortTextField'; 22 | 23 | export default { 24 | AceEditor, 25 | SearchTextField, 26 | ServerPortTextField 27 | }; 28 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/debuggerDiagram/DebuggerDiagram/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import DebuggerDiagram from "usr/components/debuggerDiagram/DebuggerDiagram"; 20 | 21 | export default { 22 | DebuggerDiagram 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/debuggerDiagram/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import DebuggerDiagram from './DebuggerDiagram'; 20 | 21 | export default { 22 | DebuggerDiagram 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/ComponentScaffoldDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import ComponentScaffoldDialog from "usr/components/dialogs/ComponentScaffoldDialog"; 20 | 21 | export default { 22 | ComponentScaffoldDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/CopyFlowDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import CopyFlowDialog from "usr/components/dialogs/CopyFlowDialog"; 20 | 21 | export default { 22 | CopyFlowDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/CopyPageDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import CopyPageDialog from "usr/components/dialogs/CopyPageDialog"; 20 | 21 | export default { 22 | CopyPageDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/CopyTemplateDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import CopyTemplateDialog from "usr/components/dialogs/CopyTemplateDialog"; 20 | 21 | export default { 22 | CopyTemplateDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/DeleteFlowDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import DeleteFlowDialog from "usr/components/dialogs/DeleteFlowDialog"; 20 | 21 | export default { 22 | DeleteFlowDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/DeletePageDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import DeletePageDialog from "usr/components/dialogs/DeletePageDialog"; 20 | 21 | export default { 22 | DeletePageDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/DeleteTemplateDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import DeleteTemplateDialog from "usr/components/dialogs/DeleteTemplateDialog"; 20 | 21 | export default { 22 | DeleteTemplateDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/ExportAppDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import ExportAppDialog from "usr/components/dialogs/ExportAppDialog"; 20 | 21 | export default { 22 | ExportAppDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/ExportAppStatusDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import ExportAppStatusDialog from "usr/components/dialogs/ExportAppStatusDialog"; 20 | 21 | export default { 22 | ExportAppStatusDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/FunctionsScaffoldDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import FunctionsScaffoldDialog from "usr/components/dialogs/FunctionsScaffoldDialog"; 20 | 21 | export default { 22 | FunctionsScaffoldDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/InstallPackageDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import InstallPackageDialog from "usr/components/dialogs/InstallPackageDialog"; 20 | 21 | export default { 22 | InstallPackageDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/MarketBoardDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import MarketBoardDialog from "usr/components/dialogs/MarketBoardDialog"; 20 | 21 | export default { 22 | MarketBoardDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/NewFlowDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import NewFlowDialog from "usr/components/dialogs/NewFlowDialog"; 20 | 21 | export default { 22 | NewFlowDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/NewPageDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import NewPageDialog from "usr/components/dialogs/NewPageDialog"; 20 | 21 | export default { 22 | NewPageDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/NewTemplateDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import NewTemplateDialog from "usr/components/dialogs/NewTemplateDialog"; 20 | 21 | export default { 22 | NewTemplateDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/ProjectServerDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import ProjectServerDialog from "usr/components/dialogs/ProjectServerDialog"; 20 | 21 | export default { 22 | ProjectServerDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/RenameFlowDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import RenameFlowDialog from "usr/components/dialogs/RenameFlowDialog"; 20 | 21 | export default { 22 | RenameFlowDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/RenamePageDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import RenamePageDialog from "usr/components/dialogs/RenamePageDialog"; 20 | 21 | export default { 22 | RenamePageDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/RenameTemplateDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import RenameTemplateDialog from "usr/components/dialogs/RenameTemplateDialog"; 20 | 21 | export default { 22 | RenameTemplateDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/SyslogDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import SyslogDialog from "usr/components/dialogs/SyslogDialog"; 20 | 21 | export default { 22 | SyslogDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/dialogs/WelcomeDialog/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import WelcomeDialog from "usr/components/dialogs/WelcomeDialog"; 20 | 21 | export default { 22 | WelcomeDialog 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/editor/ActionsLogViewer/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import ActionsLogViewer from "usr/components/editor/ActionsLogViewer"; 20 | 21 | export default { 22 | ActionsLogViewer 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/editor/PageTree/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import PageTree from "usr/components/editor/PageTree"; 20 | 21 | export default { 22 | PageTree 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/editor/ResourceEditor/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import ResourceEditor from "usr/components/editor/ResourceEditor"; 20 | 21 | export default { 22 | ResourceEditor 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/editor/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import ActionsLogViewer from './ActionsLogViewer'; 20 | import ResourceEditor from "./ResourceEditor"; 21 | import PageTree from "./PageTree"; 22 | 23 | export default { 24 | ActionsLogViewer, 25 | ResourceEditor, 26 | PageTree 27 | }; 28 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import commons from './commons'; 20 | import debuggerDiagram from './debuggerDiagram'; 21 | 22 | import dialogs from "./dialogs"; 23 | 24 | import editor from "./editor"; 25 | 26 | import layouts from "./layouts"; 27 | 28 | import market from "./market"; 29 | 30 | import panels from "./panels"; 31 | 32 | export default { 33 | commons, 34 | 35 | debuggerDiagram, 36 | 37 | dialogs, 38 | 39 | editor, 40 | 41 | layouts, 42 | 43 | market, 44 | 45 | panels 46 | }; 47 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/layouts/NewProjectWizard/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import NewProjectWizard from "usr/components/layouts/NewProjectWizard"; 20 | 21 | export default { 22 | NewProjectWizard 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/layouts/ProjectLayout/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import ProjectLayout from "usr/components/layouts/ProjectLayout"; 20 | 21 | export default { 22 | ProjectLayout 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/layouts/StarterLayout/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import StarterLayout from "usr/components/layouts/StarterLayout"; 20 | 21 | export default { 22 | StarterLayout 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/layouts/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import NewProjectWizard from "./NewProjectWizard"; 20 | import ProjectLayout from "./ProjectLayout"; 21 | import StarterLayout from "./StarterLayout"; 22 | 23 | export default { 24 | NewProjectWizard, 25 | ProjectLayout, 26 | StarterLayout 27 | }; 28 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/market/MarketSearchView/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import MarketSearchView from "usr/components/market/MarketSearchView"; 20 | 21 | export default { 22 | MarketSearchView 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/market/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import MarketSearchView from "./MarketSearchView"; 20 | 21 | export default { 22 | MarketSearchView, 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/panels/LeftContainer/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import LeftContainer from "usr/components/panels/LeftContainer"; 20 | 21 | export default { 22 | LeftContainer 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/panels/LeftMicroPanel/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import LeftMicroPanel from "usr/components/panels/LeftMicroPanel"; 20 | 21 | export default { 22 | LeftMicroPanel 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/panels/LeftTopPanel/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import LeftTopPanel from "usr/components/panels/LeftTopPanel"; 20 | 21 | export default { 22 | LeftTopPanel 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/panels/ResourcesTreeView/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import ResourcesTreeView from "usr/components/panels/ResourcesTreeView"; 20 | 21 | export default { 22 | ResourcesTreeView 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/panels/SearchPanel/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import SearchPanel from "usr/components/panels/SearchPanel"; 20 | 21 | export default { 22 | SearchPanel 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/components/panels/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import LeftContainer from "./LeftContainer"; 20 | import LeftMicroPanel from "./LeftMicroPanel"; 21 | import LeftTopPanel from "./LeftTopPanel"; 22 | import ResourcesTreeView from "./ResourcesTreeView"; 23 | import SearchPanel from "./SearchPanel"; 24 | 25 | export default { 26 | LeftContainer, 27 | LeftMicroPanel, 28 | LeftTopPanel, 29 | ResourcesTreeView, 30 | SearchPanel 31 | }; 32 | -------------------------------------------------------------------------------- /src/app/indices/userComponents/usr/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import components from "./components"; 20 | 21 | export default { 22 | components 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userFunctions/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import usr from "./usr"; 20 | 21 | export default { 22 | usr 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/indices/userFunctions/usr/api/appInitializationMethods/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { 20 | initApplication, 21 | showErrorNotification, 22 | showMultipleErrorsNotification, 23 | showSuccessNotification, 24 | showInformationNotification, 25 | } from "usr/api/appInitializationMethods"; 26 | 27 | export default { 28 | initApplication, 29 | showErrorNotification, 30 | showMultipleErrorsNotification, 31 | showSuccessNotification, 32 | showInformationNotification, 33 | }; 34 | -------------------------------------------------------------------------------- /src/app/indices/userFunctions/usr/api/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import appInitializationMethods from "./appInitializationMethods"; 20 | 21 | import mainWindowMessageMethods from "./mainWindowMessageMethods"; 22 | 23 | import marketMethods from "./marketMethods"; 24 | 25 | import newProjectWizardMethods from './newProjectWizardMethods'; 26 | 27 | import newPackageMethods from './newPackageMethods'; 28 | 29 | import resourceEditorMethods from "./resourceEditorMethods"; 30 | 31 | import resourcesTreeViewMethods from "./resourcesTreeViewMethods"; 32 | 33 | import starterLayoutMethods from "./starterLayoutMethods"; 34 | 35 | export default { 36 | appInitializationMethods, 37 | 38 | mainWindowMessageMethods, 39 | 40 | marketMethods, 41 | 42 | newProjectWizardMethods, 43 | 44 | newPackageMethods, 45 | 46 | resourceEditorMethods, 47 | 48 | resourcesTreeViewMethods, 49 | 50 | starterLayoutMethods 51 | }; 52 | -------------------------------------------------------------------------------- /src/app/indices/userFunctions/usr/api/mainWindowMessageMethods/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { 20 | processMainWindowMessage, 21 | readResource, 22 | removeResource, 23 | updateResource, 24 | updateMultipleResources, 25 | writeEtcFile, 26 | writeMultipleEtcFiles, 27 | deleteEtcFile, 28 | getSyslog 29 | } from "usr/api/mainWindowMessageMethods"; 30 | 31 | export default { 32 | processMainWindowMessage, 33 | readResource, 34 | removeResource, 35 | updateResource, 36 | updateMultipleResources, 37 | writeEtcFile, 38 | writeMultipleEtcFiles, 39 | deleteEtcFile, 40 | getSyslog 41 | }; 42 | -------------------------------------------------------------------------------- /src/app/indices/userFunctions/usr/api/marketMethods/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { 20 | findProjects, 21 | selectProject, 22 | openMarketBoard, 23 | } from "usr/api/marketMethods"; 24 | 25 | export default { 26 | findProjects, 27 | selectProject, 28 | openMarketBoard, 29 | }; 30 | -------------------------------------------------------------------------------- /src/app/indices/userFunctions/usr/api/newPackageMethods/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { 20 | startInstallPackage, 21 | submitInstallPackage, 22 | openMarket, 23 | submitMarket 24 | } from "usr/api/newPackageMethods"; 25 | 26 | export default { 27 | startInstallPackage, 28 | submitInstallPackage, 29 | openMarket, 30 | submitMarket 31 | }; 32 | -------------------------------------------------------------------------------- /src/app/indices/userFunctions/usr/api/newProjectWizardMethods/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { 20 | createNewProjectSubmit, 21 | openMarket, 22 | submitMarket 23 | } from "usr/api/newProjectWizardMethods"; 24 | 25 | export default { 26 | createNewProjectSubmit, 27 | openMarket, 28 | submitMarket 29 | }; 30 | -------------------------------------------------------------------------------- /src/app/indices/userFunctions/usr/api/resourceEditorMethods/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { 20 | closeTabWithResourceByIndex, 21 | openTabWithResourceByIndex, 22 | openTabWithResourceByKey, 23 | updateAllTabs, 24 | openTabWithLivePreview, 25 | openTabWithReadmePreview, 26 | resourceItemDragStart, 27 | resourceItemDragEnd, 28 | updateResourceByTab, 29 | undoUpdateResourceByTab, 30 | openUrlInExternalBrowser, 31 | pushItemToClipboard, 32 | clearClipboard, 33 | writeResourceSourceCode, 34 | updateSettings, 35 | } from "usr/api/resourceEditorMethods"; 36 | 37 | export default { 38 | closeTabWithResourceByIndex, 39 | openTabWithResourceByIndex, 40 | openTabWithResourceByKey, 41 | updateAllTabs, 42 | openTabWithLivePreview, 43 | openTabWithReadmePreview, 44 | resourceItemDragStart, 45 | resourceItemDragEnd, 46 | updateResourceByTab, 47 | undoUpdateResourceByTab, 48 | openUrlInExternalBrowser, 49 | pushItemToClipboard, 50 | clearClipboard, 51 | writeResourceSourceCode, 52 | updateSettings, 53 | }; 54 | -------------------------------------------------------------------------------- /src/app/indices/userFunctions/usr/api/starterLayoutMethods/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { 20 | openExistingProject, 21 | testProjectConfiguration, 22 | closeExistingProject, 23 | testError, 24 | } from "usr/api/starterLayoutMethods"; 25 | 26 | export default { 27 | openExistingProject, 28 | testProjectConfiguration, 29 | closeExistingProject, 30 | testError, 31 | }; 32 | -------------------------------------------------------------------------------- /src/app/indices/userFunctions/usr/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import api from "./api"; 20 | 21 | export default { 22 | api 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/schema/flows/application/Show_Project_Readme.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export default [ 20 | { 21 | type: 'component', 22 | props: { 23 | componentName: 'usr.components.panels.LeftTopPanel.LeftTopPanel', 24 | componentInstance: 'leftTopPanel1', 25 | }, 26 | events: [ 27 | { 28 | name: 'onShowProjectReadme', 29 | targets: [ 30 | { 31 | type: 'userFunction', 32 | props: { 33 | functionName: 'usr.api.resourceEditorMethods.openTabWithReadmePreview', 34 | }, 35 | events: [ 36 | { 37 | name: 'activeEditorTabIndex', 38 | targets: [ 39 | { 40 | type: 'component', 41 | props: { 42 | componentName: 'usr.components.editor.ResourceEditor.ResourceEditor', 43 | componentInstance: 'resourceEditor1', 44 | propertyName: 'activeEditorTabIndex', 45 | }, 46 | } 47 | ] 48 | }, 49 | { 50 | name: 'resourceEditorTabs', 51 | targets: [ 52 | { 53 | type: 'component', 54 | props: { 55 | componentName: 'usr.components.editor.ResourceEditor.ResourceEditor', 56 | componentInstance: 'resourceEditor1', 57 | propertyName: 'resourceEditorTabs', 58 | }, 59 | } 60 | ] 61 | }, 62 | ] 63 | } 64 | ] 65 | } 66 | ] 67 | } 68 | ] -------------------------------------------------------------------------------- /src/app/schema/flows/application/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import Main_Window_Project_Server from './Main_Window_Project_Server'; 20 | import Show_Project_Readme from './Show_Project_Readme'; 21 | import Show_Syslog from './Show_Syslog'; 22 | import When_Resource_Is_Added from './When_Resource_Is_Added'; 23 | import When_Resource_Is_Changed from './When_Resource_Is_Changed'; 24 | import When_Resource_Is_Removed from './When_Resource_Is_Removed'; 25 | 26 | export default { 27 | Main_Window_Project_Server, 28 | Show_Project_Readme, 29 | Show_Syslog, 30 | When_Resource_Is_Added, 31 | When_Resource_Is_Changed, 32 | When_Resource_Is_Removed, 33 | } 34 | -------------------------------------------------------------------------------- /src/app/schema/flows/editor/Change_Active_Tab.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export default [ 20 | { 21 | type: 'component', 22 | props: { 23 | componentName: 'usr.components.editor.ResourceEditor.ResourceEditor', 24 | componentInstance: 'resourceEditor1', 25 | }, 26 | events: [ 27 | { 28 | name: 'onChangeEditorTab', 29 | targets: [ 30 | { 31 | type: 'userFunction', 32 | props: { 33 | functionName: 'usr.api.resourceEditorMethods.openTabWithResourceByIndex', 34 | }, 35 | events: [ 36 | { 37 | name: 'activeEditorTabIndex', 38 | targets: [ 39 | { 40 | type: 'component', 41 | props: { 42 | componentName: 'usr.components.editor.ResourceEditor.ResourceEditor', 43 | componentInstance: 'resourceEditor1', 44 | propertyName: 'activeEditorTabIndex', 45 | }, 46 | } 47 | ] 48 | }, 49 | ] 50 | } 51 | ] 52 | } 53 | ] 54 | } 55 | ]; -------------------------------------------------------------------------------- /src/app/schema/flows/editor/Click_On_Error.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export default [ 20 | { 21 | type: 'component', 22 | props: { 23 | componentName: 'usr.components.editor.ResourceEditor.ResourceEditor', 24 | componentInstance: 'resourceEditor1', 25 | }, 26 | events: [ 27 | { 28 | name: 'onErrorClick', 29 | targets: [ 30 | { 31 | type: 'userFunction', 32 | props: { 33 | functionName: 'usr.api.appInitializationMethods.showMultipleErrorsNotification', 34 | }, 35 | events: [ 36 | { 37 | name: 'notification', 38 | targets: [ 39 | { 40 | type: 'component', 41 | props: { 42 | componentName: 'usr.components.layouts.ProjectLayout.ProjectLayout', 43 | componentInstance: 'projectLayout1', 44 | propertyName: 'notification' 45 | } 46 | } 47 | ] 48 | } 49 | ] 50 | } 51 | ] 52 | } 53 | ] 54 | } 55 | ]; 56 | -------------------------------------------------------------------------------- /src/app/schema/flows/editor/Open_Url_In_Extrnal_Browser.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export default [ 20 | { 21 | type: 'component', 22 | props: { 23 | componentName: 'usr.components.editor.ResourceEditor.ResourceEditor', 24 | componentInstance: 'resourceEditor1', 25 | }, 26 | events: [ 27 | { 28 | name: 'onOpenUrl', 29 | targets: [ 30 | { 31 | type: 'userFunction', 32 | props: { 33 | functionName: 'usr.api.resourceEditorMethods.openUrlInExternalBrowser', 34 | }, 35 | } 36 | ] 37 | } 38 | ] 39 | } 40 | ]; -------------------------------------------------------------------------------- /src/app/schema/flows/editor/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import Double_Click_To_Open_Editor_Tab from './Double_Click_To_Open_Editor_Tab'; 20 | import Click_On_Error from './Click_On_Error'; 21 | import Close_Tab_By_Close_Tab_Click from './Close_Tab_By_Close_Tab_Click'; 22 | import Change_Active_Tab from './Change_Active_Tab'; 23 | import Open_Editor_Live_Preview_Tab from './Open_Editor_Live_Preview_Tab'; 24 | import Open_Editor_Tab_By_Resource_Key from './Open_Editor_Tab_By_Resource_Key'; 25 | import Open_Url_In_Extrnal_Browser from './Open_Url_In_Extrnal_Browser'; 26 | import Push_To_Clipboard from './Push_To_Clipboard'; 27 | import Save_As_New_Template from './Save_As_New_Template'; 28 | import Undo_Update_Resource_Tab from './Undo_Update_Resource_Tab'; 29 | import Update_Resource_Tab from './Update_Resource_Tab'; 30 | import Update_Settings from './Update_Settings'; 31 | import Write_Resource_Source_Code from './Write_Resource_Source_Code'; 32 | 33 | export default { 34 | Double_Click_To_Open_Editor_Tab, 35 | Click_On_Error, 36 | Close_Tab_By_Close_Tab_Click, 37 | Change_Active_Tab, 38 | Open_Editor_Live_Preview_Tab, 39 | Open_Editor_Tab_By_Resource_Key, 40 | Open_Url_In_Extrnal_Browser, 41 | Push_To_Clipboard, 42 | Save_As_New_Template, 43 | Undo_Update_Resource_Tab, 44 | Update_Resource_Tab, 45 | Update_Settings, 46 | Write_Resource_Source_Code, 47 | }; 48 | -------------------------------------------------------------------------------- /src/app/schema/flows/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import application from './application'; 20 | import market from './market'; 21 | import starterLayout from './starterLayout'; 22 | import resourcesTree from './resourcesTree'; 23 | import editor from './editor'; 24 | import newProjectWizard from './newProjectWizard'; 25 | import newPackage from './newPackage'; 26 | 27 | export default { 28 | application, 29 | market, 30 | starterLayout, 31 | resourcesTree, 32 | editor, 33 | newProjectWizard, 34 | newPackage, 35 | }; 36 | -------------------------------------------------------------------------------- /src/app/schema/flows/market/Open_Url.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export default [ 20 | { 21 | type: 'component', 22 | props: { 23 | componentName: 'usr.components.dialogs.MarketBoardDialog.MarketBoardDialog', 24 | componentInstance: 'marketBoardDialog1', 25 | }, 26 | events: [ 27 | { 28 | name: 'onOpenUrl', 29 | targets: [ 30 | { 31 | type: 'userFunction', 32 | props: { 33 | functionName: 'usr.api.resourceEditorMethods.openUrlInExternalBrowser', 34 | }, 35 | } 36 | ] 37 | }, 38 | ] 39 | } 40 | ] -------------------------------------------------------------------------------- /src/app/schema/flows/market/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import Open_Market from './Open_Market'; 20 | import Open_Market_From_Install_Package_Dialog from './Open_Market_From_Install_Package_Dialog'; 21 | import Open_Market_From_ProjectWizard from './Open_Market_From_ProjectWizard'; 22 | import Open_Url from './Open_Url'; 23 | import Select_Project from './Select_Project'; 24 | 25 | export default { 26 | Open_Market, 27 | Open_Market_From_Install_Package_Dialog, 28 | Open_Market_From_ProjectWizard, 29 | Open_Url, 30 | Select_Project, 31 | }; 32 | -------------------------------------------------------------------------------- /src/app/schema/flows/newPackage/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import Start_Install_Package_From_Market from './Start_Install_Package_From_Market'; 20 | import Submit_Install_Package from './Submit_Install_Package'; 21 | 22 | export default { 23 | Start_Install_Package_From_Market, 24 | Submit_Install_Package, 25 | }; 26 | -------------------------------------------------------------------------------- /src/app/schema/flows/newProjectWizard/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import Submit_Create_New_Project from './Submit_Create_New_Project'; 20 | 21 | export default { 22 | Submit_Create_New_Project, 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/schema/flows/resourcesTree/Cancel_Search_Item_By_Text.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export default [ 20 | { 21 | type: 'component', 22 | props: { 23 | componentName: 'usr.components.panels.SearchPanel.SearchPanel', 24 | componentInstance: 'searchPanel1', 25 | }, 26 | events: [ 27 | { 28 | name: 'onCancelSearchItems', 29 | targets: [ 30 | { 31 | type: 'userFunction', 32 | props: { 33 | functionName: 'usr.api.resourcesTreeViewMethods.cancelFindResourcesByText', 34 | }, 35 | events: [ 36 | { 37 | name: 'foundResourceKeys', 38 | targets: [ 39 | { 40 | type: 'component', 41 | props: { 42 | componentName: 'usr.components.panels.ResourcesTreeView.ResourcesTreeView', 43 | componentInstance: 'resourcesTreeView1', 44 | propertyName: 'highlightedResourceKeys', 45 | }, 46 | } 47 | ] 48 | }, 49 | ] 50 | } 51 | ] 52 | } 53 | ] 54 | } 55 | ]; -------------------------------------------------------------------------------- /src/app/schema/flows/resourcesTree/Get_Project_Server_Log.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export default [ 20 | { 21 | type: 'component', 22 | props: { 23 | componentName: 'usr.components.dialogs.ProjectServerDialog.ProjectServerDialog', 24 | componentInstance: 'projectServerDialog1', 25 | }, 26 | events: [ 27 | { 28 | name: 'onGetProjectServerLog', 29 | targets: [ 30 | { 31 | type: 'userFunction', 32 | props: { 33 | functionName: 'usr.api.resourcesTreeViewMethods.getProjectServerLog', 34 | }, 35 | } 36 | ] 37 | } 38 | ] 39 | } 40 | ] -------------------------------------------------------------------------------- /src/app/schema/flows/resourcesTree/Get_Server_Status.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export default [ 20 | { 21 | type: 'component', 22 | props: { 23 | componentName: 'usr.components.panels.LeftTopPanel.LeftTopPanel', 24 | componentInstance: 'leftTopPanel1', 25 | }, 26 | events: [ 27 | { 28 | name: 'onGetProjectServerStatus', 29 | targets: [ 30 | { 31 | type: 'userFunction', 32 | props: { 33 | functionName: 'usr.api.resourcesTreeViewMethods.getProjectServerStatus', 34 | }, 35 | } 36 | ] 37 | } 38 | ] 39 | } 40 | ] -------------------------------------------------------------------------------- /src/app/schema/flows/resourcesTree/Restart_Project_Server.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export default [ 20 | { 21 | type: 'component', 22 | props: { 23 | componentName: 'usr.components.dialogs.ProjectServerDialog.ProjectServerDialog', 24 | componentInstance: 'projectServerDialog1', 25 | }, 26 | events: [ 27 | { 28 | name: 'onRestartServer', 29 | targets: [ 30 | { 31 | type: 'userFunction', 32 | props: { 33 | functionName: 'usr.api.resourcesTreeViewMethods.restartProjectServer', 34 | }, 35 | } 36 | ] 37 | } 38 | ] 39 | } 40 | ] -------------------------------------------------------------------------------- /src/app/schema/flows/resourcesTree/Stop_Project_Server.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export default [ 20 | { 21 | type: 'component', 22 | props: { 23 | componentName: 'usr.components.dialogs.ProjectServerDialog.ProjectServerDialog', 24 | componentInstance: 'projectServerDialog1', 25 | }, 26 | events: [ 27 | { 28 | name: 'onStopServer', 29 | targets: [ 30 | { 31 | type: 'userFunction', 32 | props: { 33 | functionName: 'usr.api.resourcesTreeViewMethods.stopProjectServer', 34 | }, 35 | } 36 | ] 37 | } 38 | ] 39 | } 40 | ] -------------------------------------------------------------------------------- /src/app/schema/flows/resourcesTree/Toggle_Expanded_Item_By_Click.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export default [ 20 | { 21 | type: 'component', 22 | props: { 23 | componentName: 'usr.components.panels.ResourcesTreeView.ResourcesTreeView', 24 | componentInstance: 'resourcesTreeView1', 25 | }, 26 | events: [ 27 | { 28 | name: 'onToggleResourceTreeViewItem', 29 | targets: [ 30 | { 31 | type: 'userFunction', 32 | props: { 33 | functionName: 'usr.api.resourcesTreeViewMethods.toggleExpandedResourceKey', 34 | }, 35 | events: [ 36 | { 37 | name: 'expandedResourceKeys', 38 | targets: [ 39 | { 40 | type: 'component', 41 | props: { 42 | componentName: 'usr.components.panels.ResourcesTreeView.ResourcesTreeView', 43 | componentInstance: 'resourcesTreeView1', 44 | propertyName: 'expandedResourceKeys', 45 | }, 46 | } 47 | ] 48 | }, 49 | ] 50 | } 51 | ] 52 | } 53 | ] 54 | } 55 | ]; -------------------------------------------------------------------------------- /src/app/schema/flows/resourcesTree/TreeView_Create_New_Page.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export default [ 20 | { 21 | type: 'component', 22 | props: { 23 | componentName: 'usr.components.panels.ResourcesTreeView.ResourcesTreeView', 24 | componentInstance: 'resourcesTreeView1', 25 | }, 26 | events: [ 27 | { 28 | name: 'onCreatePage', 29 | targets: [ 30 | { 31 | type: 'userFunction', 32 | props: { 33 | functionName: 'usr.api.resourcesTreeViewMethods.createNewPageStart', 34 | }, 35 | events: [ 36 | { 37 | name: 'isDialogOpen', 38 | targets: [ 39 | { 40 | type: 'component', 41 | props: { 42 | componentName: 'usr.components.dialogs.NewPageDialog.NewPageDialog', 43 | componentInstance: 'newPageDialog1', 44 | propertyName: 'isOpen' 45 | }, 46 | } 47 | ] 48 | }, 49 | { 50 | name: 'dirPath', 51 | targets: [ 52 | { 53 | type: 'component', 54 | props: { 55 | componentName: 'usr.components.dialogs.NewPageDialog.NewPageDialog', 56 | componentInstance: 'newPageDialog1', 57 | propertyName: 'dirPath' 58 | }, 59 | } 60 | ] 61 | } 62 | ] 63 | } 64 | ] 65 | } 66 | ] 67 | } 68 | ] -------------------------------------------------------------------------------- /src/app/schema/flows/starterLayout/Mount_Starter_Layout.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export default [ 20 | { 21 | type: 'component', 22 | props: { 23 | componentName: 'usr.components.layouts.StarterLayout.StarterLayout', 24 | componentInstance: 'starterLayout1', 25 | }, 26 | events: [ 27 | { 28 | name: 'onMounted', 29 | targets: [ 30 | { 31 | type: 'userFunction', 32 | props: { 33 | functionName: 'usr.api.starterLayoutMethods.testProjectConfiguration' 34 | }, 35 | events: [ 36 | { 37 | name: 'projectConfigStatus', 38 | targets: [ 39 | { 40 | type: 'component', 41 | props: { 42 | componentName: 'usr.components.layouts.StarterLayout.StarterLayout', 43 | componentInstance: 'starterLayout1', 44 | propertyName: 'projectConfigStatus', 45 | } 46 | } 47 | ] 48 | } 49 | ] 50 | }, 51 | ] 52 | } 53 | ] 54 | } 55 | ]; 56 | -------------------------------------------------------------------------------- /src/app/schema/flows/starterLayout/Toggle_Left_Panel.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export default [ 20 | { 21 | type: 'component', 22 | props: { 23 | componentName: 'usr.components.panels.LeftMicroPanel.LeftMicroPanel', 24 | componentInstance: 'leftMicroPanel1', 25 | }, 26 | events: [ 27 | { 28 | name: 'onShowLeftPanel', 29 | targets: [ 30 | { 31 | type: 'component', 32 | props: { 33 | componentName: 'usr.components.layouts.ProjectLayout.ProjectLayout', 34 | componentInstance: 'projectLayout1', 35 | propertyName: 'showLeftPanel', 36 | }, 37 | } 38 | ] 39 | } 40 | ] 41 | }, 42 | { 43 | type: 'component', 44 | props: { 45 | componentName: 'usr.components.panels.LeftTopPanel.LeftTopPanel', 46 | componentInstance: 'leftTopPanel1', 47 | }, 48 | events: [ 49 | { 50 | name: 'onShowLeftPanel', 51 | targets: [ 52 | { 53 | type: 'component', 54 | props: { 55 | componentName: 'usr.components.layouts.ProjectLayout.ProjectLayout', 56 | componentInstance: 'projectLayout1', 57 | propertyName: 'showLeftPanel', 58 | }, 59 | } 60 | ] 61 | } 62 | ] 63 | }, 64 | ]; 65 | -------------------------------------------------------------------------------- /src/app/schema/flows/starterLayout/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import Mount_Project_Layout from './Mount_Project_Layout'; 20 | import Mount_Starter_Layout from './Mount_Starter_Layout'; 21 | import Open_Live_Preview_Tab_From_Micro_Panel from './Open_Live_Preview_Tab_From_Micro_Panel'; 22 | import Toggle_Left_Panel from './Toggle_Left_Panel'; 23 | import Unmount_Project_Layout from './Unmount_Project_Layout'; 24 | 25 | export default { 26 | Mount_Project_Layout, 27 | Mount_Starter_Layout, 28 | Open_Live_Preview_Tab_From_Micro_Panel, 29 | Toggle_Left_Panel, 30 | Unmount_Project_Layout, 31 | }; 32 | -------------------------------------------------------------------------------- /src/app/schema/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import flows from './flows'; 20 | import pages from './pages'; 21 | import routes from './routes'; 22 | 23 | export default { 24 | flows, 25 | pages, 26 | routes, 27 | }; 28 | -------------------------------------------------------------------------------- /src/app/schema/pages/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import home from './home'; 20 | 21 | export default { 22 | home, 23 | }; 24 | -------------------------------------------------------------------------------- /src/app/schema/routes.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export default [ 20 | { 21 | path: '/', 22 | pageName: 'home', 23 | }, 24 | { 25 | path: '/testPage/:parameter?', 26 | pageName: 'testPage' 27 | } 28 | ]; 29 | -------------------------------------------------------------------------------- /src/commons/appWindowMessages.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | module.exports = { 20 | WATCHER_START_WATCHING_FILES: 'watcher_startWatchingFiles', 21 | WATCHER_STOP_WATCHING_FILES: 'watcher_stopWatchingFiles', 22 | 23 | WATCHER_FILE_WAS_ADDED: 'watcher_fileWasAdded', 24 | WATCHER_FILE_WAS_CHANGED: 'watcher_fileWasChanged', 25 | WATCHER_FILE_WAS_REMOVED: 'watcher_fileWasRemoved', 26 | 27 | PROJECT_SERVER_START: 'PROJECT_SERVER_START', 28 | PROJECT_SERVER_STOP: 'PROJECT_SERVER_STOP', 29 | PROJECT_SERVER_STATUS_REQUEST: 'PROJECT_SERVER_STATUS_REQUEST', 30 | PROJECT_SERVER_LOG_REQUEST: 'PROJECT_SERVER_LOG_REQUEST', 31 | PROJECT_SERVER_STATUS_RESPONSE: 'PROJECT_SERVER_STATUS_RESPONSE', 32 | PROJECT_SERVER_LOG_RESPONSE: 'PROJECT_SERVER_LOG_RESPONSE', 33 | 34 | OPEN_URL_IN_EXTERNAL_BROWSER: 'OPEN_URL_IN_EXTERNAL_BROWSER', 35 | SHOW_SYSLOG_DIALOG: 'SHOW_SYSLOG_DIALOG', 36 | 37 | ROUTER_GO_TO_HOME: 'router_goToHome', 38 | 39 | OPEN_PROJECT_README: 'OPEN_PROJECT_README' 40 | 41 | }; 42 | -------------------------------------------------------------------------------- /src/framework/components/NotFoundComponent/NotFoundComponent.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | 21 | export function getComponentName(canonicalComponentName) { 22 | const titleParts = canonicalComponentName ? canonicalComponentName.split('.') : []; 23 | if (titleParts.length > 0) { 24 | return titleParts[titleParts.length - 1]; 25 | } 26 | return canonicalComponentName; 27 | } 28 | 29 | const style = {color: 'white', backgroundColor: 'red', borderRadius: '4px', padding: '.5em'}; 30 | 31 | class NotFoundComponent extends React.Component { 32 | 33 | render () { 34 | const { componentName } = this.props; 35 | return ( 36 |
37 | Component is not found: "{getComponentName(componentName)}" 38 |
39 | ); 40 | } 41 | } 42 | 43 | export default NotFoundComponent; 44 | -------------------------------------------------------------------------------- /src/framework/components/NotFoundComponent/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import NotFoundComponent from './NotFoundComponent'; 20 | 21 | export default NotFoundComponent; -------------------------------------------------------------------------------- /src/framework/components/PageComposition/ErrorBoundary.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | 21 | const style = {color: 'white', backgroundColor: 'red', borderRadius: '4px', padding: '.5em', overflow: 'auto'}; 22 | 23 | class ErrorBoundary extends React.Component { 24 | constructor (props) { 25 | super(props); 26 | this.state = { hasError: false, error: null }; 27 | } 28 | 29 | componentDidCatch (error, info) { 30 | this.setState({ hasError: true, error }); 31 | } 32 | 33 | render () { 34 | const {hasError, error} = this.state; 35 | if (hasError) { 36 | const { pageName } = this.props; 37 | return ( 38 |
39 | Error occurred in "{pageName}" page: 40 |
{error && error.message}
41 |
42 | ); 43 | } 44 | return this.props.children; 45 | } 46 | } 47 | 48 | export default ErrorBoundary; -------------------------------------------------------------------------------- /src/framework/components/PageComposition/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import PageComposition from './PageComposition'; 20 | 21 | export default PageComposition; -------------------------------------------------------------------------------- /src/framework/components/PageRouter/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import PageRouter from './PageRouter'; 20 | 21 | export default PageRouter; -------------------------------------------------------------------------------- /src/framework/components/StartWrapper/StartWrapper.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import PropTypes from 'prop-types'; 21 | import createContainerActions from '../../store/actions'; 22 | 23 | const componentName = 'applicationStartWrapper'; 24 | const componentInstance = 'wrapperInstance'; 25 | const containerKey = `${componentName}_${componentInstance}`; 26 | 27 | class StartWrapper extends React.Component { 28 | static propTypes = { 29 | actionSequences: PropTypes.object.isRequired, 30 | store: PropTypes.any.isRequired, 31 | }; 32 | 33 | componentDidMount () { 34 | const { actionSequences, store } = this.props; 35 | let containerHandlers = []; 36 | const actionSequence = actionSequences[containerKey]; 37 | if (actionSequence) { 38 | containerHandlers = actionSequence.events; 39 | } 40 | if (containerHandlers.length > 0) { 41 | const actions = createContainerActions(containerKey, containerHandlers); 42 | const onDidMountAction = actions['onApplicationStart']; 43 | if (onDidMountAction) { 44 | store.dispatch(onDidMountAction.apply(null, null)); 45 | } 46 | } 47 | } 48 | 49 | render () { 50 | return this.props.children; 51 | } 52 | } 53 | 54 | export default StartWrapper; 55 | -------------------------------------------------------------------------------- /src/framework/components/StartWrapper/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import StartWrapper from './StartWrapper'; 20 | 21 | export default StartWrapper; -------------------------------------------------------------------------------- /src/framework/components/WarningComponent/WarningComponent.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import { Link } from 'react-router-dom'; 21 | 22 | const style = { 23 | position: 'absolute', 24 | top: 0, 25 | left: 0, 26 | right: 0, 27 | height: '300px', 28 | display: 'flex', 29 | alignItems: 'center', 30 | justifyContent: 'center', 31 | }; 32 | 33 | class WarningComponent extends React.Component { 34 | 35 | render () { 36 | const { message, linkTo, linkLabel } = this.props; 37 | return ( 38 |
39 |
{message}
40 | {linkTo &&
  {linkLabel}
} 41 |
42 | ); 43 | } 44 | } 45 | 46 | export default WarningComponent; 47 | -------------------------------------------------------------------------------- /src/framework/components/WarningComponent/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import WarningComponent from './WarningComponent'; 20 | 21 | export default WarningComponent; -------------------------------------------------------------------------------- /src/framework/store/constants.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export const COMPONENT_TYPE = 'component'; 20 | export const USER_FUNCTION_TYPE = 'userFunction'; 21 | export const DISPATCH_ERROR_TYPE = 'caughtException'; 22 | -------------------------------------------------------------------------------- /src/framework/store/reducer.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export default function universalReducer (state = {}, action) { 20 | const { payload, type } = action; 21 | return { ...state, ...{ [type]: { ...state[type], ...payload } } }; 22 | }; 23 | -------------------------------------------------------------------------------- /src/framework/store/selectors.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { createSelector } from 'reselect'; 20 | 21 | const select = (componentName, componentInstance, propertyName) => (state, props) => { 22 | const instanceState = state[`${componentName}_${componentInstance}`]; 23 | if (instanceState) { 24 | if (props) { 25 | if (typeof instanceState[propertyName] !== 'undefined') { 26 | return instanceState[propertyName]; 27 | } 28 | return props.wrappedProps[propertyName]; 29 | } else { 30 | return instanceState[propertyName] 31 | } 32 | } else if (props) { 33 | return props.wrappedProps[propertyName]; 34 | } 35 | return undefined; 36 | }; 37 | 38 | export const createContainerSelector = (componentName, componentInstance, propertyName) => { 39 | return createSelector( 40 | select(componentName, componentInstance, propertyName), 41 | a => a 42 | ); 43 | }; 44 | 45 | export default createContainerSelector; 46 | -------------------------------------------------------------------------------- /src/framework/store/store.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { createStore, applyMiddleware } from 'redux'; 20 | import thunk from 'redux-thunk'; 21 | import rootReducer from './reducer'; 22 | 23 | let composeWithDevTools; 24 | if (process.env.NODE_ENV !== 'production') { 25 | const developmentOnly = require('redux-devtools-extension/developmentOnly'); 26 | composeWithDevTools = developmentOnly.composeWithDevTools; 27 | } 28 | 29 | export function configureStore(initialState, helpersConfig, {name, version}) { 30 | const middleware = [thunk.withExtraArgument(helpersConfig)]; 31 | 32 | let enhancer; 33 | 34 | if (process.env.NODE_ENV !== 'production') { 35 | 36 | // https://github.com/zalmoxisus/redux-devtools-extension#14-using-in-production 37 | const composeEnhancers = composeWithDevTools({ 38 | // Options: https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md#options 39 | name: `${name}@${version}`, 40 | }); 41 | 42 | // https://redux.js.org/docs/api/applyMiddleware.html 43 | enhancer = composeEnhancers(applyMiddleware(...middleware)); 44 | } else { 45 | enhancer = applyMiddleware(...middleware); 46 | } 47 | 48 | // https://redux.js.org/docs/api/createStore.html 49 | return createStore(rootReducer, initialState, enhancer); 50 | } 51 | -------------------------------------------------------------------------------- /src/icons/logo_color_150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webcodesk/webcodesk-srv/0419f7c3fb9e724987504f1d45efa92345e6790b/src/icons/logo_color_150x150.png -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import 'typeface-roboto'; 20 | import React from 'react'; 21 | import ReactDOM from 'react-dom'; 22 | import { MuiThemeProvider, createMuiTheme } from '@material-ui/core/styles'; 23 | import Close from '@material-ui/icons/Close'; 24 | import IconButton from '@material-ui/core/IconButton'; 25 | import { SnackbarProvider } from 'notistack'; 26 | import App from './app'; 27 | import { consoleError, clearConsoleErrors } from './usr/core/config/storage'; 28 | import './index.css'; 29 | import './usr/css/github-markdown.css'; 30 | 31 | if (process.env.NODE_ENV === 'production') { 32 | console.warn = consoleError; 33 | console.log = consoleError; 34 | console.error = consoleError; 35 | console.info = consoleError; 36 | } 37 | 38 | clearConsoleErrors().then(() => { 39 | const theme = createMuiTheme({ 40 | typography: { 41 | useNextVariants: true, 42 | fontFamily: ['"Roboto"', 'sans-serif'], 43 | fontSize: 13, 44 | htmlFontSize: 16, 45 | } 46 | }); 47 | 48 | window.addEventListener('contextmenu', (e) => { 49 | if (e) { 50 | e.stopPropagation(); 51 | e.preventDefault(); 52 | } 53 | }, true); 54 | 55 | ReactDOM.render( 56 | 57 | 61 | 62 | 63 | ]} 64 | > 65 | 66 | 67 | , 68 | document.getElementById('root') 69 | ); 70 | }); 71 | 72 | -------------------------------------------------------------------------------- /src/srv/socketUtils.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import * as appWindowMessages from '../commons/appWindowMessages'; 20 | import projectServer from './projectServer'; 21 | 22 | let ioSocketClient = undefined; 23 | 24 | let messageQueue = []; 25 | 26 | export function setIoSocketClient(value) { 27 | if (value) { 28 | ioSocketClient = value; 29 | ioSocketClient.emit('invitation', 'Hello from the Webcodesk server.'); 30 | if (messageQueue.length > 0) { 31 | messageQueue.forEach(messageItem => { 32 | sendMainWindowMessage(messageItem.type, messageItem.payload); 33 | }); 34 | messageQueue = []; 35 | } 36 | ioSocketClient.on('appWindowMessage', (message) => { 37 | const {type} = message; 38 | if (type === appWindowMessages.PROJECT_SERVER_STATUS_REQUEST) { 39 | sendMainWindowMessage(appWindowMessages.PROJECT_SERVER_STATUS_RESPONSE, projectServer.getServerStatus()); 40 | } else if (type === appWindowMessages.PROJECT_SERVER_LOG_REQUEST) { 41 | sendMainWindowMessage(appWindowMessages.PROJECT_SERVER_LOG_RESPONSE, projectServer.getServerLog()); 42 | } 43 | }); 44 | } 45 | } 46 | 47 | export function sendMainWindowMessage(type, payload = {}) { 48 | if (ioSocketClient) { 49 | ioSocketClient.emit( 50 | 'mainWindowMessage', 51 | { type, payload } 52 | ); 53 | } else { 54 | messageQueue.push({ type, payload }); 55 | // console.error('socket.io is not initialized on the server-side'); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/usr/api/appInitializationMethods.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { listenToAppWindow } from '../core/utils/serverUtils'; 20 | 21 | export const initApplication = () => (dispatch) => { 22 | listenToAppWindow((message) => { 23 | if (message) { 24 | const { type: messageType, payload: messageData } = message; 25 | dispatch({mainWindowMessage: { messageType, messageData }}); 26 | } 27 | }); 28 | }; 29 | 30 | export const showErrorNotification = (error) => (dispatch) => { 31 | const message = error && error.message; 32 | if (message && message.length > 0) { 33 | dispatch({notification: {message, options: {variant: 'error', autoHideDuration: 5000}}}) 34 | } 35 | }; 36 | 37 | export const showMultipleErrorsNotification = (errors) => (dispatch) => { 38 | if (errors && errors.length > 0) { 39 | errors.forEach(error => { 40 | const message = error && error.message; 41 | if (message && message.length > 0) { 42 | dispatch({notification: {message, options: {variant: 'error', autoHideDuration: 5000}}}) 43 | } 44 | }); 45 | } 46 | }; 47 | 48 | export const showSuccessNotification = (message) => (dispatch) => { 49 | if (message && message.length > 0) { 50 | dispatch({notification: {message, options: {variant: 'success', autoHideDuration: 4000}}}) 51 | } 52 | }; 53 | 54 | export const showInformationNotification = (message) => (dispatch) => { 55 | if (message && message.length > 0) { 56 | dispatch({notification: {message, options: {variant: 'info', autoHideDuration: 4000}}}) 57 | } 58 | }; 59 | -------------------------------------------------------------------------------- /src/usr/api/marketMethods.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import * as marketBoardManager from '../core/market/boardManager'; 20 | 21 | export const findProjects = ({projectsType, searchValues, searchLang}) => async (dispatch) => { 22 | dispatch({isLoading: true, selectedProject: null, error: ''}); 23 | // dispatch({selectedProject: null}); 24 | // dispatch({error: ''}); 25 | try { 26 | let projectsList = []; 27 | if (searchValues && searchValues.length > 0) { 28 | projectsList = await marketBoardManager.findProject(searchValues, searchLang); 29 | } else { 30 | projectsList = await marketBoardManager.getAllProjects(projectsType, searchLang); 31 | } 32 | dispatch({projectsList: projectsList}); 33 | const searchTagsList = await marketBoardManager.getSearchTagsList(); 34 | dispatch({searchTagsList: searchTagsList}); 35 | } catch(e) { 36 | dispatch({error: e.message}); 37 | } 38 | dispatch({isLoading: false}); 39 | }; 40 | 41 | export const openMarketBoard = () => dispatch => { 42 | dispatch({selectedProject: null}); 43 | }; 44 | 45 | export const selectProject = ({projectModel}) => async dispatch => { 46 | dispatch({isLoading: true, error: ''}); 47 | // dispatch({error: ''}); 48 | try { 49 | const projectData = await marketBoardManager.getProjectDetails(projectModel); 50 | dispatch({selectedProject: projectData}); 51 | } catch(e) { 52 | dispatch({error: e.message}); 53 | } 54 | dispatch({isLoading: false}); 55 | }; 56 | -------------------------------------------------------------------------------- /src/usr/api/newPackageMethods.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import * as constants from '../../commons/constants'; 20 | import * as projectInstaller from '../core/project/projectInstaller'; 21 | 22 | export const startInstallPackage = () => dispatch => { 23 | dispatch({ 24 | isOpen: true, 25 | error: '', 26 | data: {projectModel: null} 27 | }); 28 | // dispatch('error', ''); 29 | // dispatch('data', {projectModel: null}); 30 | }; 31 | 32 | export const submitInstallPackage = ({directoryName, projectModel}) => async (dispatch) => { 33 | dispatch({isLoading: true, error: ''}); 34 | // dispatch({error: ''}); 35 | try { 36 | await projectInstaller.installNewPackage({directoryName, projectModel}); 37 | dispatch({ 38 | isOpen: false, 39 | success: 'Package has been successfully installed' 40 | }); 41 | // dispatch('success', 'Package has been successfully installed'); 42 | } catch(e) { 43 | dispatch({error: e.message}); 44 | } finally { 45 | dispatch({isLoading: false}); 46 | } 47 | }; 48 | 49 | export const openMarket = () => async (dispatch) => { 50 | dispatch({ 51 | projectsType: constants.MARKET_NEW_PACKAGES_TYPE, 52 | isOpen: true 53 | }); 54 | // dispatch('isOpen', true); 55 | }; 56 | 57 | export const submitMarket = ({projectModel}) => (dispatch) => { 58 | dispatch({ 59 | data: {projectModel: projectModel}, 60 | isOpen: false 61 | }); 62 | // dispatch('isOpen', false); 63 | }; 64 | -------------------------------------------------------------------------------- /src/usr/api/newProjectWizardMethods.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import * as projectInstaller from '../core/project/projectInstaller'; 20 | import * as projectManager from '../core/project/projectManager'; 21 | import * as constants from '../../commons/constants'; 22 | 23 | export const createNewProjectSubmit = ({newProjectModel}) => async (dispatch) => { 24 | try { 25 | dispatch({creatingError: null}); 26 | await projectInstaller.createNewProject( 27 | {newProjectModel}, 28 | (feedback) => { 29 | if (feedback) { 30 | const { code } = feedback; 31 | if (code === 'log') { 32 | dispatch({installerFeedback: feedback}); 33 | } else if (code === '0') { 34 | projectManager.restartProjectServer(); 35 | dispatch({projectCreated: true}); 36 | } else { 37 | dispatch({ 38 | installerFeedback: feedback, 39 | creatingError: 'Error creating new project' 40 | }); 41 | } 42 | } 43 | } 44 | ) 45 | } catch(err) { 46 | dispatch({creatingError: err.message}); 47 | } 48 | }; 49 | 50 | export const openMarket = () => async (dispatch) => { 51 | dispatch({projectsType: constants.MARKET_NEW_PROJECTS_TYPE, isOpen: true}); 52 | }; 53 | 54 | export const submitMarket = ({projectModel}) => (dispatch) => { 55 | dispatch({data: {newProjectModel: projectModel}, isOpen: false}); 56 | }; 57 | -------------------------------------------------------------------------------- /src/usr/components/commons/LoadingPopover.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import { withStyles } from '@material-ui/core/styles'; 21 | import Typography from '@material-ui/core/Typography'; 22 | import LinearProgress from '@material-ui/core/LinearProgress'; 23 | 24 | const LoadingProgress = withStyles(theme => ({ 25 | root: { 26 | borderRadius: '4px', 27 | height: '6px' 28 | } 29 | }))(LinearProgress); 30 | 31 | const styles = theme => ({ 32 | root: { 33 | position: 'absolute', 34 | top: 0, 35 | left: 0, 36 | right: 0, 37 | bottom: 0, 38 | backgroundColor: 'rgba(255, 255, 255, 0.8)', 39 | display: 'flex', 40 | alignItems: 'flex-start', 41 | justifyContent: 'center', 42 | zIndex: 10 43 | }, 44 | progress: { 45 | width: '30%', 46 | padding: '1em', 47 | marginTop: '20%' 48 | } 49 | }); 50 | 51 | class LoadingPopover extends React.Component { 52 | render () { 53 | const { classes } = this.props; 54 | return ( 55 |
56 |
57 | Loading... 58 |
59 | 60 |
61 |
62 |
63 | ); 64 | } 65 | } 66 | 67 | export default withStyles(styles)(LoadingPopover); 68 | -------------------------------------------------------------------------------- /src/usr/components/commons/OneColumnLayout.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import { withStyles } from '@material-ui/core/styles'; 21 | 22 | const styles = theme => ({ 23 | root: { 24 | display: 'grid', 25 | gridGap: '1em', 26 | gridTemplateColumns: 'auto', 27 | alignItems: 'start' 28 | }, 29 | }); 30 | 31 | const OneColumnLayout = (props) => { 32 | const {classes, children} = props; 33 | return ( 34 |
35 | {children} 36 |
37 | ); 38 | }; 39 | 40 | export default withStyles(styles)(OneColumnLayout); 41 | -------------------------------------------------------------------------------- /src/usr/components/commons/Placeholder.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import PropTypes from 'prop-types'; 21 | import { withStyles } from '@material-ui/core/styles'; 22 | 23 | const styles = theme => ({ 24 | placeholder: { 25 | padding: '1em', 26 | border: '1px dashed #cccccc', 27 | borderRadius: '4px', 28 | display: 'flex', 29 | alignItems: 'center', 30 | justifyContent: 'center', 31 | backgroundColor: '#dddddd' 32 | } 33 | }); 34 | 35 | const Placeholder = ({title, height, classes}) => { 36 | const style = {}; 37 | if (height) { 38 | style.height = height; 39 | } 40 | return ( 41 |
42 | 43 | {title} 44 | 45 |
46 | ); 47 | }; 48 | 49 | Placeholder.propTypes = { 50 | title: PropTypes.string, 51 | height: PropTypes.string, 52 | }; 53 | 54 | Placeholder.defaultProps = { 55 | title: 'no title', 56 | height: null, 57 | }; 58 | 59 | export default withStyles(styles)(Placeholder); -------------------------------------------------------------------------------- /src/usr/components/commons/TwoColumnsLayout.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import { withStyles } from '@material-ui/core/styles'; 21 | 22 | const styles = theme => ({ 23 | root: { 24 | display: 'grid', 25 | gridGap: '1em', 26 | gridTemplateColumns: 'auto 1fr', 27 | alignItems: 'center' 28 | }, 29 | }); 30 | 31 | const TwoColumnsLayout = (props) => { 32 | const {classes, children} = props; 33 | return ( 34 |
35 | {children} 36 |
37 | ); 38 | }; 39 | 40 | export default withStyles(styles)(TwoColumnsLayout); 41 | -------------------------------------------------------------------------------- /src/usr/components/diagram/manager.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import * as d3 from 'd3'; 20 | import { getSeparation, adjustDimensions, createPropertiesAndLinks } from './utils'; 21 | 22 | export function createRoots(rootSelection, flare, basket) { 23 | 24 | const treemap = d3.tree() 25 | .nodeSize([60, 400]) 26 | .separation(getSeparation); 27 | 28 | const root = d3.hierarchy(flare, item => item.children); 29 | const treeData = treemap(root); 30 | // Compute the new tree layout. 31 | // Assigns the x and y position for the nodes 32 | let nodes = treeData.descendants(); 33 | 34 | nodes.forEach((item, index) => { 35 | adjustDimensions(item); 36 | }); 37 | 38 | let links = []; 39 | nodes.forEach((item, index) => { 40 | const _links = createPropertiesAndLinks(item); 41 | links = links.concat(_links); 42 | }); 43 | 44 | // Update the nodes... 45 | const rootNode = rootSelection 46 | .selectAll('g.node') 47 | .data(nodes, function(item) { return item.data.key; }); 48 | // Update the links... 49 | const rootLink = rootSelection 50 | .selectAll('path.link') 51 | .data(links, function(item) { return item.id; }); 52 | 53 | return { 54 | root, 55 | rootNode, 56 | rootLink, 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /src/usr/components/editor/ActionsLogViewer.parts.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { withStyles } from '@material-ui/core/styles'; 20 | import Chip from '@material-ui/core/Chip'; 21 | import Button from '@material-ui/core/Button'; 22 | import TableRow from '@material-ui/core/TableRow'; 23 | 24 | export const ActionsLogChip = withStyles(theme => ({ 25 | root: { 26 | height: '20px', 27 | borderRadius: '4px', 28 | backgroundColor: '#f1f1f1', 29 | fontWeight: 'bold' 30 | }, 31 | label: { 32 | paddingLeft: '6px', 33 | paddingRight: '6px', 34 | } 35 | }))(Chip); 36 | 37 | export const ActionsLogTableRow = withStyles(theme => ({ 38 | root: { 39 | height: '32px', 40 | }, 41 | }))(TableRow); 42 | 43 | export const ActionsLogTableRowSelected = withStyles(theme => ({ 44 | root: { 45 | height: '32px', 46 | backgroundColor: '#E3F2FD', 47 | } 48 | }))(TableRow); 49 | 50 | export const ActionsLogTableRowHighlighted = withStyles(theme => ({ 51 | root: { 52 | height: '32px', 53 | backgroundColor: '#fff59d', 54 | }, 55 | }))(TableRow); 56 | 57 | export const ActionsLogCellButton = withStyles(theme => ({ 58 | sizeSmall: { 59 | padding: '2px 8px', 60 | borderRadius: '16px', 61 | textTransform: 'none', 62 | fontWeight: 'normal', 63 | minHeight: '24px', 64 | marginLeft: '6px', 65 | whiteSpace: 'nowrap' 66 | } 67 | }))(Button); 68 | -------------------------------------------------------------------------------- /src/usr/components/editor/PageComposer.parts.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { withStyles } from '@material-ui/core/styles'; 20 | import Tabs from '@material-ui/core/Tabs'; 21 | import Tab from '@material-ui/core/Tab'; 22 | 23 | export const StructureTabs = withStyles(theme => ({ 24 | root: { 25 | minHeight: 'auto', 26 | minWidth: '190px', 27 | backgroundColor: '#f5f5f5', 28 | } 29 | }))(Tabs); 30 | 31 | export const StructureTab = withStyles(theme => ({ 32 | root: { 33 | textTransform: 'none', 34 | minHeight: 'auto', 35 | minWidth: 'auto', 36 | paddingLeft: '5px', 37 | paddingRight: '5px' 38 | }, 39 | wrapper: { 40 | flexDirection: 'row', 41 | }, 42 | labelIcon: { 43 | paddingTop: 0, 44 | }, 45 | labelContainer: { 46 | paddingLeft: '5px', 47 | paddingRight: '5px', 48 | }, 49 | selected: { 50 | backgroundColor: theme.palette.background.paper, 51 | } 52 | }))(Tab); 53 | -------------------------------------------------------------------------------- /src/usr/components/editor/ReadmePreview.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import PropTypes from 'prop-types'; 21 | import { withStyles } from '@material-ui/core/styles'; 22 | import MarkdownView from '../commons/MarkdownView'; 23 | 24 | const styles = theme => ({ 25 | root: { 26 | position: 'absolute', 27 | top: 0, 28 | bottom: 0, 29 | right: 0, 30 | left: 0, 31 | overflow: 'auto' 32 | }, 33 | }); 34 | 35 | class ReadmePreview extends React.Component { 36 | static propTypes = { 37 | readmeText: PropTypes.string, 38 | }; 39 | 40 | static defaultProps = { 41 | readmeText: '', 42 | }; 43 | 44 | render () { 45 | const { classes, readmeText } = this.props; 46 | return ( 47 |
48 | 49 |
50 | ); 51 | } 52 | } 53 | 54 | export default withStyles(styles)(ReadmePreview); 55 | -------------------------------------------------------------------------------- /src/usr/components/editor/ResourceEditor.parts.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { withStyles } from '@material-ui/core/styles'; 20 | import Tabs from '@material-ui/core/Tabs'; 21 | import Tab from '@material-ui/core/Tab'; 22 | import IconButton from '@material-ui/core/IconButton'; 23 | 24 | export const ResourceTabs = withStyles(theme => ({ 25 | root: { 26 | minHeight: 'auto', 27 | backgroundColor: '#f5f5f5', 28 | // borderBottom: '1px solid #dddddd' 29 | } 30 | }))(Tabs); 31 | 32 | export const ResourceTab = withStyles(theme => ({ 33 | root: { 34 | textTransform: 'none', 35 | minHeight: 'auto', 36 | minWidth: 'auto', 37 | paddingLeft: '10px', 38 | paddingRight: '5px', 39 | cursor: 'pointer', 40 | fontSize: '0.8125rem', 41 | '&:hover': { 42 | backgroundColor: theme.palette.action.hover, 43 | }, 44 | }, 45 | wrapper: { 46 | flexDirection: 'row', 47 | }, 48 | labelIcon: { 49 | paddingTop: 0, 50 | }, 51 | labelContainer: { 52 | paddingLeft: '5px', 53 | paddingRight: '5px', 54 | }, 55 | selected: { 56 | backgroundColor: theme.palette.background.paper, 57 | } 58 | }))(Tab); 59 | 60 | export const ResourceTabCloseButton = withStyles({ 61 | root: { 62 | padding: '3px', 63 | fontSize: '1em', 64 | } 65 | })(IconButton); 66 | -------------------------------------------------------------------------------- /src/usr/components/grids/AdaptiveGrid.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import { withStyles } from '@material-ui/core/styles'; 21 | 22 | const styles = theme => ({ 23 | root: { 24 | display: 'grid', 25 | gridTemplateColumns: 'repeat(auto-fit, minmax(70px, 1fr))', 26 | gridGap: '16px', 27 | } 28 | }); 29 | 30 | class AdaptiveGrid extends React.Component { 31 | render () { 32 | const {classes, children} = this.props; 33 | return ( 34 |
35 | {children} 36 |
37 | ); 38 | } 39 | } 40 | 41 | export default withStyles(styles)(AdaptiveGrid); 42 | -------------------------------------------------------------------------------- /src/usr/components/grids/Grid1ColumnVerticalRows.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import { withStyles } from '@material-ui/core/styles'; 21 | 22 | const styles = theme => ({ 23 | root: { 24 | display: 'grid', 25 | gridTemplateColumns: '1fr', 26 | gridTemplateRows: 'min-content', 27 | gridGap: '8px', 28 | alignItems: 'flex-start' 29 | } 30 | }); 31 | 32 | class Grid1ColumnVerticalRows extends React.Component { 33 | render () { 34 | const {classes, children} = this.props; 35 | return ( 36 |
37 | {children} 38 |
39 | ); 40 | } 41 | } 42 | 43 | export default withStyles(styles)(Grid1ColumnVerticalRows); 44 | -------------------------------------------------------------------------------- /src/usr/components/grids/Grid2Columns.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import { withStyles } from '@material-ui/core/styles'; 21 | 22 | const styles = theme => ({ 23 | root: { 24 | display: 'grid', 25 | gridTemplateColumns: '1fr 1fr', 26 | gridGap: '16px', 27 | } 28 | }); 29 | 30 | class Grid2Columns extends React.Component { 31 | render () { 32 | const {classes, children} = this.props; 33 | return ( 34 |
35 | {children} 36 |
37 | ); 38 | } 39 | } 40 | 41 | export default withStyles(styles)(Grid2Columns); 42 | -------------------------------------------------------------------------------- /src/usr/components/market/CommonCard.parts.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | // import React from 'react'; 20 | // import PropTypes from 'prop-types'; 21 | import { withStyles } from '@material-ui/core/styles'; 22 | import Avatar from '@material-ui/core/Avatar'; 23 | import Card from '@material-ui/core/Card'; 24 | import CardHeader from '@material-ui/core/CardHeader'; 25 | import CardContent from '@material-ui/core/CardContent'; 26 | import CardActionArea from '@material-ui/core/CardActionArea'; 27 | 28 | export const CommonCardHeader = withStyles(theme => ({ 29 | title: { 30 | fontSize: '16px', 31 | fontWeight: 700 32 | }, 33 | subheader: { 34 | fontSize: '10px' 35 | } 36 | }))(CardHeader); 37 | 38 | export const CommonCardAvatar = withStyles(theme => ({ 39 | root: { 40 | width: '1.5em', 41 | height: '1.5em', 42 | fontSize: '12px' 43 | } 44 | }))(Avatar); 45 | 46 | export const CommonCardContent = withStyles(theme => ({ 47 | root: { 48 | flexGrow: 1, 49 | } 50 | }))(CardContent); 51 | 52 | export const CommonCardActionArea = withStyles(theme => ({ 53 | root: { 54 | display: 'flex', 55 | flexGrow: 1, 56 | alignItems: 'stretch', 57 | justifyContent: 'flex-start', 58 | flexDirection: 'column' 59 | } 60 | }))(CardActionArea); 61 | 62 | export const CommonCard = withStyles(theme => ({ 63 | root: { 64 | display: 'flex', 65 | flexDirection: 'column', 66 | } 67 | }))(Card); 68 | -------------------------------------------------------------------------------- /src/usr/components/market/Market.parts.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import { withStyles } from '@material-ui/core/styles'; 21 | import Toolbar from '@material-ui/core/Toolbar'; 22 | import Typography from '@material-ui/core/Typography'; 23 | 24 | const ToolbarPanel = (props) => { 25 | return ( 26 |
27 | {props.children} 28 |
29 | ) 30 | }; 31 | 32 | export const MarketBoardToolbarPanel = withStyles(theme => ({ 33 | root: { 34 | display: 'flex', 35 | height: '39px', 36 | flexDirection: 'column', 37 | width: '100%', 38 | borderBottom: '1px solid #dddddd' 39 | } 40 | }))(ToolbarPanel); 41 | 42 | export const MarketBoardToolbar = withStyles(theme => ({ 43 | root: { 44 | minHeight: '38px', 45 | height: '38px', 46 | flexWrap: 'nowrap', 47 | } 48 | }))(Toolbar); 49 | 50 | export const PreTypography = withStyles(theme => ({ 51 | body1: { 52 | whiteSpace: 'pre-wrap' 53 | }, 54 | body2: { 55 | whiteSpace: 'pre-wrap' 56 | } 57 | }))(Typography); 58 | -------------------------------------------------------------------------------- /src/usr/components/market/MarketBoardGrid.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import { withStyles } from '@material-ui/core/styles'; 21 | 22 | const styles = theme => ({ 23 | root: { 24 | display: 'grid', 25 | gridTemplateColumns: '1fr', 26 | gridTemplateRows: 'min-content', 27 | gridGap: '0px', 28 | alignItems: 'start', 29 | justifyContent: 'start', 30 | marginBottom: '5em' 31 | } 32 | }); 33 | 34 | class MarketBoardGrid extends React.Component { 35 | render () { 36 | const {classes, children} = this.props; 37 | return ( 38 |
39 | {children} 40 |
41 | ); 42 | } 43 | } 44 | 45 | export default withStyles(styles)(MarketBoardGrid); 46 | -------------------------------------------------------------------------------- /src/usr/components/market/MarketErrorPopover.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import PropTypes from 'prop-types'; 21 | import { withStyles } from '@material-ui/core/styles'; 22 | import Typography from '@material-ui/core/Typography'; 23 | 24 | const styles = theme => ({ 25 | root: { 26 | position: 'absolute', 27 | top: 0, 28 | left: 0, 29 | right: 0, 30 | bottom: 0, 31 | backgroundColor: 'rgba(255, 255, 255, 0.8)', 32 | display: 'flex', 33 | alignItems: 'flex-start', 34 | justifyContent: 'center', 35 | zIndex: 10 36 | }, 37 | error: { 38 | width: '30%', 39 | padding: '1em', 40 | marginTop: '20%' 41 | }, 42 | errorText: { 43 | color: '#D50000', 44 | } 45 | }); 46 | 47 | class MarketErrorPopover extends React.Component { 48 | render () { 49 | const { classes, error } = this.props; 50 | return ( 51 |
52 |
53 | {error} 54 |
55 |
56 | ); 57 | } 58 | } 59 | 60 | MarketErrorPopover.propTypes = { 61 | error: PropTypes.string, 62 | }; 63 | 64 | MarketErrorPopover.defaultProps = { 65 | error: '' 66 | }; 67 | 68 | export default withStyles(styles)(MarketErrorPopover); 69 | -------------------------------------------------------------------------------- /src/usr/components/market/MarketGroupGrid.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import { withStyles } from '@material-ui/core/styles'; 21 | 22 | const styles = theme => ({ 23 | root: { 24 | display: 'grid', 25 | gridTemplateColumns: 'repeat(auto-fill, minmax(350px, 350px))', 26 | gridGap: '16px', 27 | marginBottom: '10em' 28 | } 29 | }); 30 | 31 | class MarketGroupGrid extends React.Component { 32 | render () { 33 | const {classes, children} = this.props; 34 | return ( 35 |
36 | {children} 37 |
38 | ); 39 | } 40 | } 41 | 42 | export default withStyles(styles)(MarketGroupGrid); 43 | -------------------------------------------------------------------------------- /src/usr/components/panels/DraggableWrapper.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import PropTypes from 'prop-types'; 21 | 22 | class DraggableWrapper extends React.Component { 23 | static propTypes = { 24 | resourceKey: PropTypes.string, 25 | resourceModel: PropTypes.object, 26 | onDragStart: PropTypes.func, 27 | onDragEnd: PropTypes.func, 28 | }; 29 | 30 | static defaultProps = { 31 | resourceKey: null, 32 | resourceModel: null, 33 | onDragStart: () => { 34 | console.info('DraggableWrapperForPage.onDragStart is not set'); 35 | }, 36 | onDragEnd: () => { 37 | console.info('DraggableWrapperForPage.onDragEnd is not set'); 38 | }, 39 | }; 40 | 41 | handleDragStart = (e) => { 42 | const { resourceKey, onDragStart } = this.props; 43 | e.dataTransfer.effectAllowed = 'copy'; 44 | e.dataTransfer.dropEffect = 'copy'; 45 | // workaround for Firefox 46 | e.dataTransfer.setData("text", " "); 47 | onDragStart(resourceKey); 48 | }; 49 | 50 | handleDragEnd = (e) => { 51 | const { resourceKey, resourceModel, onDragEnd} = this.props; 52 | onDragEnd(resourceKey, resourceModel); 53 | }; 54 | 55 | render () { 56 | return ( 57 |
63 | {this.props.children} 64 |
65 | ); 66 | } 67 | } 68 | 69 | export default DraggableWrapper; 70 | -------------------------------------------------------------------------------- /src/usr/components/panels/SearchPanel.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import PropTypes from 'prop-types'; 21 | import { withStyles } from '@material-ui/core/styles'; 22 | import SearchTextField from '../commons/SearchTextField'; 23 | 24 | const styles = theme => ({ 25 | root: { 26 | position: 'absolute', 27 | top: 0, 28 | left: 0, 29 | bottom: 0, 30 | right: 0, 31 | padding: '0 5px 0 5px', 32 | display: 'flex', 33 | alignItems: 'center', 34 | }, 35 | }); 36 | 37 | class SearchPanel extends React.Component { 38 | static propTypes = { 39 | searchText: PropTypes.string, 40 | onSearchItems: PropTypes.func, 41 | onCancelSearchItems: PropTypes.func, 42 | }; 43 | 44 | static defaultProps = { 45 | searchText: '', 46 | onSearchItems: () => { 47 | console.info('SearchPanel.onSearchItems is not set'); 48 | }, 49 | onCancelSearchItems: () => { 50 | console.info('SearchPanel.onCancelSearchItems is not set'); 51 | }, 52 | }; 53 | 54 | handleSearch = (searchText) => { 55 | this.props.onSearchItems(searchText); 56 | }; 57 | 58 | handleCancelSearch = () => { 59 | this.props.onCancelSearchItems(); 60 | }; 61 | 62 | render () { 63 | const {classes, searchText} = this.props; 64 | return ( 65 |
66 | 71 |
72 | ); 73 | } 74 | } 75 | 76 | export default withStyles(styles)(SearchPanel); 77 | -------------------------------------------------------------------------------- /src/usr/components/splitPane/Pane.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import React from 'react'; 20 | import PropTypes from 'prop-types'; 21 | import stylePropType from 'react-style-proptype'; 22 | 23 | class Pane extends React.PureComponent { 24 | render() { 25 | const { 26 | children, 27 | className, 28 | split, 29 | style: styleProps, 30 | size, 31 | eleRef, 32 | } = this.props; 33 | 34 | const classes = ['Pane', split, className]; 35 | 36 | let style = { 37 | flex: 1, 38 | position: 'relative', 39 | outline: 'none', 40 | }; 41 | 42 | if (size !== undefined) { 43 | if (split === 'vertical') { 44 | style.width = size; 45 | } else { 46 | style.height = size; 47 | style.display = 'flex'; 48 | } 49 | style.flex = 'none'; 50 | } 51 | 52 | style = Object.assign({}, style, styleProps || {}); 53 | 54 | return ( 55 |
56 | {children} 57 |
58 | ); 59 | } 60 | } 61 | 62 | Pane.propTypes = { 63 | className: PropTypes.string.isRequired, 64 | children: PropTypes.node.isRequired, 65 | size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), 66 | split: PropTypes.oneOf(['vertical', 'horizontal']), 67 | style: stylePropType, 68 | eleRef: PropTypes.func, 69 | }; 70 | 71 | Pane.defaultProps = {}; 72 | 73 | export default Pane; 74 | -------------------------------------------------------------------------------- /src/usr/components/splitPane/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import SplitPane from './SplitPane'; 20 | 21 | export default SplitPane; 22 | -------------------------------------------------------------------------------- /src/usr/core/config/globalStore.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { 20 | getRecord, 21 | setRecord, 22 | } from './storage'; 23 | import * as config from './config'; 24 | 25 | const store = new Map(); 26 | 27 | const globalStore = { 28 | restore: async function(key) { 29 | const result = await getRecord(config.projectDirPath, key); 30 | store.set(key, result); 31 | return result; 32 | }, 33 | get: function (key) { 34 | return store.get(key); 35 | }, 36 | set: function (key, object, doMakeRecord = false) { 37 | if (doMakeRecord) { 38 | setRecord(config.projectDirPath, object, key); 39 | } 40 | store.set(key, object); 41 | }, 42 | merge: function (key, object, doMakeRecord = false) { 43 | const existingObject = this.get(key); 44 | const newObject = {...existingObject, ...object}; 45 | if (doMakeRecord) { 46 | setRecord(config.projectDirPath, newObject, key); 47 | } 48 | store.set(key, newObject); 49 | return newObject; 50 | }, 51 | clear: function () { 52 | store.clear(); 53 | } 54 | }; 55 | 56 | export default globalStore; 57 | -------------------------------------------------------------------------------- /src/usr/core/flowComposer/flowComposerFactory.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { 20 | createDefaultFlowModel, 21 | createFlowModelForComponent, 22 | createFlowModelForFunction 23 | } from './flowModelCreators'; 24 | 25 | const DEFAULT_MODEL = 'DEFAULT_MODEL'; 26 | const COMPONENT_MODEL = 'COMPONENT_MODEL'; 27 | const USER_FUNCTION_MODEL = 'USER_FUNCTION_MODEL'; 28 | 29 | const creators = { 30 | [DEFAULT_MODEL]: createDefaultFlowModel, 31 | [COMPONENT_MODEL]: createFlowModelForComponent, 32 | [USER_FUNCTION_MODEL]: createFlowModelForFunction, 33 | }; 34 | 35 | export function createDefaultModel() { 36 | 37 | return creators[DEFAULT_MODEL](); 38 | } 39 | 40 | export function createFlowModel(resourceObject, inBasket) { 41 | if (resourceObject.isFlowComponentInstance || resourceObject.isComponentInstance) { 42 | if (!resourceObject.componentName || !resourceObject.componentInstance) { 43 | throw Error('FlowComposerFactory.createFlowModel: the dropped component is missing a component name, or a component instance name'); 44 | } 45 | return creators[COMPONENT_MODEL](resourceObject, inBasket); 46 | } else if (resourceObject.isUserFunction || resourceObject.isFlowUserFunction) { 47 | if (!resourceObject.functionName) { 48 | throw Error('FlowComposerFactory.createFlowModel: the dropped user function misses name'); 49 | } 50 | return creators[USER_FUNCTION_MODEL](resourceObject, inBasket); 51 | } 52 | return null; 53 | } -------------------------------------------------------------------------------- /src/usr/core/parser/flowsParser.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import isString from 'lodash/isString'; 20 | 21 | export function findFlowDeclarations (sourceCode) { 22 | const declarations = []; 23 | try { 24 | const pageJSON = isString(sourceCode) ? JSON.parse(sourceCode) : sourceCode; 25 | const { flowName, model, isDisabled, isTest } = pageJSON; 26 | const flowDeclaration = { 27 | flowName, 28 | isDisabled, 29 | isTest, 30 | model, 31 | }; 32 | declarations.push(flowDeclaration); 33 | } catch (e) { 34 | console.error('Parsing the flow source code: ', e); 35 | // do nothing... 36 | } 37 | return declarations; 38 | } 39 | -------------------------------------------------------------------------------- /src/usr/core/parser/markdownParser.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export function findMarkdownDeclarations (sourceCode) { 20 | const declarations = []; 21 | try { 22 | const markdownDeclaration = { 23 | markdownContent: sourceCode, 24 | }; 25 | declarations.push(markdownDeclaration); 26 | } catch (e) { 27 | console.error('Parsing the markdown source: ', e); 28 | // do nothing... 29 | } 30 | return declarations; 31 | } 32 | -------------------------------------------------------------------------------- /src/usr/core/parser/pagesParser.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import isString from 'lodash/isString'; 20 | 21 | export function findPageDeclarations(sourceCode) { 22 | const declarations = []; 23 | try { 24 | const pageJSON = isString(sourceCode) ? JSON.parse(sourceCode) : sourceCode; 25 | const { pageName, pagePath, componentsTree, isTest } = pageJSON; 26 | const pageDeclaration = { 27 | pageName, 28 | pagePath, 29 | componentsTree, 30 | isTest, 31 | }; 32 | declarations.push(pageDeclaration); 33 | } catch(e) { 34 | console.error('Parsing the page source code: ', e); 35 | // do nothing... 36 | } 37 | return declarations; 38 | } 39 | -------------------------------------------------------------------------------- /src/usr/core/parser/settingsParser.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import isString from 'lodash/isString'; 20 | 21 | export function findSettingsDeclarations (sourceCode) { 22 | const declarations = []; 23 | try { 24 | const pageJSON = isString(sourceCode) ? JSON.parse(sourceCode) : sourceCode; 25 | const { model } = pageJSON; 26 | const settingsDeclaration = { 27 | model, 28 | }; 29 | declarations.push(settingsDeclaration); 30 | } catch (e) { 31 | console.error('Parsing the settings source code: ', e); 32 | // do nothing... 33 | } 34 | return declarations; 35 | } 36 | -------------------------------------------------------------------------------- /src/usr/core/parser/stateParser.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import isString from 'lodash/isString'; 20 | 21 | export function findStateDeclarations (sourceCode) { 22 | const declarations = []; 23 | try { 24 | const pageJSON = isString(sourceCode) ? JSON.parse(sourceCode) : sourceCode; 25 | const stateDeclaration = { 26 | componentInstancesState: pageJSON || {}, 27 | }; 28 | declarations.push(stateDeclaration); 29 | } catch (e) { 30 | console.error('Parsing the state source code: ', e); 31 | // do nothing... 32 | } 33 | return declarations; 34 | } 35 | -------------------------------------------------------------------------------- /src/usr/core/parser/templatesParser.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import isString from 'lodash/isString'; 20 | 21 | export function findTemplateDeclarations(sourceCode) { 22 | const declarations = []; 23 | try { 24 | const templateJSON = isString(sourceCode) ? JSON.parse(sourceCode) : sourceCode; 25 | const { templateName, componentsTree } = templateJSON; 26 | const templateDeclaration = { 27 | templateName, 28 | componentsTree, 29 | }; 30 | declarations.push(templateDeclaration); 31 | } catch(e) { 32 | console.error('Parsing the template source code: ', e); 33 | // do nothing... 34 | } 35 | return declarations; 36 | } 37 | -------------------------------------------------------------------------------- /src/usr/core/project/generator/schemaIndexGeneratorManager.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import path from 'path-browserify'; 20 | import { repairPath, writeFileWhenDifferent } from '../../utils/fileUtils'; 21 | import constants from '../../../../commons/constants'; 22 | import { getSchemaIndexFileText } from './fileTemplates'; 23 | 24 | export async function generateSchemaIndex(destDir, appMode) { 25 | const indexFilePath = repairPath(path.join(destDir, 'index.js')); 26 | const indexFileText = getSchemaIndexFileText({ 27 | flowsFileName: constants.FILE_NAME_FLOWS, 28 | pagesFileName: constants.FILE_NAME_PAGES, 29 | routerFileName: constants.FILE_NAME_ROUTER, 30 | appMode 31 | }); 32 | return writeFileWhenDifferent(indexFilePath, indexFileText) 33 | .catch(error => { 34 | console.error(`Can not write index file "${indexFilePath}" `, error); 35 | }); 36 | } -------------------------------------------------------------------------------- /src/usr/core/scaffold/components/generalComponentTS.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export async function createFiles (componentName, dirName, destDirPath, fileExtension) { 20 | const fileObjects = []; 21 | return fileObjects; 22 | } -------------------------------------------------------------------------------- /src/usr/core/scaffold/components/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import * as generalComponentJS from './generalComponentJS'; 20 | import * as generalComponentTS from './generalComponentTS'; 21 | 22 | export default { 23 | generalComponentJS, 24 | generalComponentTS, 25 | }; 26 | -------------------------------------------------------------------------------- /src/usr/core/scaffold/functions/functionsTS.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export async function createFiles (fileName, dirName, destDirPath, fileExtension) { 20 | const fileObjects = []; 21 | return fileObjects; 22 | } 23 | 24 | -------------------------------------------------------------------------------- /src/usr/core/scaffold/functions/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import * as functionsJS from './functionsJS'; 20 | import * as functionsTS from './functionsTS'; 21 | 22 | export default { 23 | functionsJS, 24 | functionsTS 25 | } 26 | -------------------------------------------------------------------------------- /src/usr/core/scaffold/utils.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { repairPath, isExisting } from '../utils/fileUtils'; 20 | 21 | export async function checkFileExists(resourcePath) { 22 | const validResourcePath = repairPath(resourcePath); 23 | try { 24 | await isExisting(validResourcePath); 25 | return true; 26 | } catch (e) { 27 | return false; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/usr/core/settings/SettingsManager.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import cloneDeep from '../utils/cloneDeep'; 20 | import GraphModel from '../graph/GraphModel'; 21 | 22 | class SettingsManager { 23 | 24 | constructor (settingsProperties) { 25 | this.graphModel = new GraphModel({globallyUniqueKeys: false}); 26 | this.graphModel.initModel({children: cloneDeep(settingsProperties)}); 27 | } 28 | 29 | getModel () { 30 | return this.graphModel.getModel(); 31 | } 32 | 33 | getSettingsProperties () { 34 | const model = this.graphModel.getModel(); 35 | if (model) { 36 | return model.children; 37 | } 38 | return []; 39 | } 40 | 41 | updateProperty = (newPropertyModel) => { 42 | if (newPropertyModel) { 43 | const { key } = newPropertyModel; 44 | const prevModel = this.graphModel.getNode(key); 45 | if (prevModel) { 46 | return this.graphModel.updateNode(key, newPropertyModel); 47 | } 48 | } 49 | }; 50 | 51 | deleteProperty = (targetKey) => { 52 | this.graphModel.deleteNode(targetKey); 53 | }; 54 | 55 | increasePropertyArray = (targetKey) => { 56 | const nodeModel = this.graphModel.getNode(targetKey); 57 | if (nodeModel) { 58 | const { props } = nodeModel; 59 | if (props) { 60 | const {defaultChildren} = props; 61 | if (defaultChildren && defaultChildren.length > 0) { 62 | defaultChildren.forEach(childModel => { 63 | this.graphModel.addChildNode(targetKey, childModel); 64 | }); 65 | } 66 | } 67 | } 68 | }; 69 | 70 | } 71 | 72 | export default SettingsManager; -------------------------------------------------------------------------------- /src/usr/core/utils/arrayUtils.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | const arrayMoveMutate = (array, from, to) => { 20 | array.splice(to < 0 ? array.length + to : to, 0, array.splice(from, 1)[0]); 21 | }; 22 | 23 | export const arrayMove = (array, from, to) => { 24 | array = array.slice(); 25 | arrayMoveMutate(array, from, to); 26 | return array; 27 | }; 28 | -------------------------------------------------------------------------------- /src/usr/core/utils/astUtils.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | // Executes visitor on the object and its children (recursively). 20 | export function traverse(object, visitor) { 21 | 22 | visitor(object); 23 | 24 | for (let key in object) { 25 | if (object.hasOwnProperty(key)) { 26 | let child = object[key]; 27 | if (typeof child === 'object' && child !== null) { 28 | traverse(child, visitor); 29 | } 30 | } 31 | } 32 | } 33 | 34 | export function traverseWithResult(object, visitor, result) { 35 | 36 | let _result = visitor(object, result); 37 | 38 | for (let key in object) { 39 | if (object.hasOwnProperty(key)) { 40 | let child = object[key]; 41 | if (typeof child === 'object' && child !== null) { 42 | traverseWithResult(child, visitor, _result); 43 | } 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/usr/core/utils/babelParser.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import * as babel from '@babel/core'; 20 | import generate from '@babel/generator'; 21 | import presetReact from '@babel/preset-react'; 22 | import pluginProposalClassProperties from '@babel/plugin-proposal-class-properties'; 23 | import pluginSyntaxTypescript from '@babel/plugin-syntax-typescript'; 24 | import pluginSyntaxDynamicImport from '@babel/plugin-syntax-dynamic-import'; 25 | 26 | export const getSourceAst = (sourceCode) => { 27 | const ast = babel.parse(sourceCode, { 28 | plugins: [ 29 | pluginProposalClassProperties, 30 | pluginSyntaxDynamicImport, 31 | [pluginSyntaxTypescript, { isTSX: true }], 32 | ], 33 | presets: [ 34 | presetReact, 35 | ], 36 | // code: true, 37 | // ast: true, 38 | env: {}, 39 | // ranges: false, 40 | }); 41 | return ast.program; 42 | }; 43 | 44 | export const generateSource = (ast, code) => { 45 | return generate(ast, {}, code); 46 | }; 47 | -------------------------------------------------------------------------------- /src/usr/core/utils/cloneDeep.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import isEmpty from 'lodash/isEmpty'; 20 | 21 | export default function(jsonObject) { 22 | // console.info('Clone Deep: ', jsonObject); 23 | // if (!jsonObject) { 24 | // return jsonObject; 25 | // } 26 | // if (isEmpty(jsonObject)) { 27 | // return {...jsonObject}; 28 | // } 29 | try { 30 | return JSON.parse(JSON.stringify(jsonObject)); 31 | } catch (e) { 32 | return null; 33 | } 34 | } -------------------------------------------------------------------------------- /src/usr/core/utils/commentsUtils.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | /* eslint-disable no-useless-escape */ 20 | import constants from '../../../commons/constants'; 21 | 22 | const newLineRegExp = new RegExp(/\r?\n/); 23 | 24 | export const getWcdAnnotations = (commentRawValue) => { 25 | const result = {}; 26 | let validCommentLines = commentRawValue.split(newLineRegExp); 27 | let concatenatedCommentLine; 28 | let testCommentLine; 29 | if (validCommentLines && validCommentLines.length > 0) { 30 | concatenatedCommentLine = ''; 31 | validCommentLines.forEach(commentLine => { 32 | testCommentLine = commentLine.trim(); 33 | if (testCommentLine.charAt(0) === '*') { 34 | testCommentLine = testCommentLine.substring(1); 35 | } 36 | concatenatedCommentLine += `${testCommentLine}\n`; 37 | }); 38 | if (concatenatedCommentLine && concatenatedCommentLine.length > 1) { 39 | concatenatedCommentLine = concatenatedCommentLine.substring(0, concatenatedCommentLine.length - 1); 40 | result[constants.ANNOTATION_COMMENT] = concatenatedCommentLine; 41 | } 42 | } 43 | return result; 44 | }; 45 | -------------------------------------------------------------------------------- /src/usr/core/utils/dirUtils.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { invokeServer } from './serverUtils'; 20 | 21 | export function readDir(path) { 22 | return invokeServer('readDir', path) 23 | .catch(err => { 24 | console.error(`Error reading directory ${path}. `, err); 25 | }); 26 | } 27 | -------------------------------------------------------------------------------- /src/usr/core/utils/restClient.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | import { invokeServer } from './serverUtils'; 20 | import axios from 'axios'; 21 | import * as constants from '../../../commons/constants'; 22 | 23 | let axiosInstance; 24 | 25 | function getInstance() { 26 | if (!axiosInstance) { 27 | axiosInstance = axios.create({ 28 | baseURL: constants.URL_GITHUB_API, 29 | // headers: { 30 | // 'User-Agent': 'axios' 31 | // } 32 | }); 33 | } 34 | return axiosInstance; 35 | } 36 | 37 | export function get(url, token) { 38 | return getInstance() 39 | .get(url, { 40 | headers: { 41 | 'X-Auth-Token': token ? token : '' 42 | } 43 | }) 44 | .then(response => response.data); 45 | } 46 | 47 | export function getRaw(url) { 48 | return getInstance() 49 | .get(url, { 50 | headers: { 51 | Accept: 'application/vnd.github.v3.raw', 52 | } 53 | }) 54 | .then(response => response.data); 55 | } 56 | 57 | export function getHTML(url) { 58 | return getInstance() 59 | .get(url, { 60 | headers: { 61 | Accept: 'application/vnd.github.v3.html', 62 | } 63 | }) 64 | .then(response => response.data); 65 | } 66 | 67 | export function post(url, token, body) { 68 | return getInstance() 69 | .post(url, body, {headers: {'X-Auth-Token': token ? token : ''}}) 70 | .then(response => response.data); 71 | } 72 | 73 | export function download2(url, destDirPath) { 74 | return invokeServer('download', {url, destDirPath}) 75 | .catch(err => { 76 | console.error(`Error downloading from URL ${url} into ${destDirPath}. `, err); 77 | }); 78 | } 79 | -------------------------------------------------------------------------------- /src/usr/core/utils/windowUtils.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Webcodesk 3 | * Copyright (C) 2019 Oleksandr (Alex) Pustovalov 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | export function getOffset(el) { 20 | const rect = el.getBoundingClientRect(); 21 | const scrollLeft = window.pageXOffset || document.documentElement.scrollLeft; 22 | const scrollTop = window.pageYOffset || document.documentElement.scrollTop; 23 | return { 24 | top: (rect.top + scrollTop), 25 | left: (rect.left + scrollLeft), 26 | right: rect.right + scrollLeft, 27 | bottom: rect.bottom + scrollTop 28 | }; 29 | } --------------------------------------------------------------------------------