Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
aa.gusti
/
opensipkd-base
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 65dc5a1e
authored
Apr 17, 2022
by
aa.gusti
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
detable custom url
1 parent
d7d9dc9a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
5 deletions
developers/detable.md
developers/detable.md
View file @
65dc5a1
...
...
@@ -2,18 +2,19 @@
Feature yang digunakan untuk memudahkan merender datatable dalam html
```
python
import
colander
from
opensipkd.detable
import
DeTable
from
opensipkd.tools.buttons
import
btn_view
,
btn_add
,
btn_edit
,
btn_delete
,
btn_close
from
datatables
import
ColumnDT
class
ListSchema
(
colander
.
Schema
):
id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
searchable
=
False
,
id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
searchable
=
False
,
orderable
=
False
,
visible
=
False
)
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
width
=
'100pt'
)
nama
=
colander
.
SchemaNode
(
colander
.
String
())
@view_config
(
route_name
=
'provinsi'
,
renderer
=
'templates/list.pt'
,
permission
=
'provinsi'
)
...
...
@@ -23,6 +24,7 @@ def view_list(self):
buttons
=
(
btn_view
,
btn_add
,
btn_edit
,
btn_delete
,
btn_close
))
return
dict
(
table
=
table
.
render
(),
scripts
=
""
)
# /provinsi/add
@view_config
(
route_name
=
'provinsi-add'
,
renderer
=
'templates/form_input.pt'
,
...
...
@@ -30,6 +32,7 @@ def view_list(self):
def
view_add
(
request
):
pass
# /provinsi/{id}/edit
@view_config
(
route_name
=
'provinsi-edit'
,
renderer
=
'templates/form_input.pt'
,
...
...
@@ -37,6 +40,7 @@ def view_add(request):
def
view_edit
(
request
):
pass
# /provinsi/{id}/delete
@view_config
(
route_name
=
'provinsi-delete'
,
renderer
=
'templates/form_input.pt'
,
...
...
@@ -51,19 +55,30 @@ def view_delete(request):
permission
=
'provinsi'
)
def
view_view
(
request
):
pass
# /provinsi/{act}/act
@view_config
(
route_name
=
'provinsi-act'
,
renderer
=
'json'
,
permission
=
'provinsi'
)
def
view_act
(
request
):
pass
url_dict
=
request
.
matchdict
if
url_dict
[
'act'
]
==
'grid'
:
columns
=
[
ColumnDT
(
ResProvinsi
.
id
,
mData
=
'id'
),
ColumnDT
(
ResProvinsi
.
kode
,
mData
=
'kode'
),
ColumnDT
(
ResProvinsi
.
nama
,
mData
=
'nama'
),
ColumnDT
(
ResProvinsi
.
status
,
mData
=
'status'
),
]
query
=
DBSession
.
query
()
.
select_from
(
ResProvinsi
)
row_table
=
DataTables
(
request
.
GET
,
query
,
columns
)
return
row_table
.
output_result
()
```
## Contoh HTML
```
html
<html
metal:use-macro=
"load: ./base3.1.pt"
tal:define=
"
tal:define=
"
home request.route_url('home');"
>
<div
metal:fill-slot=
"content"
>
<div
class=
"jarviswidget jarviswidget-color-blueLight"
>
<!-- jarviswidget -->
...
...
@@ -78,6 +93,7 @@ def view_act(request):
Lihat di deklarasi
`class DeTable(field.Field):`
## SchemaNode Items
```
python
colander.SchemaNode(
NodeType, -> colander.Integer(), colander.String()
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment