UNPKG

1.59 kBJavaScriptView Raw
1import define from '../define';
2
3let fn, elesfn;
4
5fn = elesfn = ({
6
7 data: define.data( {
8 field: 'data',
9 bindingEvent: 'data',
10 allowBinding: true,
11 allowSetting: true,
12 settingEvent: 'data',
13 settingTriggersEvent: true,
14 triggerFnName: 'trigger',
15 allowGetting: true,
16 immutableKeys: {
17 'id': true,
18 'source': true,
19 'target': true,
20 'parent': true
21 },
22 updateStyle: true
23 } ),
24
25 removeData: define.removeData( {
26 field: 'data',
27 event: 'data',
28 triggerFnName: 'trigger',
29 triggerEvent: true,
30 immutableKeys: {
31 'id': true,
32 'source': true,
33 'target': true,
34 'parent': true
35 },
36 updateStyle: true
37 } ),
38
39 scratch: define.data( {
40 field: 'scratch',
41 bindingEvent: 'scratch',
42 allowBinding: true,
43 allowSetting: true,
44 settingEvent: 'scratch',
45 settingTriggersEvent: true,
46 triggerFnName: 'trigger',
47 allowGetting: true,
48 updateStyle: true
49 } ),
50
51 removeScratch: define.removeData( {
52 field: 'scratch',
53 event: 'scratch',
54 triggerFnName: 'trigger',
55 triggerEvent: true,
56 updateStyle: true
57 } ),
58
59 rscratch: define.data( {
60 field: 'rscratch',
61 allowBinding: false,
62 allowSetting: true,
63 settingTriggersEvent: false,
64 allowGetting: true
65 } ),
66
67 removeRscratch: define.removeData( {
68 field: 'rscratch',
69 triggerEvent: false
70 } ),
71
72 id: function(){
73 let ele = this[0];
74
75 if( ele ){
76 return ele._private.data.id;
77 }
78 }
79
80});
81
82// aliases
83fn.attr = fn.data;
84fn.removeAttr = fn.removeData;
85
86export default elesfn;