@ajaxjs/ui 1.3.12 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +2 -29
  2. package/dist/ajaxjs-ui.cjs.js +1 -0
  3. package/dist/ajaxjs-ui.es.js +33 -0
  4. package/dist/ajaxjs-ui.umd.js +1 -0
  5. package/dist/types/index.d.ts +1 -0
  6. package/dist/utils.d.ts +36 -0
  7. package/package.json +55 -49
  8. package/.browserslistrc +0 -3
  9. package/.eslintrc.js +0 -26
  10. package/babel.config.js +0 -5
  11. package/deprecated/api-helper.zip +0 -0
  12. package/deprecated/api-helper2.zip +0 -0
  13. package/deprecated/api-selector.zip +0 -0
  14. package/deprecated/common-ui.zip +0 -0
  15. package/deprecated/data-source.zip +0 -0
  16. package/deprecated/table-selector.zip +0 -0
  17. package/deprecated/utils.js +0 -220
  18. package/dist/@ajaxjs/ui.common.js +0 -3818
  19. package/dist/@ajaxjs/ui.common.js.map +0 -1
  20. package/dist/@ajaxjs/ui.css +0 -1
  21. package/dist/@ajaxjs/ui.umd.js +0 -3829
  22. package/dist/@ajaxjs/ui.umd.js.map +0 -1
  23. package/dist/@ajaxjs/ui.umd.min.js +0 -2
  24. package/dist/@ajaxjs/ui.umd.min.js.map +0 -1
  25. package/dist/demo.html +0 -1
  26. package/examples/App.vue +0 -137
  27. package/public/favicon.ico +0 -0
  28. package/public/index.html +0 -17
  29. package/src/data-source/data-source.less +0 -46
  30. package/src/data-source/data-source.ts +0 -97
  31. package/src/data-source/data-source.vue +0 -59
  32. package/src/iam/iam.ts +0 -65
  33. package/src/iam/user.vue +0 -53
  34. package/src/index.js +0 -52
  35. package/src/iview-ext/fast-iview-table.ts +0 -133
  36. package/src/iview-ext/fast-iview-table.vue +0 -67
  37. package/src/iview-ext/list.ts +0 -108
  38. package/src/iview-ext/table-selector.vue +0 -185
  39. package/src/iview-ext/tips.vue +0 -17
  40. package/src/libs/api-helper.d.ts +0 -194
  41. package/src/libs/api-list.d.ts +0 -15
  42. package/src/libs/common.d.ts +0 -201
  43. package/src/libs/entity.ts +0 -31
  44. package/src/libs/iview-widgets.ts +0 -73
  45. package/src/main.ts +0 -7
  46. package/src/shims-tsx.d.ts +0 -11
  47. package/src/shims-vue.d.ts +0 -4
  48. package/src/style/common-functions.less +0 -286
  49. package/src/style/reset.less +0 -19
  50. package/src/style/reset2.less +0 -49
  51. package/tsconfig.json +0 -40
  52. package/vue.config.js +0 -19
@@ -1,185 +0,0 @@
1
- <template>
2
- <div class="table-selector">
3
- <Row style="margin:20px 0;" type="flex" justify="center" align="middle">
4
- <i-Col v-if="isCrossDb" span="6" style="padding-right:10px;">
5
- <i-Select placeholder="请选择数据库名" v-model="databaseName">
6
- <i-Option v-for="d in databaseList" :key="d" :value="d">{{d}}</i-Option>
7
- </i-Select>
8
- </i-Col>
9
- <i-Col :span="isCrossDb ? 6 : 12">
10
- <i-Input search enter-button placeholder="按表名模糊搜索" @on-keyup="search" ref="inputEl"></i-Input>
11
- </i-Col>
12
- <i-Col span="12">
13
- &nbsp;&nbsp;&nbsp;<a @click="resetData">重置</a>
14
- </i-Col>
15
- </Row>
16
-
17
- <i-Table :columns="list_column" :data="data" width="100%" @on-selection-change="onSelect" max-height="300" :loading="loading" class="table-selector-table">
18
- <template slot-scope="{row}" slot="select">
19
- <a @click="$emit('on-select', row, databaseName)">选择</a>
20
- </template>
21
- </i-Table>
22
- <br />
23
-
24
- <div class="ivu-mt ivu-text-right" v-if="!isFilter">
25
- <Page :total="total" :current.sync="current" show-total :page-size="pageSize" />
26
- </div>
27
- </div>
28
- </template>
29
-
30
- <script>
31
- import Vue from "vue";
32
- import { Xhr, Utils } from "@ajaxjs/util";
33
-
34
- // 选择表
35
- export default Vue.extend({
36
- name: "TableSelector",
37
- data() {
38
- return {
39
- // isCrossDb: false,
40
- list_column: [
41
- {
42
- title: "#",
43
- // key: 'id',
44
- width: 60,
45
- type: "index",
46
- // type: 'selection'
47
- },
48
- {
49
- title: "表名",
50
- key: "tableName",
51
- },
52
- {
53
- title: "说明",
54
- key: "comment",
55
- },
56
- {
57
- title: "操作",
58
- slot: "select",
59
- },
60
- ],
61
- listData: [], // 显示数据
62
- data: [], // 全部数据
63
- total: 0,
64
- current: 1,
65
- pageSize: 5,
66
- isFilter: false,
67
- start: 0,
68
- searchKeyword: "",
69
- loading: false,
70
- databaseList: [],
71
- databaseName: "",
72
- };
73
- },
74
- props: {
75
- isCrossDb: { type: Boolean, required: true },
76
- dataSourceId: { type: Number, required: true },
77
- },
78
- mounted() {
79
- // this.isCrossDb = true;
80
- this.getData();
81
- },
82
- methods: {
83
- getData() {
84
- this.loading = true;
85
- let url = `${window.config.dsApiRoot}/datasource/${this.dataSourceId}/get_all_tables?start=${this.start}&limit=${this.pageSize}`;
86
- // let url = `${DS_CONFIG.API_ROOT}/admin0/${this.dataSourceId}/getAllTables?start=${this.start}&limit=${this.pageSize}`;
87
-
88
- if (this.searchKeyword) url += `&tableName=${this.searchKeyword}`;
89
- if (this.databaseName) url += `&dbName=${this.databaseName}`;
90
-
91
- Xhr.xhr_get(url, (j) => {
92
- if (j.status) {
93
- this.data = j.data.rows;
94
- this.total = j.data.total;
95
- } else this.$Message.error(j.message);
96
-
97
- this.loading = false;
98
- });
99
- },
100
- handleChangePageSize() {
101
- let start = (this.current - 1) * this.pageSize,
102
- end = start + this.pageSize;
103
-
104
- this.listData = this.data.slice(start, end);
105
- },
106
- onSelect(arr) {
107
- // arr.forEach((item) => {
108
- // this.data.forEach((_item) => {});
109
- // });
110
- },
111
- resetData() {
112
- this.searchKeyword = "";
113
-
114
- this.start = 0;
115
- this.getData();
116
- this.$refs.inputEl.$el.querySelector("input").value = "";
117
- },
118
- search(ev) {
119
- let input = ev.target,
120
- v = input.value;
121
-
122
- if (v) {
123
- this.searchKeyword = v;
124
- this.start = 0;
125
- this.current = 1;
126
- this.getData();
127
- }
128
- },
129
- onkeypress(ev) {
130
- let input = ev.target,
131
- v = input.value;
132
-
133
- if (v) {
134
- this.isFilter = true;
135
- let arr = this.data.filter((item) => item.tableName.indexOf(v) != -1);
136
- this.listData = arr;
137
- } else {
138
- this.resetData();
139
- }
140
- },
141
- },
142
- watch: {
143
- /**
144
- * 分页
145
- *
146
- * @param v
147
- */
148
- current(v) {
149
- this.start = (v - 1) * this.pageSize;
150
- this.getData();
151
- },
152
- dataSourceId(id) {
153
- if (id) {
154
- if (this.isCrossDb)
155
- Xhr.xhr_get(`/admin/${this.dataSourceId}/get_databases`, (j) => {
156
- if (j.status) {
157
- // 过滤 mysql 自带的库
158
- let not = [
159
- "information_schema",
160
- "performance_schema",
161
- "sys",
162
- "mysql",
163
- ];
164
- let arr = j.data.filter((db) => !not.includes(db));
165
- this.databaseList = arr;
166
-
167
- // 默认选中第一个
168
- this.start = 0;
169
- this.current = 1;
170
- this.databaseName = arr[0];
171
- } else this.$Message.error(j.message);
172
- }
173
- );
174
- else {
175
- this.databaseName = null;
176
- this.getData();
177
- }
178
- }
179
- },
180
- databaseName(v) {
181
- this.getData(); // 会重复请求
182
- },
183
- },
184
- });
185
- </script>
@@ -1,17 +0,0 @@
1
- <template>
2
- <i style="cursor: pointer;" class="ivu-icon ivu-icon-ios-help-circle-outline" :title="text"></i>
3
- </template>
4
-
5
- <script>
6
- import Vue from "vue";
7
-
8
- /**
9
- * 帮助图标
10
- */
11
- export default Vue.extend({
12
- name: 'Tips',
13
- props: {
14
- text: { type: String, required: true },
15
- },
16
- });
17
- </script>
@@ -1,194 +0,0 @@
1
- /**
2
- * 表格定义
3
- */
4
- declare type API_HELPER_TABLE = {
5
- mode: 'SIMPLE' | 'SCHEME';
6
- };
7
-
8
- /**
9
- * 环境
10
- */
11
- declare type API_HELPER_ENV = {
12
- id: number;
13
- name: string;
14
-
15
- /**
16
- * URL 前缀
17
- */
18
- urlPrefix: string;
19
-
20
- /**
21
- *
22
- */
23
- actived: boolean;
24
- };
25
-
26
- /**
27
- * HTTP 方法
28
- */
29
- declare type API_HELPER_HTTP_METHOD = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'OPTION';
30
-
31
- /**
32
- * 历史记录
33
- */
34
- declare type API_HELPER_HISTORY = {
35
- id: number;
36
-
37
- /**
38
- * 任务名称,可选
39
- */
40
- name?: string;
41
-
42
- /**
43
- * 任务 id,可选
44
- */
45
- nameId: number;
46
-
47
- httpMethod: API_HELPER_HTTP_METHOD;
48
-
49
- url: string;
50
-
51
- /**
52
- * 请求日期
53
- */
54
- date: string;
55
-
56
- /**
57
- * 耗时
58
- */
59
- time: number;
60
-
61
- stateCode: number;
62
- };
63
-
64
- /**
65
- * 参数的枚举值
66
- */
67
- declare type API_HELPER_ARGUMENT_ENU = {
68
- /**
69
- * 是否默认
70
- */
71
- isDefault?: boolean;
72
-
73
- /**
74
- * 值
75
- */
76
- value: any;
77
-
78
- /**
79
- * 值是什么含义
80
- */
81
- comment: string;
82
- };
83
-
84
- /**
85
- * 参数
86
- */
87
- declare type API_HELPER_ARGUMENT = {
88
- /**
89
- * 是否使用
90
- */
91
- isEnable: boolean;
92
-
93
- /**
94
- * 变量
95
- */
96
- name: string;
97
-
98
- /**
99
- * 参数说明
100
- */
101
- desc: string;
102
-
103
- /**
104
- * 参数位置
105
- */
106
- type: 'HEADER' | 'PATH' | 'QUERY' | 'BODY' | 'FORM';
107
-
108
- /**
109
- * 数据类型
110
- */
111
- dataType: any;
112
-
113
- /**
114
- * 对应后端语言的类型或者枚举
115
- */
116
- mappingType?: any;
117
-
118
- /**
119
- * 值,枚举值
120
- */
121
- values?: API_HELPER_ARGUMENT_ENU[];
122
-
123
- /**
124
- * 是否必填
125
- */
126
- isRequired: boolean;
127
-
128
- /**
129
- * 说明,描述
130
- */
131
- comment: string;
132
- };
133
-
134
- /**
135
- * JSON 类型参数
136
- */
137
- declare type API_HELPER_JSON_ARGUMENT = API_HELPER_ARGUMENT & {
138
- /**
139
- * 类型
140
- */
141
- dataType: number | string | boolean | null | array | object;
142
- };
143
-
144
- /**
145
- * 文档
146
- */
147
- declare type API_HELPER_DOCUMENT = {
148
- /**
149
- * ID
150
- */
151
- id: any;
152
-
153
- /**
154
- * 名称
155
- */
156
- name: string;
157
-
158
- /**
159
- * 分组
160
- */
161
- catalogId: any;
162
-
163
- /**
164
- * 说明
165
- */
166
- description: string;
167
-
168
- /**
169
- * HTTP 请求方法
170
- */
171
- httpMethod: API_HELPER_HTTP_METHOD;
172
-
173
- url: string;
174
-
175
- /**
176
- * 对应 UI,图片地址
177
- */
178
- ui: string;
179
-
180
- /**
181
- * 请求示例
182
- */
183
- demoUrl: string;
184
-
185
- /**
186
- * 接口编码状态
187
- */
188
- codeState: 'INITED' | 'DEFINED' | 'DONE';
189
-
190
- /**
191
- * 是否在文档汇总中展示
192
- */
193
- isShow: boolean;
194
- };
@@ -1,15 +0,0 @@
1
-
2
- /**
3
- * 选择 API 后返回的结果
4
- */
5
- type ApiListSelectedReuslt = {
6
- /**
7
- * HTTP 方法
8
- */
9
- method: string;
10
-
11
- /**
12
- * 接口地址
13
- */
14
- url: string;
15
- };
@@ -1,201 +0,0 @@
1
- /**
2
- * 后端响应的消息
3
- */
4
- declare interface RepsonseResult {
5
- /**
6
- * 操作代码
7
- */
8
- code?: number;
9
-
10
- /**
11
- * 操作是否成功
12
- */
13
- status: boolean;
14
-
15
- /**
16
- * 操作说明
17
- */
18
- message: string;
19
-
20
- /**
21
- * 结果,实体,
22
- */
23
- data: any;
24
-
25
- /**
26
- * 进行新建的时候返回的实体 id
27
- */
28
- newlyId?: number;
29
-
30
- /**
31
- * 分页列表的总数
32
- */
33
- total?: number;
34
- }
35
-
36
- /**
37
- * JSON 接口返回的通用
38
- */
39
- type JsonResponse = {
40
- /**
41
- * 1 = 成功,0 = 失败
42
- */
43
- status: number;
44
-
45
- /**
46
- * 信息
47
- */
48
- message: string;
49
-
50
- /**
51
- * 分页的总数
52
- */
53
- total?: number;
54
-
55
- /**
56
- * 返回数据
57
- */
58
- data: any;
59
- };
60
-
61
- // 官方 API 还没提供,自己写一个
62
- interface FileReaderEventTarget extends EventTarget {
63
- result: string
64
- }
65
-
66
- interface FileReaderEvent extends Event {
67
- target: FileReaderEventTarget;
68
- getMessage(): string;
69
- }
70
-
71
- /**
72
- * JSON 实体
73
- */
74
- declare type JsonParam = { [key: string]: string | number | boolean | JsonParam | any[] };
75
-
76
- /**
77
- * key 和 value 都是 string 类型的 JSON 实体
78
- */
79
- declare type StringJsonParam = { [key: string]: string };
80
-
81
- /*
82
- * 公共类型
83
- */
84
-
85
- declare type ManagedWidget = {
86
- };
87
-
88
- /**
89
- * 按钮事件
90
- */
91
- declare type ButtonEvent = {
92
- /**
93
- * 按钮文本
94
- */
95
- name: string;
96
-
97
- /**
98
- * JS 事件代码
99
- */
100
- event: string;
101
- }
102
-
103
- /**
104
- * 数据绑定配置
105
- */
106
- declare type DataBinding = {
107
- /**
108
- * 请求方法
109
- */
110
- httpMethod?: string;
111
-
112
- /**
113
- * 请求地址
114
- */
115
- url: string,
116
-
117
- /**
118
- * 固定参数
119
- */
120
- baseParams: string,
121
-
122
- /**
123
- * 动态获取参数的函数
124
- */
125
- beforeRequest: string;
126
- };
127
-
128
- /**
129
- * 解析过后的请求对象
130
- */
131
- type ManagedRequest = {
132
- /**
133
- * 请求地址
134
- */
135
- url: string;
136
-
137
- /**
138
- * 请求参数
139
- */
140
- params: any;
141
- };
142
-
143
- /**
144
- * 模型与表单共有的字段
145
- */
146
- declare type BaseModel = {
147
- /**
148
- * 字段名、Key
149
- */
150
- name: string;
151
-
152
- /**
153
- * 名称,UI 外显名称
154
- */
155
- label: string;
156
-
157
- /**
158
- * 说明
159
- */
160
- comment?: string;
161
-
162
- /**
163
- * 是否必填
164
- */
165
- isNull?: boolean;
166
-
167
- /**
168
- * 数据长度/最大长度
169
- */
170
- length?: number;
171
-
172
- /**
173
- * 其他扩展属性
174
- */
175
- ext_attribs?: any;
176
- };
177
-
178
- /**
179
- * 模型
180
- */
181
- declare type Model = BaseModel & {
182
- /**
183
- * 数据类型
184
- */
185
- dataType?: string;
186
-
187
- /**
188
- * 是否主键
189
- */
190
- isKey?: boolean;
191
-
192
- /**
193
- *默认值
194
- */
195
- defaultValue?: string | number | boolean | null;
196
-
197
- /**
198
- * 是否跨表字段
199
- */
200
- isCrossTable?: boolean;
201
- };
@@ -1,31 +0,0 @@
1
- type Entity = {
2
- /**
3
- * 类型
4
- */
5
- type: string;
6
-
7
- /**
8
- * 数据长度
9
- */
10
- width: number;
11
-
12
- /**
13
- * 是否允许为空
14
- */
15
- isNotNull: boolean;
16
-
17
- /**
18
- * 默认值
19
- */
20
- defaultValue: any;
21
-
22
- /**
23
- * 校验规则
24
- */
25
- regexp: RegExp;
26
-
27
- /**
28
- * 注释说明
29
- */
30
- comment: string;
31
- };
@@ -1,73 +0,0 @@
1
- // iView 组件的配置定义
2
-
3
- // cfg: any;
4
-
5
- /**
6
- * iView Table 配置字段, data 字段
7
- */
8
- type TableListConfig = {
9
- /**
10
- * 列定义
11
- */
12
- columns: any[];
13
-
14
- /**
15
- * 表格数据
16
- */
17
- data: any[];
18
-
19
- /**
20
- * 记录总数
21
- */
22
- total: number;
23
-
24
- /**
25
- * MySQL 分页方式 start
26
- */
27
- start?: number;
28
-
29
- /**
30
- * MySQL 分页方式 limit
31
- */
32
- limit?: number;
33
-
34
- /**
35
- * 页码,表示第几页
36
- */
37
- pageNo?: number;
38
-
39
- /**
40
- * 每页记录数,等同于 MySQL 分页方式 limit
41
- */
42
- pageSize?: number;
43
-
44
- /**
45
- * 表格处于加载中状态
46
- */
47
- loading?: boolean;
48
- };
49
-
50
- /**
51
- * iView Table 配置方法
52
- */
53
- type TableListMethod = {
54
- /**
55
- * 异步加载列表数据
56
- */
57
- getData(): void;
58
-
59
- /**
60
- * 打开详情 UI
61
- *
62
- * @param id
63
- */
64
- openInfo?(id: number): void;
65
-
66
- /**
67
- * 删除
68
- *
69
- * @param id
70
- * @param index 行号
71
- */
72
- deleteInfo?(id: number, index: number): void;
73
- };
package/src/main.ts DELETED
@@ -1,7 +0,0 @@
1
- import Vue from 'vue';
2
- import App from '../examples/App.vue';
3
- import 'view-design/dist/styles/iview.css';
4
-
5
- Vue.config.productionTip = false;
6
-
7
- new Vue({ render: h => h(App) }).$mount('#app');