From a2cdafaf9a09c1142022dd7d4a9bbe1ec9718ee0 Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Tue, 7 Dec 2021 20:49:40 +0800 Subject: [PATCH] [Refactor] Add query logic --- .gitignore | 2 + angular.json | 3 +- package.json | 2 + scripts/app-runner/index.js | 72 ------------------- scripts/app-runner/logger.js | 65 ----------------- scripts/app-runner/webpack.main.config.js | 56 --------------- src/renderer/app/app.module.ts | 8 ++- .../app/layout/header/header.component.html | 13 ++-- src/renderer/app/layout/layout.routing.ts | 4 ++ src/renderer/app/pages/home/home.module.ts | 1 - .../app/pages/query/query.component.html | 42 +++++++++++ .../app/pages/query/query.component.ts | 54 ++++++++++++++ src/renderer/app/pages/query/query.module.ts | 41 +++++++++++ src/renderer/assets/i18n/en.json | 10 ++- src/renderer/assets/scss/_demo.scss | 4 ++ .../scss/bootstrap-overrides/_card.scss | 1 + .../bootstrap/table/table.component.html | 31 ++++++++ .../bootstrap/table/table.component.ts | 44 ++++++++++++ .../bootstrap/table/table.module.ts | 22 ++++++ src/renderer/main.ts | 17 +++-- .../services/editor/editor.service.ts | 14 ++++ src/renderer/services/query/query.service.ts | 11 +++ src/renderer/styles.scss | 1 - src/renderer/utils/http.utils.ts | 2 +- yarn.lock | 18 +++++ 25 files changed, 330 insertions(+), 208 deletions(-) delete mode 100644 scripts/app-runner/index.js delete mode 100644 scripts/app-runner/logger.js delete mode 100644 scripts/app-runner/webpack.main.config.js create mode 100644 src/renderer/app/pages/query/query.component.html create mode 100644 src/renderer/app/pages/query/query.component.ts create mode 100644 src/renderer/app/pages/query/query.module.ts create mode 100644 src/renderer/directives/bootstrap/table/table.component.html create mode 100644 src/renderer/directives/bootstrap/table/table.component.ts create mode 100644 src/renderer/directives/bootstrap/table/table.module.ts create mode 100644 src/renderer/services/editor/editor.service.ts create mode 100644 src/renderer/services/query/query.service.ts diff --git a/.gitignore b/.gitignore index df0b4647..4644b4a0 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,8 @@ src/**/*.js !src/karma.conf.js *.js.map +scripts/app-runner/*.js + # dependencies node_modules diff --git a/angular.json b/angular.json index 4556c829..61360e8e 100644 --- a/angular.json +++ b/angular.json @@ -34,7 +34,8 @@ "src/renderer/assets" ], "styles": [ - "src/renderer/styles.scss" + "src/renderer/styles.scss", + "node_modules/material-design-iconic-font/dist/css/material-design-iconic-font.min.css" ], "scripts": [], "customWebpackConfig": { diff --git a/package.json b/package.json index d3109cca..9ff9bc0f 100644 --- a/package.json +++ b/package.json @@ -47,8 +47,10 @@ "codemirror": "^5.64.0", "conventional-changelog-cli": "^2.1.1", "font-awesome": "^4.7.0", + "material-design-iconic-font": "^2.2.0", "moment": "^2.29.1", "ngx-bootstrap": "^7.1.0", + "ngx-select-ex": "^7.0.1", "ngx-toastr": "^14.2.1", "rxjs": "~6.6.0", "sass-loader": "^12.3.0", diff --git a/scripts/app-runner/index.js b/scripts/app-runner/index.js deleted file mode 100644 index 717041dc..00000000 --- a/scripts/app-runner/index.js +++ /dev/null @@ -1,72 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var path = require("path"); -var webpack = require("webpack"); -var WaitOn = require("wait-on"); -var cli_1 = require("@angular/cli"); -var child_process_1 = require("child_process"); -var logger_1 = require("./logger"); -var webpack_main_config_1 = require("./webpack.main.config"); -var electronProcess = null; -var manualRestart = false; -var hotMiddleware; -function startRenderer() { - cli_1.default({ cliArgs: ['serve', '--configuration', 'development'] }) - .then(function (result) { return logger_1.rendererLog(result, 'blue'); }) - .catch(function (err) { return logger_1.rendererLog(err, 'red'); }); - return WaitOn({ resources: ['tcp:4200'] }).then(function () { - logger_1.rendererLog('The renderer process is running at port 4200!', 'blue'); - }); -} -function startMain() { - return new Promise(function (resolve, reject) { - var compiler = webpack.webpack(webpack_main_config_1.default); - compiler.hooks.watchRun.tapAsync('watch-run', function (compilation, done) { - logger_1.mainLog('compiling...', 'white'); - done(); - }); - compiler.watch({}, function (err, stats) { - if (err) { - logger_1.mainLog(err, 'red'); - return; - } - logger_1.logStats('Main', stats); - if (!electronProcess || electronProcess.killed) { - return resolve(); - } - manualRestart = true; - process.kill(electronProcess.pid); - electronProcess = null; - startElectron(); - setTimeout(function () { return manualRestart = false; }, 5000); - }); - }); -} -function startElectron() { - var args = [ - '--inspect=5858', - path.join(__dirname, '../../dist/main/main.js') - ]; - if (process.env.npm_execpath.endsWith('yarn.js')) { - args.push.apply(args, process.argv.slice(3)); - } - if (process.env.npm_execpath.endsWith('npm-cli.js')) { - args.push.apply(args, process.argv.slice(2)); - } - electronProcess = child_process_1.spawn(require('electron'), args); - electronProcess.stdout.on('data', function (data) { return logger_1.electronLog(data, 'blue'); }); - electronProcess.stderr.on('data', function (data) { return logger_1.electronLog(data, 'red'); }); - electronProcess.on('close', function () { - if (!manualRestart) { - process.exit(); - } - }); -} -function init() { - logger_1.greeting(); - Promise - .all([startRenderer(), startMain()]).then(startElectron) - .catch(function (err) { return logger_1.runnerLog(err, 'red'); }); -} -init(); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/scripts/app-runner/logger.js b/scripts/app-runner/logger.js deleted file mode 100644 index ffd042cd..00000000 --- a/scripts/app-runner/logger.js +++ /dev/null @@ -1,65 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.runnerLog = exports.electronLog = exports.rendererLog = exports.mainLog = exports.logStats = exports.greeting = void 0; -var chalk = require("chalk"); -var cfonts_1 = require("cfonts"); -function logStats(proc, data) { - var log = '\n\n'; - log += chalk.yellow.bold("\u250F " + proc + " Process " + new Array((19 - proc.length) + 1).join('-')); - log += '\n\n'; - if (typeof data === 'object') { - data.toString({ - colors: true, - chunks: false - }).split(/\r?\n/).forEach(function (line) { return log += " " + line + "\n"; }); - } - else { - log += " " + data + "\n"; - } - log += "\n" + chalk.yellow.bold("\u2517 " + new Array(28 + 1).join('-')) + "\n"; - console.log(log); -} -exports.logStats = logStats; -function printLog(target, data, color) { - var log = ''; - data = data.toString().split(/\r?\n/); - data.forEach(function (line) { return log += " " + line + "\n"; }); - if (/[0-9A-z]+/.test(log)) { - console.log(chalk[color].bold("\n\u250F " + target + " -------------------") + - '\n\n' + - log + - chalk[color].bold('┗ ----------------------------') + - '\n'); - } -} -function greeting() { - var text = 'dbm'; - if (text) { - cfonts_1.say(text, { - colors: ['blue'], - font: 'simple3d', - space: false - }); - } - else { - console.log(chalk.yellow.bold('\n dbm')); - } -} -exports.greeting = greeting; -function mainLog(data, color) { - printLog('Main', data, color); -} -exports.mainLog = mainLog; -function rendererLog(data, color) { - printLog('Renderer', data, color); -} -exports.rendererLog = rendererLog; -function electronLog(data, color) { - printLog('Electron', data, color); -} -exports.electronLog = electronLog; -function runnerLog(data, color) { - printLog('Runner', data, color); -} -exports.runnerLog = runnerLog; -//# sourceMappingURL=logger.js.map \ No newline at end of file diff --git a/scripts/app-runner/webpack.main.config.js b/scripts/app-runner/webpack.main.config.js deleted file mode 100644 index 5cc462a3..00000000 --- a/scripts/app-runner/webpack.main.config.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; -var __spreadArray = (this && this.__spreadArray) || function (to, from) { - for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) - to[j] = from[i]; - return to; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -/* eslint-disable */ -process.env.BABEL_ENV = 'main'; -process.env.NODE_ENV = process.env.NODE_ENV || 'development'; -var path_1 = require("path"); -var dependencies = require('../../package.json').dependencies; -var mainConfig = { - mode: process.env.NODE_ENV, - target: 'electron-main', - devtool: 'source-map', - entry: { - main: path_1.resolve(__dirname, '../../src/main/main.ts') - }, - output: { - filename: '[name].js', - path: path_1.resolve(__dirname, '../../dist/main'), - libraryTarget: 'commonjs', - }, - externals: __spreadArray([], dependencies), - node: { - __dirname: process.env.NODE_ENV !== 'production', - __filename: process.env.NODE_ENV !== 'production' - }, - module: { - rules: [ - { - test: /\.tsx?$/, - use: [ - { - loader: 'ts-loader', - options: { - configFile: path_1.resolve(__dirname, '../../src/tsconfig.main.json'), - }, - }, - ], - exclude: /node_modules/, - }, - ] - }, - plugins: [], - resolve: { - extensions: ['.ts', '.json', '.js'] - }, -}; -if (process.env.NODE_ENV !== 'production') { -} -if (process.env.NODE_ENV === 'production') { -} -exports.default = mainConfig; -//# sourceMappingURL=webpack.main.config.js.map \ No newline at end of file diff --git a/src/renderer/app/app.module.ts b/src/renderer/app/app.module.ts index 784a009b..178d22e1 100644 --- a/src/renderer/app/app.module.ts +++ b/src/renderer/app/app.module.ts @@ -5,6 +5,7 @@ import { AppComponent } from './app.component'; import { CommonModule, HashLocationStrategy, LocationStrategy } from '@angular/common'; import { HttpClientModule } from '@angular/common/http'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { ToastrModule, ToastrService } from 'ngx-toastr'; @NgModule({ declarations: [ @@ -15,9 +16,14 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; CommonModule, HttpClientModule, BrowserAnimationsModule, - AppRoutingModule + AppRoutingModule, + ToastrModule.forRoot() ], providers: [ + { + provide: ToastrService, + useClass: ToastrService + }, { provide: LocationStrategy, useClass: HashLocationStrategy diff --git a/src/renderer/app/layout/header/header.component.html b/src/renderer/app/layout/header/header.component.html index c5bd2e4f..344b8fd5 100644 --- a/src/renderer/app/layout/header/header.component.html +++ b/src/renderer/app/layout/header/header.component.html @@ -4,16 +4,21 @@

DBM

-