Skip to content

Commit 84689c9

Browse files
committed
Replace ref with id
1 parent 9c98e09 commit 84689c9

File tree

7 files changed

+36
-36
lines changed

7 files changed

+36
-36
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# 0.9.0
2+
3+
Remove `ref` and just use `id` instead
4+
15
# 0.8.10
26

37
Add slot to support weakref on the Html tag

examples/dataframe_viewer/app.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ function initViewer(ref) {
77
ws.onmessage = function(evt) {
88
var change = JSON.parse(evt.data);
99
console.log(change);
10-
var $tag = $('[ref="'+change.ref+'"]');
10+
var $tag = $('#'+change.id);
1111
change.object = $tag;
1212

1313
if (change.type === 'refresh') {
@@ -17,7 +17,7 @@ function initViewer(ref) {
1717
} else if (change.type === 'added') {
1818
$tag.append($(change.value));
1919
} else if (change.type === 'removed') {
20-
$tag.find('[ref="'+change.value+'"]').remove();
20+
$tag.find('#'+change.value).remove();
2121
} else if (change.type === 'update') {
2222
if (change.name==="text") {
2323
var node = $tag.contents().get(0);
@@ -52,7 +52,7 @@ function initViewer(ref) {
5252

5353
function sendNodeValue(){
5454
sendEvent({
55-
'ref':$(this).attr('ref'),
55+
'id': this.id,
5656
'type':'update',
5757
'name':'value',
5858
'value':$(this).val(),
@@ -62,14 +62,14 @@ function initViewer(ref) {
6262
$(document).on('click', '[clickable]',function(e){
6363
e.preventDefault();
6464
sendEvent({
65-
'ref':$(this).attr('ref'),
65+
'id':this.id,
6666
'type':'event',
6767
'name':'clicked'
6868
});
6969
});
7070
$(document).on('change', ":checkbox", function(){
7171
sendEvent({
72-
'ref':$(this).attr('ref'),
72+
'id':this.id,
7373
'type':'update',
7474
'name':'checked',
7575
'value':($(this).prop('checked'))?'checked':'',
@@ -79,7 +79,7 @@ function initViewer(ref) {
7979
$(document).on('input', 'input', sendNodeValue);
8080
$(document).on('change', 'textarea', function() {
8181
sendEvent({
82-
'ref':$(this).attr('ref'),
82+
'id':this.id,
8383
'type':'update',
8484
'name':'text',
8585
'value':$(this).val(),

examples/dataframe_viewer/app.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import tornado.web
55
import tornado.websocket
66
import tornado.ioloop
7+
from tornado.log import enable_pretty_logging
78
from web.core.app import WebApplication
89

910
with enaml.imports():
@@ -44,7 +45,7 @@ def get(self):
4445
)
4546

4647
# Store the viewer in the cache
47-
CACHE[viewer.ref] = viewer
48+
CACHE[viewer.id] = viewer
4849

4950
self.write(viewer.render())
5051

@@ -75,10 +76,10 @@ def on_message(self, message):
7576
log.debug(f'Update from js: {change}')
7677

7778
# Lookup the node
78-
ref = change.get('ref')
79+
ref = change.get('id')
7980
if not ref:
8081
return
81-
nodes = self.viewer.xpath('//*[@ref=$ref]', ref=ref)
82+
nodes = self.viewer.xpath('//*[@id=$ref]', ref=ref)
8283
if not nodes:
8384
return # Unknown node
8485
node = nodes[0]
@@ -109,6 +110,7 @@ def on_close(self):
109110

110111

111112
def run():
113+
enable_pretty_logging()
112114
# Needed to create enaml components
113115
enaml_app = WebApplication()
114116

@@ -118,7 +120,7 @@ def run():
118120
(r'/websocket/', ViewerWebSocket),
119121
(r'/static/(.*)', tornado.web.StaticFileHandler, {
120122
'path': os.path.dirname(__file__)}),
121-
])
123+
], debug=True)
122124
app.listen(8888)
123125
tornado.ioloop.IOLoop.current().start()
124126

examples/dataframe_viewer/viewer.enaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ enamldef Viewer(Html): viewer:
2323
$(document).ready(function(){
2424
initViewer('%s');
2525
});
26-
'''% viewer.ref
26+
'''% viewer.id
2727

2828
Link:
2929
rel="stylesheet"

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
setup(
99
name='enaml-web',
10-
version='0.8.10',
10+
version='0.9.0',
1111
author='CodeLV',
1212
author_email='[email protected]',
1313
url='https://github.com/codelv/enaml-web',

web/components/html.py

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,6 @@ class Tag(ToolkitObject):
3939
#: Object ID
4040
id = d_(Unicode())
4141

42-
#: Object ID
43-
ref = d_(Unicode())
44-
4542
#: Tag name
4643
tag = d_(Unicode()).tag(attr=False)
4744

@@ -88,7 +85,7 @@ class Tag(ToolkitObject):
8885
#: Event triggered when a drop occurs
8986
dropped = d_(Event(ToolkitObject))
9087

91-
def _default_ref(self):
88+
def _default_id(self):
9289
return '%0x' % id(self)
9390

9491
@observe('id', 'tag', 'cls', 'style', 'text', 'tail', 'alt', 'attrs',
@@ -111,7 +108,7 @@ def _update_proxy(self, change):
111108
else:
112109
self.proxy.set_attribute(name, value)
113110
self._notify_modified({
114-
'ref': self.ref,
111+
'id': self.id,
115112
'type': t,
116113
'name': name,
117114
'value': value
@@ -137,7 +134,7 @@ def child_added(self, child):
137134
super(Tag, self).child_added(child)
138135
if isinstance(child, Tag) and self.proxy_is_active:
139136
change = {
140-
'ref': self.ref,
137+
'id': self.id,
141138
'type': 'added',
142139
'name': 'children',
143140
'value': child.render().decode()
@@ -149,7 +146,7 @@ def child_added(self, child):
149146
while i < len(children):
150147
c = children[i]
151148
if isinstance(c, Tag): # Ignore pattern nodes
152-
change['before'] = c.ref
149+
change['before'] = c.id
153150
break
154151
else:
155152
i += 1
@@ -161,10 +158,10 @@ def child_moved(self, child):
161158
if isinstance(child, Tag) and self.proxy_is_active:
162159
if self.proxy.child_moved(child.proxy):
163160
change = {
164-
'ref': self.ref,
161+
'id': self.id,
165162
'type': 'moved',
166163
'name': 'children',
167-
'value': child.ref
164+
'value': child.id
168165
}
169166

170167
# Indicate where it was moved to
@@ -173,7 +170,7 @@ def child_moved(self, child):
173170
while i < len(children):
174171
c = children[i]
175172
if isinstance(c, Tag): # Ignore pattern nodes
176-
change['before'] = c.ref
173+
change['before'] = c.id
177174
break
178175
else:
179176
i += 1
@@ -189,10 +186,10 @@ def child_removed(self, child):
189186
super(Tag, self).child_removed(child)
190187
if isinstance(child, Tag) and self.proxy_is_active:
191188
self._notify_modified({
192-
'ref': self.ref,
189+
'id': self.id,
193190
'type': 'removed',
194191
'name': 'children',
195-
'value': child.ref,
192+
'value': child.id,
196193
})
197194

198195
# =========================================================================
@@ -728,7 +725,7 @@ class Select(Tag):
728725
value = d_(Unicode())
729726

730727
def _default_name(self):
731-
return u'{}'.format(self.ref)
728+
return u'{}'.format(self.id)
732729

733730
@observe('name', 'value')
734731
def _update_proxy(self, change):
@@ -771,7 +768,7 @@ class Input(Tag):
771768
value = d_(Value())
772769

773770
def _default_name(self):
774-
return u'{}'.format(self.ref)
771+
return u'{}'.format(self.id)
775772

776773
@observe('name', 'type', 'disabled', 'checked', 'value', 'placeholder')
777774
def _update_proxy(self, change):
@@ -787,7 +784,7 @@ class Textarea(Tag):
787784
cols = d_(Unicode())
788785

789786
def _default_name(self):
790-
return u'{}'.format(self.ref)
787+
return u'{}'.format(self.id)
791788

792789
@observe('name', 'rows', 'cols')
793790
def _update_proxy(self, change):
@@ -803,7 +800,7 @@ class Button(Tag):
803800
value = d_(Unicode('1'))
804801

805802
def _default_name(self):
806-
return u'{}'.format(self.ref)
803+
return u'{}'.format(self.id)
807804

808805
@observe('type')
809806
def _update_proxy(self, change):

web/impl/lxml_toolkit_object.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from web.core.app import WebApplication
1717

1818

19-
#: Components are cached for lookup by ref
19+
#: Components are cached for lookup by id
2020
CACHE = {}
2121

2222

@@ -53,9 +53,8 @@ def init_widget(self):
5353
d = self.declaration
5454

5555
#: Save ref id
56-
ref = d.ref
57-
CACHE[ref] = atomref(self)
58-
widget.set('ref', ref)
56+
CACHE[d.id] = atomref(self)
57+
widget.set('id', d.id)
5958

6059
if d.text:
6160
self.set_text(d.text)
@@ -67,8 +66,6 @@ def init_widget(self):
6766
self.set_cls(d.cls)
6867
if d.attrs:
6968
self.set_attrs(d.attrs)
70-
if d.id:
71-
widget.set('id', d.id)
7269
if d.draggable:
7370
self.set_draggable(d.draggable)
7471

@@ -145,7 +142,7 @@ def destroy(self):
145142

146143
d = self.declaration
147144
try:
148-
del CACHE[d.ref]
145+
del CACHE[d.id]
149146
except KeyError:
150147
pass
151148
super(WebComponent, self).destroy()
@@ -221,7 +218,7 @@ def xpath(self, query, **kwargs):
221218
return []
222219
matches = []
223220
for node in nodes:
224-
aref = CACHE.get(node.attrib.get('ref'))
221+
aref = CACHE.get(node.attrib.get('id'))
225222
obj = aref() if aref else None
226223
if obj is None:
227224
continue

0 commit comments

Comments
 (0)