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 3defc6b

Browse files
apijsontable: remove table_name; add sort_key/sort_order in tableui;
1 parent e539fed commit 3defc6b

File tree

6 files changed

+35
-39
lines changed

6 files changed

+35
-39
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: 12 additions & 7 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,15 +11,14 @@
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'">
2422
<pre>
2523
{table_json}
2624
</pre>
@@ -38,7 +36,7 @@ <h3>settings.APIJSON_MODELS.{table.model_name}</h3>
3836
</pre>
3937
</div>
4038
<div v-if="current_menu_item=='request_config'">
41-
<h3>settings.APIJSON_TABLE_CONFIG.{table.request_tag||table.model_name}</h3>
39+
<h3>settings.APIJSON_REQUESTS.{table.request_tag||table.model_name}</h3>
4240
<pre style="height: 25pc; overflow-y: scroll;">
4341
{request_json}
4442
</pre>
@@ -48,12 +46,14 @@ <h3>settings.APIJSON_TABLE_CONFIG.{table.request_tag||table.model_name}</h3>
4846
</div>`,
4947
data: function(){
5048
return {
51-
current_menu_item: "table_config"
49+
current_menu_item: "table_param",
50+
table_param: {},
51+
tableui: {}
5252
}
5353
},
5454
computed: {
5555
table_json: function(){
56-
return JSON.stringify(this.table, null, 2)
56+
return JSON.stringify(this.table_param, null, 2)
5757
},
5858
tableui_json: function(){
5959
return JSON.stringify(this.tableui, null, 2)
@@ -69,6 +69,11 @@ <h3>settings.APIJSON_TABLE_CONFIG.{table.request_tag||table.model_name}</h3>
6969
on_select: function(data){
7070
this.current_menu_item = data
7171
}
72+
},
73+
mounted: function(){
74+
this.table_param = JSON.parse(JSON.stringify(this.table))
75+
delete this.table_param.tableui
76+
this.tableui = this.table.tableui
7277
}
7378
})
7479
</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 によって変換されたページ (->オリジナル) /