diff options
Diffstat (limited to 'js/panels/binding')
6 files changed, 749 insertions, 0 deletions
diff --git a/js/panels/binding/binding-item.reel/binding-item.css b/js/panels/binding/binding-item.reel/binding-item.css new file mode 100644 index 00000000..63fd3605 --- /dev/null +++ b/js/panels/binding/binding-item.reel/binding-item.css | |||
@@ -0,0 +1,80 @@ | |||
1 | /* <copyright> | ||
2 | This file contains proprietary software owned by Motorola Mobility, Inc.<br/> | ||
3 | No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/> | ||
4 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. | ||
5 | </copyright> */ | ||
6 | |||
7 | .binding-item { | ||
8 | color: #FFF; | ||
9 | margin: 0 8px; | ||
10 | padding: 3px; | ||
11 | border-bottom: 1px solid #505050; | ||
12 | list-style-type: none; | ||
13 | display: -webkit-box; | ||
14 | -webkit-box-orient: horizontal; | ||
15 | } | ||
16 | .source-object, .bound-object { | ||
17 | padding: 5px 0 3px; | ||
18 | -webkit-box-flex: 1; | ||
19 | overflow: hidden; | ||
20 | position: relative; | ||
21 | } | ||
22 | .source-object > span, .bound-object > span { | ||
23 | position: absolute; | ||
24 | } | ||
25 | .bound-object { | ||
26 | padding-left: 12px; | ||
27 | } | ||
28 | .so-property { | ||
29 | left: 3px; | ||
30 | } | ||
31 | .bo-property { | ||
32 | left: 6px; | ||
33 | } | ||
34 | .so-object-identifier, .bo-object-identifier { | ||
35 | right: 3px; | ||
36 | color: #999; | ||
37 | } | ||
38 | |||
39 | /* ------------- | ||
40 | Buttons | ||
41 | ---------------- */ | ||
42 | |||
43 | .direction-toggle-button, .binding-edit-button { | ||
44 | background-color: transparent; | ||
45 | background-position: right center; | ||
46 | background-repeat: no-repeat; | ||
47 | border: 0 none; | ||
48 | cursor: pointer; | ||
49 | width: 23px; | ||
50 | height: 100%; | ||
51 | -webkit-box-flex: 0; | ||
52 | } | ||
53 | .direction-toggle-button { | ||
54 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw%2FeHBhY2tldCBiZWdpbj0i77u%2FIiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8%2BIDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowREQ2NEVFRkE0M0IxMUUxQTkwQ0M2Qzc0NjQ4NTRBNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowREQ2NEVGMEE0M0IxMUUxQTkwQ0M2Qzc0NjQ4NTRBNiI%2BIDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjBERDY0RUVEQTQzQjExRTFBOTBDQzZDNzQ2NDg1NEE2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjBERDY0RUVFQTQzQjExRTFBOTBDQzZDNzQ2NDg1NEE2Ii8%2BIDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY%2BIDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8%2B50zlPwAAAttJREFUeNqMls9rE0EUx2fz24RKsoluUAkIHhWFXtVCJRAhFBRB8D8I1GMF%2FwJFjwr9DzwVipKDUBvQg4KgeJOe1OSS2PxYMUnzO77vsm%2BcSbJpB76dLvve5719M%2FMmxnQ6FV4jn89fo%2BkBaY2UJmVIZVKV9J70ivTNy99YBCdolqZCv9%2B%2F0%2Bl0BM0CdqPRSAQCAWEYhgiHwyIWi2HeJdtt0t6xcAI%2FGw6HW61Wy4H6fD4pHpPJRApBEomECAaDz%2BnVI084gV90u93NRqPhwJCl3%2B%2BXYGTM9gCPx2Pna%2FB%2FMpkU0Wj0Jb16yLyAAn4CcL1eRxYSrMLVASB%2FEQLAL5VKbVKANr1%2BLDMn8AaV4nWtVnNggGNGADgjY4gHfCAEABhfQP7ObFkW%2FO%2BS2S5nXmg2mw6AM1ZLYlDi5u1fInLJlgHaX86K1gdLKxcEDgUoOHBsN1q43GAwEKFQSANDACdyPzVw56sl%2Fn48R%2B%2Bnc4sMDvGytNCrKOZ9qrWToVpjzngenBbtTxdkqdhW9QWPxj2UZX12yzmOnuDzshQ8q0GgXq%2BHV1lknsFCqDvCF5ivsQrW9vLMYoMDHo2LIJqolWo4HZOG%2BvbzhcYLwaofP7s8E4QmZ80rjmHvZ8TR96QEnbp8KE6vlTU427IfP7u8Jv6WsRCcvTSmxz%2BljOgd6AFWblbmAqinHBzwaPwAvIT%2BoPYLmQkFsN%2FpAaJXfouV6xUtWz5QrEgkAtM9wHfoyMpeAWlB3ABHB%2Bb%2FAFcpwI2KBlV9wQOXj%2F9%2BtVpdxwscfT7%2B8oQuOf4MxfGHYJ9Op0tkdou3xDa6GvcK7hezUmGq2Ie7o9vfhQMvFos7lO1T0zRlBiwOxAD1edYW%2FuCgJEv7OZfluH7OWtTPF95E1Hy2bNs%2B8U0Uj8fR9JbfREqAnHuHbvAdyjXnJqXcoW%2FcGr890QWtBFlF10Rzc2%2F%2BM6RD9xdAya3tZy%2F%2FfwIMAMwfSVrTb5e6AAAAAElFTkSuQmCC); | ||
55 | border-radius: 50%; | ||
56 | height: 23px; | ||
57 | width: 23px; | ||
58 | } | ||
59 | .direction-toggle-button:hover { | ||
60 | box-shadow: inset 0 0 6px rgba(255,255,255, 0.15); | ||
61 | -webkit-transform: scale(1); | ||
62 | opacity: 1; | ||
63 | } | ||
64 | .direction-toggle-button:focus { | ||
65 | box-shadow: inset 0 0 6px rgba(255,255,255, 0.15); | ||
66 | } | ||
67 | .direction-toggle-button:active { | ||
68 | -webkit-transform: scale(.85); | ||
69 | box-shadow: inset 0 0 6px rgba(0,0,0, 0.15); | ||
70 | } | ||
71 | .direction-toggle-button.two-way { | ||
72 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw%2FeHBhY2tldCBiZWdpbj0i77u%2FIiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8%2BIDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowREQ2NEVGM0E0M0IxMUUxQTkwQ0M2Qzc0NjQ4NTRBNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowREQ2NEVGNEE0M0IxMUUxQTkwQ0M2Qzc0NjQ4NTRBNiI%2BIDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjBERDY0RUYxQTQzQjExRTFBOTBDQzZDNzQ2NDg1NEE2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjBERDY0RUYyQTQzQjExRTFBOTBDQzZDNzQ2NDg1NEE2Ii8%2BIDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY%2BIDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8%2BbFXFCAAAA8FJREFUeNqMlt9rHFUUx78zszO7mxWz6a62KUlsSBrwwboixRfR0ppWMAZKadX%2BAdKC4ouV%2BhdU1DeFPiSoT%2BJDQZA8CIUWX0sCbSEVTUGaNr%2Fo7uxmZ3azu7M%2FPN%2FbvZNZmrS58N27O%2Becz71z7r3nrtHpdLBbm5qaykl3XvSu6IBoRLQsWhf9JfpVdHu3eGMnuEAnpbtYr9dPVyoVSA%2F6NZtNxGIxGIaBeDyOVCrF%2FnfxvSq6%2Fly4gL8NguBSsVhUUNM0Q%2BnWbrdDcZCBgQHYtv2dmL7aFS7gH6rV6meFQkHBOEvLskIwZ6z9CW61Wupt%2BD2TyaCvr%2B9HMX2ueWYEfIXgfD6voI7jcDbbcuKovpzrfSaiH%2F0Zx3hBXemBC3haUnHZdd0wiAG6N2M2Vg9%2FgpXx83CH31NvE7XrGMaTI8jT0ZlfpIGvrVMRpkTAa%2BMfYyv7OuJ2DMXhk3CHTiib9tNi%2Bsghjx%2FW%2FPx8Thbu%2B3K53DMTDV4fO4fG%2FpwCp737MFJZ1NLj6LRbSFWWw%2FXiWlCNRgOJRGJMOHPWxMTEF57nvc2F0fBe8BtIxh30%2B%2FeRXfwZic4WOv3D8NOvyoI20ec%2F6BmAi8uWTCZdpuX4U1vOtLA6ehY1WcCEY6PfW0L67uyToLVb6C%2FcUc83XzmF%2FOAxlc5ofK1Wo%2Bsk4SPcUuE%2BNkysHDoDL3MEljxL1tbxwu2Z7c3baSHx4CYy%2F%2F6m7PmhSRngndBMDnnSRkncp1%2BFM2jG0%2FBfHJPv4igfyY2Fp491UIHtPVJ2%2BpUGjsjqOSpenwFyCXf1rJmzWM3F6NIvMAXQlt9bg28hGD0OOKntE7pvHO7RL5XdqW4of7Qa4QHr8lTOl7mAevZs8eo6Rv75Cah72HKy8Mc%2BlAFOSFRMgTdzF9AQd8tfU35W4PeUBvKk%2FUf4DdaHaL3gDDjA4L1ZBJUSqvUAm5kcaoNHUXjtU1QD8Ss9xEGxE6x3iZZsRcKvE35NakJYKyjt5MgA%2BxdnUPeLKLcT2Bj%2BAF69iWbxIQ4szkrq%2FNA3Gkseuebc3NyCzPwG97h2iMqurD0ZQN7Ab8iz0iMBz8BoeDv7C4c8gS%2Fo43%2BVVY2j8jBRPQH%2BKob%2BnoXtLqneqJd77DpGV8dufd8uud2qeJnVLXpSn1dyNVwKFrLZLFPyjZi%2FfmY91%2BC9wKmd6vmON5EUn0ulUmnPN1E6nWZdf%2FZNFBng%2Fe4dOq3vUL0TOAjfJnKH%2FtHN8Z97uqAjg7wp3Ucsbt2b%2FyXR4%2B4%2FAO6Ia6Jbu8X%2FL8AAPIZc5jSqbNgAAAAASUVORK5CYII%3D); | ||
73 | } | ||
74 | .binding-item .binding-edit-button { | ||
75 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw%2FeHBhY2tldCBiZWdpbj0i77u%2FIiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8%2BIDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDQkI4QzVEMTc3ODcxMUUxQTlCOUNDQUJBMEUyMTIwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDQkI4QzVEMjc3ODcxMUUxQTlCOUNDQUJBMEUyMTIwMSI%2BIDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkNCQjhDNUNGNzc4NzExRTFBOUI5Q0NBQkEwRTIxMjAxIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNCQjhDNUQwNzc4NzExRTFBOUI5Q0NBQkEwRTIxMjAxIi8%2BIDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY%2BIDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8%2Bs3B0RQAAAd9JREFUeNockbGL2nAUx%2FNLorHaJXKjJ6YcDkVcHByUQwQDbl26FqEu3dykLjoIXXTwDygKFcrRP%2BC8Q0HwQDlwOaRCKFiuCmo0d0Jr1ZjY923ghZfv9%2FN%2B7%2F1eOJ%2FPx%2BEpl8uKZVk3p9PpRlXV81QqdY4cGjww%2F9l2u81Fo1EuFotdbrdbzbbtX%2FP5%2FAqBHBo8MGB5RVF8yWTSv9%2FvXYIgsNVq9XcwGLxCIBdFkcEDA5YZhnFNJwXcbjc3Go32mUzmlsaYYAQ6QGk0GmooFJKoE8fz%2FE9%2BsVjIHo%2FHpes6y2azX8PhsNbtdtMI5NDggQHL0wW%2FdDodfTqdPm02m4dqtfqmXq9LCOTQ4IEBy3u93gdq9YfCplHM2Wz2gsZ7ptggJ%2B0ADwxYRuI1zfqaLvY7l8t9mkwmcqVSeWeapl0oFJqBQOCpVqt9lCTpJWnfWb%2Ffv6fKM2xot9s9FovFz71ez6ST7UQiIZVKpffUzU%2Ffp%2FV6vWLBYPDD8Xi8oJ%2FkarVaKhVatLlHxhgny7KfPCGdTt%2FS945W%2FEPUNO2KNihGIpH44XBI0Tak8Xh8hoJ4PC7RGCZN0BkOh3fEHUV6Gdi50%2BnUqaWxXC6FfD7%2FDQXNZvMtXdZyOBw6IUtw%2FwQYACT6GJDDh744AAAAAElFTkSuQmCC); | ||
76 | padding-top: 6px; | ||
77 | width: 12px; | ||
78 | margin-left: 10px; | ||
79 | |||
80 | } \ No newline at end of file | ||
diff --git a/js/panels/binding/binding-item.reel/binding-item.html b/js/panels/binding/binding-item.reel/binding-item.html new file mode 100644 index 00000000..95a349f8 --- /dev/null +++ b/js/panels/binding/binding-item.reel/binding-item.html | |||
@@ -0,0 +1,101 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <!-- <copyright> | ||
3 | This file contains proprietary software owned by Motorola Mobility, Inc.<br/> | ||
4 | No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/> | ||
5 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. | ||
6 | </copyright> --> | ||
7 | <html lang="en"> | ||
8 | <head> | ||
9 | <meta http-equiv="content-type" content="text/html; charset=utf-8" /> | ||
10 | <link rel="stylesheet" href="binding-item.css" type="text/css"> | ||
11 | <script type="text/montage-serialization"> | ||
12 | { | ||
13 | "owner": { | ||
14 | "prototype": "js/panels/binding/binding-item.reel", | ||
15 | "properties": { | ||
16 | "element": {"#": "binding-item"}, | ||
17 | "editButton": {"@": "editButton" }, | ||
18 | "directionToggleButton": {"@": "directionToggleButton" } | ||
19 | } | ||
20 | }, | ||
21 | "soProperty": { | ||
22 | "prototype": "montage/ui/dynamic-text.reel", | ||
23 | "properties": { | ||
24 | "element": {"#": "so-property"} | ||
25 | }, | ||
26 | "bindings": { | ||
27 | "value": {"<-": "@owner.sourceObjectPropertyPath"} | ||
28 | } | ||
29 | }, | ||
30 | "soObject": { | ||
31 | "prototype": "montage/ui/dynamic-text.reel", | ||
32 | "properties": { | ||
33 | "element": {"#": "so-object"} | ||
34 | }, | ||
35 | "bindings": { | ||
36 | "value": {"<-": "@owner.sourceObjectLabel"} | ||
37 | } | ||
38 | }, | ||
39 | "boProperty" : { | ||
40 | "prototype": "montage/ui/dynamic-text.reel", | ||
41 | "properties": { | ||
42 | "element": {"#": "bo-property"} | ||
43 | }, | ||
44 | "bindings": { | ||
45 | "value": {"<-": "@owner.boundObjectPropertyPath"} | ||
46 | } | ||
47 | }, | ||
48 | "boObject": { | ||
49 | "prototype": "montage/ui/dynamic-text.reel", | ||
50 | "properties": { | ||
51 | "element": {"#": "bo-object"} | ||
52 | }, | ||
53 | "bindings": { | ||
54 | "value": {"<-": "@owner.boundObjectLabel"} | ||
55 | } | ||
56 | }, | ||
57 | "editButton": { | ||
58 | "prototype": "montage/ui/button.reel", | ||
59 | "properties": { | ||
60 | "element": {"#": "edit-button"}, | ||
61 | "identifier": "editButton", | ||
62 | "label": " " | ||
63 | }, | ||
64 | "listeners": [{ | ||
65 | "type": "action", | ||
66 | "listener": {"@": "owner"} | ||
67 | }] | ||
68 | |||
69 | }, | ||
70 | "directionToggleButton": { | ||
71 | "prototype": "montage/ui/button.reel", | ||
72 | "properties": { | ||
73 | "element": {"#": "direction-toggle-button"}, | ||
74 | "identifier": "directionToggleButton", | ||
75 | "label": " " | ||
76 | }, | ||
77 | "listeners": [{ | ||
78 | "type": "action", | ||
79 | "listener": {"@": "owner"} | ||
80 | }] | ||
81 | |||
82 | } | ||
83 | |||
84 | } | ||
85 | </script> | ||
86 | </head> | ||
87 | <body> | ||
88 | <li data-montage-id="binding-item" class="binding-item"> | ||
89 | <div data-montage-id="sourceObject" class="source-object"> | ||
90 | <span data-montage-id="so-property" class="so-property"></span> | ||
91 | <span data-montage-id="so-object" class="so-object-identifier"></span> | ||
92 | </div> | ||
93 | <button data-montage-id="direction-toggle-button" class="direction-toggle-button"></button> | ||
94 | <div data-montage-id="boundObject" class="bound-object"> | ||
95 | <span data-montage-id="bo-property" class="bo-property"></span> | ||
96 | <span data-montage-id="bo-object" class="bo-object-identifier"></span> | ||
97 | </div> | ||
98 | <button data-montage-id="edit-button" class="binding-edit-button"></button> | ||
99 | </li> | ||
100 | </body> | ||
101 | </html> \ No newline at end of file | ||
diff --git a/js/panels/binding/binding-item.reel/binding-item.js b/js/panels/binding/binding-item.reel/binding-item.js new file mode 100644 index 00000000..a1017020 --- /dev/null +++ b/js/panels/binding/binding-item.reel/binding-item.js | |||