Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 387fa4f

Browse files
Merge branch 'zhangchunlin:master' into master
2 parents 4ab96bb + 10961f8 commit 387fa4f

File tree

6 files changed

+53
-42
lines changed

6 files changed

+53
-42
lines changed

‎uliweb_apijson/apijson/__init__.py‎

Lines changed: 9 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,11 @@
99

1010

1111
class ApijsonTable(object):
12-
def __init__(self, model_name, request_tag=None, role=None, tableui_name=None, table_name=None):
12+
def __init__(self, model_name, request_tag=None, role=None, tableui_name=None):
1313
self.model_name = model_name
1414
self.request_tag = request_tag or self.model_name
1515
self.role = role
1616
self.tableui_name = tableui_name or self.model_name
17-
self.table_name = table_name
1817
self._get_tableui()
1918
self._apply_auto()
2019

@@ -39,34 +38,19 @@ def to_dict(self):
3938
request_tag=self.request_tag,
4039
role=self.role,
4140
tableui_name=self.tableui_name,
42-
table_name=self.table_name,
4341
tableui=self.tableui)
4442

4543

4644
def get_apijson_tables():
4745
def iter_table():
48-
s = settings.APIJSON_TABLES
49-
apijson_tables = dict(s.iteritems()) if s else {}
50-
if apijson_tables:
51-
for k in apijson_tables:
52-
v = apijson_tables[k]
53-
model_name = v.get("model_name") or k
54-
tableui_name = v.get("tableui_name") or model_name
55-
if not model_name:
56-
model_name = tableui_name
57-
if model_name and tableui_name:
58-
request_tag = v.get("request_tag")
59-
role = v.get("role")
60-
yield(ApijsonTable(model_name=model_name, request_tag=request_tag, role=role, tableui_name=tableui_name, table_name=k))
61-
else:
62-
apison_table_ui = dict(
63-
settings.APIJSON_TABLE_UI.iteritems())
64-
for tableui_name in apison_table_ui:
65-
tableui = apison_table_ui[tableui_name]
66-
model_name = tableui.get("@model_name") or tableui_name
67-
request_tag = model_name
68-
role = None
69-
yield(ApijsonTable(model_name=model_name, request_tag=request_tag, role=role, tableui_name=tableui_name))
46+
apison_table_ui = dict(
47+
settings.APIJSON_TABLE_UI.iteritems())
48+
for tableui_name in apison_table_ui:
49+
tableui = apison_table_ui[tableui_name]
50+
model_name = tableui.get("@model_name") or tableui_name
51+
request_tag = model_name
52+
role = None
53+
yield(ApijsonTable(model_name=model_name, request_tag=request_tag, role=role, tableui_name=tableui_name))
7054
return list(iter_table())
7155

7256

‎uliweb_apijson/apijson/templates/vue/inc_apijson_table.html‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -504,6 +504,12 @@
504504
}
505505
this.config_delete_set_deleted = this.table.tableui.delete_set_deleted || false
506506
this.config_deleted_field_name = this.table.tableui.deleted_field_name || "deleted"
507+
if (this.table.tableui.sort_key!=null) {
508+
this.sort_key = this.table.tableui.sort_key
509+
}
510+
if (this.table.tableui.sort_order!=null) {
511+
this.sort_order = this.table.tableui.sort_order
512+
}
507513
}
508514
//if not do this, the first notice will hide behind the navigation bar in uliweb apps
509515
this.$Notice.config({top: 100,duration: 8});

‎uliweb_apijson/apijson/templates/vue/inc_apijson_viewedit.html‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
}
6868
else {
6969
thisp.$Notice.error({
70-
title: 'error when get table '+thisp.table_name,
70+
title: 'error when get table '+thisp.tableui_name,
7171
desc: data.msg
7272
})
7373
}

‎uliweb_apijson/tables/templates/Tables/inc/table_config.html‎

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
delimiters: ['{', '}'],
44
props: [
55
"table",
6-
"tableui",
76
"model",
87
"request"
98
],
@@ -12,18 +11,26 @@
1211
<row>
1312
<i-col span="4">
1413
<i-menu :active-name="current_menu_item" @on-select="on_select">
15-
<menu-item name="table_config" @on-select="current_menu_item='table_config'">table config</menu-item>
14+
<menu-item name="table_param" @on-select="current_menu_item='table_param'">table param</menu-item>
1615
<menu-item name="tableui_config" @on-select="current_menu_item='tableui_config'">table ui config</menu-item>
1716
<menu-item name="model_config" @on-select="current_menu_item='model_config'">model config</menu-item>
1817
<menu-item name="request_config" @on-select="current_menu_item='request_config'">request config</menu-item>
1918
</i-menu>
2019
</i-col>
2120
<i-col span="8">
22-
<div v-if="current_menu_item=='table_config'">
23-
<h3>settings.APIJSON_TABLES.{table.table_name}</h3>
21+
<div v-if="current_menu_item=='table_param'">
22+
<h3>table parameter</h3>
2423
<pre>
2524
{table_json}
2625
</pre>
26+
<h3>example backend code</h3>
27+
<pre>
28+
table = functions.get_apijson_table("{table.model_name}", role="{table.role}", request_tag="{table.request_tag}", tableui_name="{table.tableui_name}")
29+
</pre>
30+
<h3>example frontend code</h3>
31+
<pre>
32+
&lt;apijson-table :table=&quot;table&quot;&gt;&lt;/apijson-table&gt;
33+
</pre>
2734
</div>
2835
<div v-if="current_menu_item=='tableui_config'">
2936
<h3>settings.APIJSON_TABLE_UI.{table.tableui_name}</h3>
@@ -38,7 +45,7 @@ <h3>settings.APIJSON_MODELS.{table.model_name}</h3>
3845
</pre>
3946
</div>
4047
<div v-if="current_menu_item=='request_config'">
41-
<h3>settings.APIJSON_TABLE_CONFIG.{table.request_tag||table.model_name}</h3>
48+
<h3>settings.APIJSON_REQUESTS.{table.request_tag||table.model_name}</h3>
4249
<pre style="height: 25pc; overflow-y: scroll;">
4350
{request_json}
4451
</pre>
@@ -48,15 +55,15 @@ <h3>settings.APIJSON_TABLE_CONFIG.{table.request_tag||table.model_name}</h3>
4855
</div>`,
4956
data: function(){
5057
return {
51-
current_menu_item: "table_config"
58+
current_menu_item: "table_param",
59+
table_param: {},
60+
tableui: {},
61+
tableui_json: ""
5262
}
5363
},
5464
computed: {
5565
table_json: function(){
56-
return JSON.stringify(this.table, null, 2)
57-
},
58-
tableui_json: function(){
59-
return JSON.stringify(this.tableui, null, 2)
66+
return JSON.stringify(this.table_param, null, 2)
6067
},
6168
model_json: function(){
6269
return JSON.stringify(this.model, null, 2)
@@ -69,6 +76,19 @@ <h3>settings.APIJSON_TABLE_CONFIG.{table.request_tag||table.model_name}</h3>
6976
on_select: function(data){
7077
this.current_menu_item = data
7178
}
79+
},
80+
mounted: function(){
81+
this.table_param = JSON.parse(JSON.stringify(this.table))
82+
delete this.table_param.tableui
83+
//remove __id field, look like vuejs add this
84+
var tableui = JSON.parse(JSON.stringify(this.table.tableui))
85+
if (tableui.table_fields!=null) {
86+
for (let index = 0; index < tableui.table_fields.length; index++) {
87+
if (tableui.table_fields[index].__id!=null)
88+
delete tableui.table_fields[index].__id
89+
}
90+
this.tableui_json = JSON.stringify(tableui, null, 2)
91+
}
7292
}
7393
})
7494
</script>

‎uliweb_apijson/tables/templates/Tables/list.html‎

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,8 @@
4343
tabs: function(){
4444
var l = []
4545
for (var i = 0; i < this.apijson_tables.length; i++) {
46-
var t = this.apijson_tables[i]
47-
var tableui = t.tableui
48-
var table = JSON.parse(JSON.stringify(t))
49-
delete table.tableui
50-
l.push({index:i, name:t.config_name||t.model_name, table: table, tableui: tableui, model: this.models[i], request: this.requests[i]})
46+
var table = this.apijson_tables[i]
47+
l.push({index: i, name: table.tableui_name, table: table, model: this.models[i], request: this.requests[i]})
5148
}
5249
return l
5350
}

‎uliweb_apijson/tables/views.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,11 @@ def list(self):
1212
apijson_tables = functions.get_apijson_tables()
1313
def _get_model(i):
1414
model_name = i.model_name
15-
return settings.APIJSON_MODELS.get(model_name,{})
15+
model = settings.APIJSON_MODELS.get(model_name,{})
16+
if not i.role:
17+
roles = model.get("GET",{}).get("roles")
18+
i.role = roles[0] if isinstance(roles, list) else roles
19+
return model
1620
models = [_get_model(i) for i in apijson_tables]
1721
def _get_request(i):
1822
request_tag = i.request_tag or i.model_name

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /