Skip to content

Commit 2a49214

Browse files
committed
use latest uliweb-comui and uliweb-comapps, remove dependency of uliweb-ui and uliweb-apps
1 parent c8689e5 commit 2a49214

File tree

6 files changed

+158
-173
lines changed

6 files changed

+158
-173
lines changed

demo/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ _git
99
data
1010
database.db
1111
sessions
12+
uploads
Lines changed: 123 additions & 131 deletions
Original file line numberDiff line numberDiff line change
@@ -1,137 +1,129 @@
11
{{extend "layout_demo.html"}}
22

3-
{{block content_header_title}}<h1>uliweb-apijson api examples</h1>{{end content_header_title}}
3+
{{block title}}uliweb-apijson demo: requests{{end title}}
44

5-
{{block content_main}}
6-
{{use "ui.vue"}}
7-
{{use "ui.iview"}}
5+
{{block content_wrapper}}
6+
<card>
7+
<div style="min-height: 600px;">
8+
<tabs v-model:value="tab_current" type="card" :animated="false">
9+
<tab-pane label="apijson get" name="tab_get"></tab-pane>
10+
<tab-pane label="apijson head" name="tab_head"></tab-pane>
11+
<tab-pane label="apijson post" name="tab_post"></tab-pane>
12+
<tab-pane label="apijson put" name="tab_put"></tab-pane>
13+
<tab-pane label="apijson delete" name="tab_delete"></tab-pane>
14+
</tabs>
15+
<layout>
16+
<sider hide-trigger :style="{height: '80vh', width:'360px', 'min-width': '360px', 'max-width': '380px', overflow: 'auto', background: '#fff'}">
17+
<i-menu :active-name="0" @on-select="on_select_get" width="360px" ref='menu_get'>
18+
<menu-group title="apijson get examples" v-if="tab_current==='tab_get'">
19+
<menu-item v-for="(item,index) in request_get" :name="index" :key="index">
20+
<i class="fa fa-fw fa-file-code-o"></i> {item.label}
21+
</menu-item>
22+
</menu-group>
23+
</i-menu>
24+
<i-menu :active-name="0" @on-select="on_select_head" width="360px">
25+
<menu-group title="apijson head examples" v-if="tab_current==='tab_head'">
26+
<menu-item v-for="(item,index) in request_head" :name="index" :key="index">
27+
<i class="fa fa-fw fa-file-code-o"></i> {item.label}
28+
</menu-item>
29+
</menu-group>
30+
</i-menu>
31+
<i-menu :active-name="0" @on-select="on_select_post" width="360px">
32+
<menu-group title="apijson post examples" v-if="tab_current==='tab_post'">
33+
<menu-item v-for="(item,index) in request_post" :name="index" :key="index">
34+
<i class="fa fa-fw fa-file-code-o"></i> {item.label}
35+
</menu-item>
36+
</menu-group>
37+
</i-menu>
38+
<i-menu :active-name="0" @on-select="on_select_put" width="360px">
39+
<menu-group title="apijson put examples" v-if="tab_current==='tab_put'">
40+
<menu-item v-for="(item,index) in request_put" :name="index" :key="index">
41+
<i class="fa fa-fw fa-file-code-o"></i> {item.label}
42+
</menu-item>
43+
</menu-group>
44+
</i-menu>
45+
<i-menu :active-name="0" @on-select="on_select_delete" width="360px">
46+
<menu-group title="apijson delete examples" v-if="tab_current==='tab_delete'">
47+
<menu-item v-for="(item,index) in request_delete" :name="index" :key="index">
48+
<i class="fa fa-fw fa-file-code-o"></i> {item.label}
49+
</menu-item>
50+
</menu-group>
51+
</i-menu>
52+
</sider>
53+
<i-content :style="{padding: '24px', minHeight: '280px', background: '#fff'}">
54+
<Row>
55+
<i-col span="3"><div align="center">login user</div></i-col>
56+
<i-col span="18"><i-input value="{{=user_info}}" readonly/></i-col>
57+
{{if request.user:}}
58+
<i-col span="1"><div align="center"><i-button type="warning" size="large" @click="logout">Logout</i-button></div></i-col>
59+
{{else:}}
60+
<i-col span="1"><div align="center"><i-button type="primary" size="large" @click="login">Login</i-button></div></i-col>
61+
{{pass}}
62+
</Row>
63+
<Row v-if="tab_current==='tab_get'">
64+
<i-col span="3"><div align="center">HTTP POST URL</div></i-col>
65+
<i-col span="18"><i-input value="/apijson/get" readonly/></i-col>
66+
</Row>
67+
<Row v-if="tab_current==='tab_get'">
68+
<i-col span="3"><div align="center">example name</div></i-col>
69+
<i-col span="18"><strong><i-input :value="request_get[cmenu_get].label" readonly/></strong></i-col>
70+
</Row>
71+
72+
<Row v-if="tab_current==='tab_head'">
73+
<i-col span="3"><div align="center">HTTP HEAD URL</div></i-col>
74+
<i-col span="18"><i-input value="/apijson/head" readonly/></i-col>
75+
</Row>
76+
<Row v-if="tab_current==='tab_head'">
77+
<i-col span="3"><div align="center">example name</div></i-col>
78+
<i-col span="18"><strong><i-input :value="request_head[cmenu_head].label" readonly/></strong></i-col>
79+
</Row>
80+
81+
<Row v-if="tab_current==='tab_post'">
82+
<i-col span="3"><div align="center">POST URL</div></i-col>
83+
<i-col span="18"><i-input value="/apijson/post" readonly/></i-col>
84+
</Row>
85+
<Row v-if="tab_current==='tab_post'">
86+
<i-col span="3"><div align="center">example name</div></i-col>
87+
<i-col span="18"><strong><i-input :value="request_post[cmenu_post].label" readonly/></strong></i-col>
88+
</Row>
89+
90+
<Row v-if="tab_current==='tab_put'">
91+
<i-col span="3"><div align="center">PUT URL</div></i-col>
92+
<i-col span="18"><i-input value="/apijson/put" readonly/></i-col>
93+
</Row>
94+
<Row v-if="tab_current==='tab_put'">
95+
<i-col span="3"><div align="center">example name</div></i-col>
96+
<i-col span="18"><strong><i-input :value="request_put[cmenu_put].label" readonly/></strong></i-col>
97+
</Row>
98+
99+
<Row v-if="tab_current==='tab_delete'">
100+
<i-col span="3"><div align="center">DELETE URL</div></i-col>
101+
<i-col span="18"><i-input value="/apijson/delete" readonly/></i-col>
102+
</Row>
103+
<Row v-if="tab_current==='tab_delete'">
104+
<i-col span="3"><div align="center">example name</div></i-col>
105+
<i-col span="18"><strong><i-input :value="request_delete[cmenu_delete].label" readonly/></strong></i-col>
106+
</Row>
107+
108+
<Row>
109+
<i-col span="3"><div align="center">request data</div></i-col>
110+
<i-col span="18"><i-input v-model="request_data" type="textarea" :autosize="{minRows: 3,maxRows: 15}" placeholder="request data" /></i-col>
111+
<i-col span="1"><div align="center"><i-button type="primary" size="large" @click="post_request_data" v-bind:disabled="!can_post">Post</i-button></div></i-col>
112+
</Row>
113+
<Row>
114+
<i-col span="3"><div align="center">response data</div></i-col>
115+
<i-col span="18"><i-input v-model="response_data" type="textarea" readonly :autosize="{minRows: 5,maxRows: 30}" /></i-col>
116+
</Row>
117+
</i-content>
118+
</layout>
119+
</div>
120+
</card>
121+
{{end content_wrapper}}
8122

9-
<style>
10-
.notice
11-
{
12-
color:red;
13-
font-size:150%;
14-
}
15-
</style>
16-
17-
<div id="app" class='box'>
18-
<div class="box-body">
19-
<tabs v-model:value="tab_current" type="card" :animated="false">
20-
<tab-pane label="apijson get" name="tab_get"></tab-pane>
21-
<tab-pane label="apijson head" name="tab_head"></tab-pane>
22-
<tab-pane label="apijson post" name="tab_post"></tab-pane>
23-
<tab-pane label="apijson put" name="tab_put"></tab-pane>
24-
<tab-pane label="apijson delete" name="tab_delete"></tab-pane>
25-
</tabs>
26-
<layout>
27-
<sider hide-trigger :style="{height: '80vh', width:'360px', 'min-width': '360px', 'max-width': '380px', overflow: 'auto', background: '#fff'}">
28-
<i-menu :active-name="0" @on-select="on_select_get" width="360px" ref='menu_get'>
29-
<menu-group title="apijson get examples" v-if="tab_current==='tab_get'">
30-
<menu-item v-for="(item,index) in request_get" :name="index" :key="index">
31-
<i class="fa fa-fw fa-file-code-o"></i> {item.label}
32-
</menu-item>
33-
</menu-group>
34-
</i-menu>
35-
<i-menu :active-name="0" @on-select="on_select_head" width="360px">
36-
<menu-group title="apijson head examples" v-if="tab_current==='tab_head'">
37-
<menu-item v-for="(item,index) in request_head" :name="index" :key="index">
38-
<i class="fa fa-fw fa-file-code-o"></i> {item.label}
39-
</menu-item>
40-
</menu-group>
41-
</i-menu>
42-
<i-menu :active-name="0" @on-select="on_select_post" width="360px">
43-
<menu-group title="apijson post examples" v-if="tab_current==='tab_post'">
44-
<menu-item v-for="(item,index) in request_post" :name="index" :key="index">
45-
<i class="fa fa-fw fa-file-code-o"></i> {item.label}
46-
</menu-item>
47-
</menu-group>
48-
</i-menu>
49-
<i-menu :active-name="0" @on-select="on_select_put" width="360px">
50-
<menu-group title="apijson put examples" v-if="tab_current==='tab_put'">
51-
<menu-item v-for="(item,index) in request_put" :name="index" :key="index">
52-
<i class="fa fa-fw fa-file-code-o"></i> {item.label}
53-
</menu-item>
54-
</menu-group>
55-
</i-menu>
56-
<i-menu :active-name="0" @on-select="on_select_delete" width="360px">
57-
<menu-group title="apijson delete examples" v-if="tab_current==='tab_delete'">
58-
<menu-item v-for="(item,index) in request_delete" :name="index" :key="index">
59-
<i class="fa fa-fw fa-file-code-o"></i> {item.label}
60-
</menu-item>
61-
</menu-group>
62-
</i-menu>
63-
</sider>
64-
<i-content :style="{padding: '24px', minHeight: '280px', background: '#fff'}">
65-
<Row>
66-
<i-col span="3"><div align="center">login user</div></i-col>
67-
<i-col span="18"><i-input value="{{=user_info}}" readonly/></i-col>
68-
{{if request.user:}}
69-
<i-col span="1"><div align="center"><i-button type="warning" size="large" @click="logout">Logout</i-button></div></i-col>
70-
{{else:}}
71-
<i-col span="1"><div align="center"><i-button type="primary" size="large" @click="login">Login</i-button></div></i-col>
72-
{{pass}}
73-
</Row>
74-
<Row v-if="tab_current==='tab_get'">
75-
<i-col span="3"><div align="center">HTTP POST URL</div></i-col>
76-
<i-col span="18"><i-input value="/apijson/get" readonly/></i-col>
77-
</Row>
78-
<Row v-if="tab_current==='tab_get'">
79-
<i-col span="3"><div align="center">example name</div></i-col>
80-
<i-col span="18"><strong><i-input :value="request_get[cmenu_get].label" readonly/></strong></i-col>
81-
</Row>
82-
83-
<Row v-if="tab_current==='tab_head'">
84-
<i-col span="3"><div align="center">HTTP HEAD URL</div></i-col>
85-
<i-col span="18"><i-input value="/apijson/head" readonly/></i-col>
86-
</Row>
87-
<Row v-if="tab_current==='tab_head'">
88-
<i-col span="3"><div align="center">example name</div></i-col>
89-
<i-col span="18"><strong><i-input :value="request_head[cmenu_head].label" readonly/></strong></i-col>
90-
</Row>
91-
92-
<Row v-if="tab_current==='tab_post'">
93-
<i-col span="3"><div align="center">POST URL</div></i-col>
94-
<i-col span="18"><i-input value="/apijson/post" readonly/></i-col>
95-
</Row>
96-
<Row v-if="tab_current==='tab_post'">
97-
<i-col span="3"><div align="center">example name</div></i-col>
98-
<i-col span="18"><strong><i-input :value="request_post[cmenu_post].label" readonly/></strong></i-col>
99-
</Row>
100-
101-
<Row v-if="tab_current==='tab_put'">
102-
<i-col span="3"><div align="center">PUT URL</div></i-col>
103-
<i-col span="18"><i-input value="/apijson/put" readonly/></i-col>
104-
</Row>
105-
<Row v-if="tab_current==='tab_put'">
106-
<i-col span="3"><div align="center">example name</div></i-col>
107-
<i-col span="18"><strong><i-input :value="request_put[cmenu_put].label" readonly/></strong></i-col>
108-
</Row>
109-
110-
<Row v-if="tab_current==='tab_delete'">
111-
<i-col span="3"><div align="center">DELETE URL</div></i-col>
112-
<i-col span="18"><i-input value="/apijson/delete" readonly/></i-col>
113-
</Row>
114-
<Row v-if="tab_current==='tab_delete'">
115-
<i-col span="3"><div align="center">example name</div></i-col>
116-
<i-col span="18"><strong><i-input :value="request_delete[cmenu_delete].label" readonly/></strong></i-col>
117-
</Row>
118-
119-
<Row>
120-
<i-col span="3"><div align="center">request data</div></i-col>
121-
<i-col span="18"><i-input v-model="request_data" type="textarea" :autosize="{minRows: 3,maxRows: 15}" placeholder="request data" /></i-col>
122-
<i-col span="1"><div align="center"><i-button type="primary" size="large" @click="post_request_data" v-bind:disabled="!can_post">Post</i-button></div></i-col>
123-
</Row>
124-
<Row>
125-
<i-col span="3"><div align="center">response data</div></i-col>
126-
<i-col span="18"><i-input v-model="response_data" type="textarea" readonly :autosize="{minRows: 5,maxRows: 30}" /></i-col>
127-
</Row>
128-
</i-content>
129-
</layout>
130-
</div>
131-
</div>
123+
{{block mainapp_vue}}
132124
<script>
133125
var vm = new Vue({
134-
el: '#app',
126+
el: '#mainapp',
135127
delimiters: ['{', '}'],
136128
data: {
137129
request_get : {{<<request_get_json}},
@@ -204,8 +196,8 @@
204196
}
205197
})
206198
},
207-
login: function(){window.location.href="{{=url_for('uliweb_apps.login.views.login')}}"},
208-
logout: function(){window.location.href="{{=url_for('uliweb_apps.login.views.logout')}}"}
199+
login: function(){window.location.href="{{=url_for('uliweb_comapps.auth.login.views.login')}}"},
200+
logout: function(){window.location.href="{{=url_for('uliweb_comapps.auth.login.views.logout')}}"}
209201
},
210202
watch: {
211203
request_data : function(n,o){
@@ -233,4 +225,4 @@
233225
})
234226
vm.init_default()
235227
</script>
236-
{{end content_main}}
228+
{{end mainapp_vue}}
Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
1-
{{extend "site/layout0.html"}}
1+
{{extend "iview/layout0.html"}}
22

3-
{{block title}}uliweb-apijson demo{{end title}}
4-
5-
{{block mainmenu}}
6-
{{<< mainmenu('apijson')}}
7-
{{end mainmenu}}
8-
9-
{{block sidemenu}}{{end sidemenu}}
10-
11-
{{block header_custom_menu}}{{end header_custom_menu}}
3+
{{block mainmenu_config}}
4+
{{mainmenu_name,mainmenu_active='MAINMENU','apijson'}}
5+
{{end mainmenu_config}}

demo/apps/settings.ini

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ INSTALLED_APPS = [
1414
'uliweb.contrib.i18n',
1515
'uliweb.contrib.flashmessage',
1616
'uliweb.contrib.rbac',
17-
'uliweb_apps.site',
18-
'uliweb_apps.login',
1917
'uliweb_comui',
18+
'uliweb_comapps.auth.login',
19+
'uliweb_comapps.auth.user_admin',
2020
'uliweb_apijson.apijson',
2121
'apijson_demo',
2222
'tables',
@@ -25,8 +25,8 @@ INSTALLED_APPS = [
2525
[MENUS]
2626
MAINMENU = {
2727
'subs':[
28-
{'name': 'apijson', 'link':'/', 'title':u'requests demo'},
29-
{'name': 'tables', 'link':'/tables', 'title':u'tables'},
28+
{'name': 'apijson', 'link':'/', 'title':u'apijson requests demo','icon-iview':'ios-apps'},
29+
{'name': 'tables', 'link':'/tables', 'title':u'apijson tables demo','icon-iview':'md-document'},
3030
]
3131
}
3232

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
1-
{{extend "site/layout0.html"}}
1+
{{extend "iview/layout0.html"}}
22

3-
{{block title}}uliweb-apijson demo{{end title}}
4-
5-
{{block mainmenu}}
6-
{{<< mainmenu('tables')}}
7-
{{end mainmenu}}
8-
9-
{{block sidemenu}}{{end sidemenu}}
10-
11-
{{block header_custom_menu}}{{end header_custom_menu}}
3+
{{block mainmenu_config}}
4+
{{mainmenu_name,mainmenu_active='MAINMENU','tables'}}
5+
{{end mainmenu_config}}
Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,31 @@
11
{{extend "Tables/layout.html"}}
22

3-
{{block content_header_title}}<h1>apijson-table examples</h1>{{end content_header_title}}
3+
{{block title}}uliweb-apijson demo: tables{{end title}}
44

5-
{{block content_main}}
6-
{{use "ui.vue"}}
7-
{{use "ui.iview"}}
5+
{{block content_wrapper}}
86
{{include "vue/inc_apijson_table.html"}}
9-
{{if role!="ADMIN":}}
10-
<div class="alert alert-warning" role="alert">You should <a class="btn btn-primary btn-sm" href="{{=url_for('uliweb_apps.login.views.login')}}" role="button">login</a> with user <strong>admin</strong> to view all the tables</div>
11-
{{pass #if}}
12-
<div id="app" class='box'>
13-
<div class="box-body">
14-
<tabs v-model:value="tab_current" type="card">
15-
<tab-pane v-for="item in tabs" :key="item" :label="item" :name="item">
16-
<apijson-table :model_name="item" :config="apijson_tables[item]"></apijson-table>
17-
</tab-pane>
18-
</tabs>
19-
</div>
20-
</div>
7+
<card>
8+
<div style="min-height: 600px;">
9+
{{if role!="ADMIN":}}
10+
<div class="alert alert-warning" role="alert">You should <a class="btn btn-primary btn-sm" href="{{=url_for('uliweb_apps.login.views.login')}}" role="button">login</a> with user <strong>admin</strong> to view all the tables</div>
11+
{{pass #if}}
12+
<div id="app" class='box'>
13+
<div class="box-body">
14+
<tabs v-model:value="tab_current" type="card">
15+
<tab-pane v-for="item in tabs" :key="item" :label="item" :name="item">
16+
<apijson-table :model_name="item" :config="apijson_tables[item]"></apijson-table>
17+
</tab-pane>
18+
</tabs>
19+
</div>
20+
</div>
21+
</div>
22+
</card>
23+
{{end content_wrapper}}
2124

25+
{{block mainapp_vue}}
2226
<script>
2327
var vm = new Vue({
24-
el: '#app',
28+
el: '#mainapp',
2529
delimiters: ['{', '}'],
2630
data:{
2731
tab_current: null,
@@ -30,4 +34,4 @@
3034
}
3135
})
3236
</script>
33-
{{end content_main}}
37+
{{end mainapp_vue}}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy