Explorar o código

yvan-ext init step

luoyifan %!s(int64=4) %!d(string=hai) anos
pai
achega
ba168b81d9
Modificáronse 6 ficheiros con 109 adicións e 33 borrados
  1. 5 1
      package.json
  2. 1 0
      src/Scope.ts
  3. 28 21
      src/controls/MainTab.js
  4. 16 8
      src/index.ts
  5. 4 2
      src/init.ts
  6. 55 1
      yarn.lock

+ 5 - 1
package.json

@@ -42,6 +42,10 @@
   "dependencies": {
     "axios": "^0.20.0",
     "qs": "6.5.1",
-    "lodash": "^4.14.149"
+    "lodash": "^4.14.149",
+    "echarts": "^5.1.2",
+    "recast": "^0.20.4",
+    "jquery": "^3.6.0",
+    "json5": "^2.2.0"
   }
 }

+ 1 - 0
src/Scope.ts

@@ -1,6 +1,7 @@
 export class Scope {
 
     viewModel
+    _handle
 
     constructor({model}) {
         this.viewModel = new Ext.app.ViewModel(model);

+ 28 - 21
src/controls/MainTab.js

@@ -1,27 +1,34 @@
-Ext.define('Yvan.MainTab', {
-    extend: 'Ext.tab.Panel',
-    xtype: 'maintab',
+import _ from 'lodash'
+import $ from 'jquery'
 
-    constructor(config) {
-        const self = this
-        const newConfig = _.defaultsDeep({}, config, {
-            listeners: {
-                tabchange(tabPanel, newCard, oldCard, eOpts) {
-                    console.log('tabChange')
-                    $(window).trigger('tabChange', {
-                        tabPanel, newCard, oldCard, eOpts
-                    });
+export default function () {
 
-                    if (typeof config.tabchange === 'function') {
-                        config.tabchange.apply(this, arguments)
+    Ext.define('Yvan.MainTab', {
+        extend: 'Ext.tab.Panel',
+        xtype: 'maintab',
+
+        constructor(config) {
+            const self = this
+            const newConfig = _.defaultsDeep({}, config, {
+                listeners: {
+                    tabchange(tabPanel, newCard, oldCard, eOpts) {
+                        console.log('tabChange')
+                        $(window).trigger('tabChange', {
+                            tabPanel, newCard, oldCard, eOpts
+                        });
+
+                        if (typeof config.tabchange === 'function') {
+                            config.tabchange.apply(this, arguments)
+                        }
                     }
                 }
-            }
-        })
-        this.superclass.constructor.call(self, newConfig)
-    },
+            })
+            this.superclass.constructor.call(self, newConfig)
+        },
+
+        addScope() {
 
-    addScope() {
+        }
+    });
 
-    }
-});
+}

+ 16 - 8
src/index.ts

@@ -1,13 +1,21 @@
-import _ from 'lodash'
 import Defaults from './Defaults'
-import init from './init'
-
+import * as axios from 'axios'
+import qs from 'qs'
+import lodash from 'lodash'
+import jquery from 'jquery'
+import json5 from 'json5'
+import moment from 'moment'
 import './wotu-ui.css'
 
-export {_, Defaults}
+export {
+    axios,
+    qs,
+    lodash,
+    jquery,
+    json5,
+    moment,
+    Defaults
+}
 
 export * from './Scope'
-
-Ext.onReady(() => {
-    init()
-})
+export * from './init'

+ 4 - 2
src/init.ts

@@ -1,6 +1,6 @@
-import './controls/MainTab'
+import initMainTab from './controls/MainTab'
 
-export default function () {
+export function init() {
     // 引入 filters 过滤插件
     Ext.require([
         'Ext.grid.filters.Filters'
@@ -47,4 +47,6 @@ export default function () {
 
         _doAddListener.call(this, ename, fn, scope, options, order, caller, manager)
     }
+
+    initMainTab()
 }

+ 55 - 1
yarn.lock

@@ -245,6 +245,13 @@ asn1.js@^5.2.0:
     minimalistic-assert "^1.0.0"
     safer-buffer "^2.1.0"
 
+ast-types@0.14.2:
+  version "0.14.2"
+  resolved "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz#600b882df8583e3cd4f2df5fa20fa83759d4bdfd"
+  integrity sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==
+  dependencies:
+    tslib "^2.0.1"
+
 ast-types@^0.7.2:
   version "0.7.8"
   resolved "https://registry.npmjs.org/ast-types/-/ast-types-0.7.8.tgz#902d2e0d60d071bdcd46dc115e1809ed11c138a9"
@@ -973,6 +980,14 @@ dot-prop@^5.2.0:
   dependencies:
     is-obj "^2.0.0"
 
+echarts@^5.1.2:
+  version "5.1.2"
+  resolved "https://registry.npmjs.org/echarts/-/echarts-5.1.2.tgz#aa1ab0cef5b74fa2f7c620261a5f286893d30fd1"
+  integrity sha512-okUhO4sw22vwZp+rTPNjd/bvTdpug4K4sHNHyrV8NdAncIX9/AarlolFqtJCAYKGFYhUBNjIWu1EznFrSWTFxg==
+  dependencies:
+    tslib "2.0.3"
+    zrender "5.1.1"
+
 electron-to-chromium@^1.3.30, electron-to-chromium@^1.3.649:
   version "1.3.671"
   resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.671.tgz#8feaed6eae42d279fa4611f58c42a5a1eb81b2a0"
@@ -1076,7 +1091,7 @@ esprima@^2.1.0, esprima@^2.7.2:
   resolved "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
   integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=
 
-esprima@^4.0.0:
+esprima@^4.0.0, esprima@~4.0.0:
   version "4.0.1"
   resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
   integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
@@ -1530,6 +1545,11 @@ jest-worker@^24.0.0, jest-worker@^24.9.0:
     merge-stream "^2.0.0"
     supports-color "^6.1.0"
 
+jquery@^3.6.0:
+  version "3.6.0"
+  resolved "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470"
+  integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==
+
 js-tokens@^4.0.0:
   version "4.0.0"
   resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@@ -1555,6 +1575,13 @@ json5@^1.0.1:
   dependencies:
     minimist "^1.2.0"
 
+json5@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
+  integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
+  dependencies:
+    minimist "^1.2.5"
+
 jsonfile@^4.0.0:
   version "4.0.0"
   resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
@@ -2790,6 +2817,16 @@ readable-stream@~1.0.26, readable-stream@~1.0.26-4:
     isarray "0.0.1"
     string_decoder "~0.10.x"
 
+recast@^0.20.4:
+  version "0.20.4"
+  resolved "https://registry.npmjs.org/recast/-/recast-0.20.4.tgz#db55983eac70c46b3fff96c8e467d65ffb4a7abc"
+  integrity sha512-6qLIBGGRcwjrTZGIiBpJVC/NeuXpogXNyRQpqU1zWPUigCphvApoCs9KIwDYh1eDuJ6dAFlQoi/QUyE5KQ6RBQ==
+  dependencies:
+    ast-types "0.14.2"
+    esprima "~4.0.0"
+    source-map "~0.6.1"
+    tslib "^2.0.1"
+
 reduce-css-calc@^1.2.7:
   version "1.3.0"
   resolved "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716"
@@ -3267,11 +3304,21 @@ tslib@1.10.0:
   resolved "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
   integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
 
+tslib@2.0.3:
+  version "2.0.3"
+  resolved "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c"
+  integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==
+
 tslib@^1.11.1:
   version "1.14.1"
   resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
   integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
 
+tslib@^2.0.1:
+  version "2.3.0"
+  resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e"
+  integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
+
 typedarray-to-buffer@~1.0.0:
   version "1.0.4"
   resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-1.0.4.tgz#9bb8ba0e841fb3f4cf1fe7c245e9f3fa8a5fe99c"
@@ -3374,3 +3421,10 @@ xtend@~3.0.0:
   version "3.0.0"
   resolved "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz#5cce7407baf642cba7becda568111c493f59665a"
   integrity sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=
+
+zrender@5.1.1:
+  version "5.1.1"
+  resolved "https://registry.npmjs.org/zrender/-/zrender-5.1.1.tgz#0515f4f8cc0f4742f02a6b8819550a6d13d64c5c"
+  integrity sha512-oeWlmUZPQdS9f5hK4pV21tHPqA3wgQ7CkKkw7l0CCBgWlJ/FP+lRgLFtUBW6yam4JX8y9CdHJo1o587VVrbcoQ==
+  dependencies:
+    tslib "2.0.3"