diff options
Diffstat (limited to 'js/panels/CSSPanel')
-rw-r--r-- | js/panels/CSSPanel/CSSPanel.js | 53 | ||||
-rw-r--r-- | js/panels/CSSPanel/CSSPanelBase.reel/CSSPanelBase.css | 464 | ||||
-rw-r--r-- | js/panels/CSSPanel/CSSPanelBase.reel/CSSPanelBase.html | 64 | ||||
-rw-r--r-- | js/panels/CSSPanel/CSSPanelBase.reel/CSSPanelBase.js | 2885 | ||||
-rw-r--r-- | js/panels/CSSPanel/ComputedStyleSubPanel.reel/ComputedStyleSubPanel.html | 48 | ||||
-rw-r--r-- | js/panels/CSSPanel/ComputedStyleSubPanel.reel/ComputedStyleSubPanel.js | 192 | ||||
-rw-r--r-- | js/panels/CSSPanel/ComputedStyleSubPanel.reel/computed-style-sub-panel.css | 62 | ||||
-rw-r--r-- | js/panels/CSSPanel/css-property-name-list.js | 336 | ||||
-rw-r--r-- | js/panels/CSSPanel/css-shorthand-map.js | 77 | ||||
-rw-r--r-- | js/panels/CSSPanel/css-value-completion-map.js | 404 |
10 files changed, 4585 insertions, 0 deletions
diff --git a/js/panels/CSSPanel/CSSPanel.js b/js/panels/CSSPanel/CSSPanel.js new file mode 100644 index 00000000..94860b30 --- /dev/null +++ b/js/panels/CSSPanel/CSSPanel.js | |||
@@ -0,0 +1,53 @@ | |||
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 | var Montage = require("montage/core/core").Montage, | ||
8 | PanelBase = require("js/panels/PanelBase").PanelBase; | ||
9 | |||
10 | var CSSPanelBase = require("js/panels/CSSPanel/CSSPanelBase.reel").CSSPanelBase; | ||
11 | |||
12 | exports.CSSPanel = Montage.create(PanelBase, { | ||
13 | id : {value : "cssPanel", writable:true, enumerable:true, configurable:true}, | ||
14 | panelName : {value : "CSS", writable:true, enumerable:true, configurable:true}, | ||
15 | panelHeaderID : {value : "cssPanelHeader", writable:true, enumerable:true, configurable:true}, | ||
16 | disclosureIconID : {value : "cssPanelDisclosureIcon", writable:true, enumerable:true, configurable:true}, | ||
17 | closeButtonID : {value : "cssPanelCloseButton", writable:true, enumerable:true, configurable:true}, | ||
18 | panelContentID : {value : "cssPanelContent", writable:true, enumerable:true, configurable:true}, | ||
19 | |||
20 | init : { | ||
21 | enumerable:true, | ||
22 | value : function (){ | ||
23 | this.minHeight = 300; | ||
24 | this.contentHeight = 300; | ||
25 | this.defaultHeight= 300; | ||
26 | |||
27 | /* OLD WAY -- Removing the temporary div | ||
28 | // TODO: Remove this comment once this is tested. | ||
29 | |||
30 | var panelContainer = document.createElement("div"); | ||
31 | this._cssPanelBase = CSSPanelBase.create(); | ||
32 | this._cssPanelBase.element = panelContainer; | ||
33 | |||
34 | this.content = this._cssPanelBase; | ||
35 | this._cssPanelBase.needsDraw = true; | ||
36 | */ | ||
37 | //debugger; | ||
38 | this.content = CSSPanelBase.create(); | ||
39 | } | ||
40 | }, | ||
41 | reinit : { | ||
42 | value : function() { | ||
43 | this._cssPanelBase.clearStyleSheetList(); | ||
44 | this._cssPanelBase.clearCSSRules(); | ||
45 | this._cssPanelBase.populateStyleSheetList(); | ||
46 | } | ||
47 | }, | ||
48 | _cssPanelBase : { | ||
49 | enumerable: true, | ||
50 | value: null, | ||
51 | writable:true | ||
52 | } | ||
53 | }); \ No newline at end of file | ||
diff --git a/js/panels/CSSPanel/CSSPanelBase.reel/CSSPanelBase.css b/js/panels/CSSPanel/CSSPanelBase.reel/CSSPanelBase.css new file mode 100644 index 00000000..ff70b5b6 --- /dev/null +++ b/js/panels/CSSPanel/CSSPanelBase.reel/CSSPanelBase.css | |||
@@ -0,0 +1,464 @@ | |||
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 | .css_panel { | ||
8 | background-color: #FFF; | ||
9 | display: -webkit-box; | ||
10 | -webkit-box-orient: vertical; | ||
11 | height:100%; | ||
12 | } | ||
13 | .nj-section-header { | ||
14 | background-color: #333; | ||
15 | border-top: 1px solid #3D3D3D; | ||
16 | color: #FFF; | ||
17 | cursor: default; | ||
18 | font-size: 12px; | ||
19 | font-weight: normal; | ||
20 | height: 16px; | ||
21 | margin: 0; | ||
22 | padding: 4px 0 2px 10px; | ||
23 | vertical-align: top; | ||
24 | -webkit-box-flex: 0; | ||
25 | -webkit-user-select: none; | ||
26 | } | ||
27 | #nj-status-heading { | ||
28 | color: #CCC; | ||
29 | float: right; | ||
30 | margin-right: 15px; | ||
31 | } | ||
32 | #nj-css-styles-header { | ||
33 | box-shadow: 0 1px 4px rgba(0,0,0,0.25); | ||
34 | position: relative; | ||
35 | } | ||
36 | #nj-section-stylesheets { | ||
37 | -webkit-box-flex: 0; | ||
38 | background-color: #474747; | ||
39 | color: #FFF; | ||
40 | max-height: 68px; | ||
41 | overflow-y: scroll; | ||
42 | } | ||
43 | #nj-section-styles { | ||
44 | background-color: #FFF; | ||
45 | font-family: monospace; | ||
46 | overflow-y: scroll; | ||
47 | -webkit-box-orient: vertical; | ||
48 | } | ||
49 | .nj-sub-panel { | ||
50 | color: #333; | ||
51 | padding: 0; | ||
52 | overflow: hidden; | ||
53 | opacity: 1; | ||
54 | -webkit-box-flex: 1; | ||
55 | } | ||
56 | .nj-sub-panel.closed { | ||
57 | opacity: 0; | ||
58 | } | ||
59 | .panelDisclosureIcon { | ||
60 | position: relative; | ||
61 | top: -2px; | ||
62 | } | ||
63 | .panelDisclosureIcon.closed { | ||
64 | -webkit-transform: rotate(-90deg); | ||
65 | } | ||
66 | .nj-sub-panel ul { | ||
67 | list-style-type: none; | ||
68 | margin: 4px 0 5px; | ||
69 | padding: 0; | ||
70 | } | ||
71 | /* ---------------------------------------- | ||
72 | CSS Stylesheet List | ||
73 | ---------------------------------------- */ | ||
74 | #nj-sheet-list li { | ||
75 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89%2BbN%2FrXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz%2FSMBAPh%2BPDwrIsAHvgABeNMLCADATZvAMByH%2Fw%2FqQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf%2BbTAICd%2BJl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA%2Fg88wAAKCRFRHgg%2FP9eM4Ors7ONo62Dl8t6r8G%2FyJiYuP%2B5c%2BrcEAAAOF0ftH%2BLC%2BzGoA7BoBt%2FqIl7gRoXgugdfeLZrIPQLUAoOnaV%2FNw%2BH48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl%2FAV%2F1s%2BX48%2FPf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H%2FLcL%2F%2Fwd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s%2BwM%2B3zUAsGo%2BAXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93%2F%2B8%2F%2FUegJQCAZkmScQAAXkQkLlTKsz%2FHCAAARKCBKrBBG%2FTBGCzABhzBBdzBC%2FxgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD%2FphCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8%2BQ8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8%2BxdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR%2BcQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI%2BksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG%2BQh8lsKnWJAcaT4U%2BIoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr%2Bh0uhHdlR5Ol9BX0svpR%2BiX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK%2BYTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI%2BpXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q%2FpH5Z%2FYkGWcNMw09DpFGgsV%2FjvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY%2FR27iz2qqaE5QzNKM1ezUvOUZj8H45hx%2BJx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4%2FOBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up%2B6Ynr5egJ5Mb6feeb3n%2Bhx9L%2F1U%2FW36p%2FVHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm%2Beb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw%2B6TvZN9un2N%2FT0HDYfZDqsdWh1%2Bc7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc%2BLpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26%2FuNu5p7ofcn8w0nymeWTNz0MPIQ%2BBR5dE%2FC5%2BVMGvfrH5PQ0%2BBZ7XnIy9jL5FXrdewt6V3qvdh7xc%2B9j5yn%2BM%2B4zw33jLeWV%2FMN8C3yLfLT8Nvnl%2BF30N%2FI%2F9k%2F3r%2F0QCngCUBZwOJgUGBWwL7%2BHp8Ib%2BOPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo%2Bqi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt%2F87fOH4p3iC%2BN7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi%2FRNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z%2Bpn5mZ2y6xlhbL%2BxW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a%2FzYnKOZarnivN7cyzytuQN5zvn%2F%2FtEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1%2B1dT1gvWd%2B1YfqGnRs%2BFYmKrhTbF5cVf9go3HjlG4dvyr%2BZ3JS0qavEuWTPZtJm6ebeLZ5bDpaql%2BaXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO%2FPLi8ZafJzs07P1SkVPRU%2BlQ27tLdtWHX%2BG7R7ht7vPY07NXbW7z3%2FT7JvttVAVVN1WbVZftJ%2B7P3P66Jqun4lvttXa1ObXHtxwPSA%2F0HIw6217nU1R3SPVRSj9Yr60cOxx%2B%2B%2Fp3vdy0NNg1VjZzG4iNwRHnk6fcJ3%2FceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w%2B0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb%2B%2B6EHTh0kX%2Fi%2Bc7vDvOXPK4dPKy2%2BUTV7hXmq86X23qdOo8%2FpPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb%2F1tWeOT3dvfN6b%2FfF9%2FXfFt1%2Bcif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v%2B3Njv3H9qwHeg89HcR%2FcGhYPP%2FpH1jw9DBY%2BZj8uGDYbrnjg%2BOTniP3L96fynQ89kzyaeF%2F6i%2FsuuFxYvfvjV69fO0ZjRoZfyl5O%2FbXyl%2FerA6xmv28bCxh6%2ByXgzMV70VvvtwXfcdx3vo98PT%2BR8IH8o%2F2j5sfVT0Kf7kxmTk%2F8EA5jz%2FGMzLdsAAAAgY0hSTQAAeiUAAICDAAD5%2FwAAgOkAAHUwAADqYAAAOpgAABdvkl%2FFRgAAAKJJREFUeNrUU7ERwyAMfOU8BDUrxNukcCf3HsQ96SgyiqnwCq69xadKLtiYAqr8nQr%2BBNKLl5BEC25oRPMDXXJagek1FTXNj1lw%2FyFIfkNVuSwLc1BVMhKMTO50xwrGGGzbVikBwL7v2cRhGDA%2BRzp1cjlEp0689w1DPEip%2BsZSFx8Z1T7IdXUpwVp74kIIJ06SXViBfuyLRoouJkaS%2F1%2Bm9wA1r162GS72SwAAAABJRU5ErkJggg%3D%3D); | ||
76 | background-position: 0 3px; | ||
77 | background-repeat: no-repeat; | ||
78 | border-bottom: 1px solid #505050; | ||
79 | margin: 1px 0 1px 10px; | ||
80 | padding: 4px 0 3px; | ||
81 | } | ||
82 | #nj-sheet-list input[type="checkbox"] { | ||
83 | margin: 1px 3px 0 2px; | ||
84 | } | ||
85 | #nj-sheet-list .nj-css-disabled input[type="checkbox"] { | ||
86 | margin-top: 2px; | ||
87 | } | ||
88 | #nj-sheet-list .nj-css-sheetname { | ||
89 | color: #FFF; | ||
90 | display: inline-block; | ||
91 | margin-right: 4%; | ||
92 | width: 30%; | ||
93 | white-space: nowrap; | ||
94 | overflow: hidden; | ||
95 | text-decoration: none; | ||
96 | text-overflow: ellipsis; | ||
97 | } | ||
98 | .nj-css-default-sheet .nj-css-sheetname { | ||
99 | font-weight: bold; | ||
100 | } | ||
101 | #nj-sheet-list label { | ||
102 | float: right; | ||
103 | margin-right: 4px; | ||
104 | } | ||
105 | #nj-sheet-list input[type="text"] { | ||
106 | margin-top: -2px; | ||
107 | float: right; | ||
108 | height: 11px; | ||
109 | width: 29%; | ||
110 | } | ||
111 | .nj-sheet-delete { | ||
112 | color: #FFF; | ||
113 | float: right; | ||
114 | height: 12px; | ||
115 | margin-left: 5px; | ||
116 | text-decoration: none; | ||
117 | width: 12px; | ||
118 | } | ||
119 | .nj-css-protected-sheet .nj-sheet-delete { | ||
120 | visibility: hidden; | ||
121 | } | ||
122 | .nj-sheet-delete:after { | ||
123 | content: "\2716"; | ||
124 | opacity: 0.7; | ||
125 | } | ||
126 | .nj-sheet-delete:hover:after { | ||
127 | opacity: 1; | ||
128 | } | ||
129 | #nj-sheet-list li:hover, #nj-sheet-list .nj-css-disabled { | ||
130 | background: none; | ||
131 | } | ||
132 | #nj-sheet-list li .nj-css-dirty-marker { | ||
133 | color: #BF3B3B; | ||
134 | visibility: hidden; | ||
135 | } | ||
136 | #nj-sheet-list li span.nj-css-dirty { | ||
137 | visibility: visible; | ||
138 | } | ||
139 | /* ---------------------------------------- | ||
140 | CSS Rule List | ||
141 | ---------------------------------------- */ | ||