ember-inkylike-source 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: cf4db3064adb8a4a5e2050994e1447227aeb52e8
4
+ data.tar.gz: 6c95a13b792dc6217a0a07669d84bd9adef86b0b
5
+ SHA512:
6
+ metadata.gz: 28e6f25c40b3bffc0c424d76d287b5060c567cf593dcb2f318a7bb380229836f4318b28dc0bb24f8570d7729519fbe2479d347ee508bc8feb42a6c18e73f195a
7
+ data.tar.gz: c551f849989133f3d0e0cc773031e2d4cb60ff4715efd25ef204169fb6d4f9007538d00e5f9a2f7bfd63bfebc30808c7fe408f66d13e95f71d11293fbb053f33
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
@@ -0,0 +1,319 @@
1
+ /* line 5, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike.css.scss */
2
+ html, body {
3
+ height: 100%;
4
+ }
5
+
6
+ /* line 9, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike.css.scss */
7
+ body > div.ember-view {
8
+ height: 100%;
9
+ }
10
+
11
+ /* line 13, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike.css.scss */
12
+ .inkylike-app {
13
+ height: 100%;
14
+ overflow: hidden;
15
+ }
16
+
17
+ /* line 18, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike.css.scss */
18
+ .inkylike-main {
19
+ overflow: hidden;
20
+ height: 100%;
21
+ }
22
+ /* line 4, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
23
+ .inkylike-sidebar {
24
+ float: left;
25
+ height: 100%;
26
+ z-index: 99;
27
+ width: 100px;
28
+ background-color: #00425E;
29
+ }
30
+ /* line 11, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
31
+ .inkylike-sidebar #logo {
32
+ height: 60px;
33
+ width: inherit;
34
+ -webkit-box-sizing: border-box;
35
+ -moz-box-sizing: border-box;
36
+ box-sizing: border-box;
37
+ padding: 10px;
38
+ color: #fff;
39
+ font-weight: bold;
40
+ text-align: center;
41
+ line-height: 40px;
42
+ font-size: 24px;
43
+ font-style: italic;
44
+ background-color: #00344A;
45
+ }
46
+ /* line 23, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
47
+ .inkylike-sidebar #logo .logo {
48
+ height: 40px;
49
+ }
50
+ /* line 25, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
51
+ .inkylike-sidebar #logo .logo img {
52
+ width: 40px;
53
+ height: 40px;
54
+ }
55
+ /* line 30, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
56
+ .inkylike-sidebar #logo .switch-button {
57
+ display: none;
58
+ width: 60px;
59
+ height: 40px;
60
+ background-color: #002E42;
61
+ border: 1px solid #00293B;
62
+ font-size: 10px;
63
+ font-style: normal;
64
+ line-height: 40px;
65
+ font-weight: normal;
66
+ cursor: pointer;
67
+ }
68
+ /* line 41, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
69
+ .inkylike-sidebar #logo .switch-button:hover {
70
+ background-color: #002B3E;
71
+ }
72
+ /* line 44, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
73
+ .inkylike-sidebar #logo .switch-button:before {
74
+ content: '\f060';
75
+ font-family: 'FontAwesome';
76
+ }
77
+ /* line 48, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
78
+ .inkylike-sidebar #logo .switch-button:after {
79
+ content: '\f061';
80
+ font-family: 'FontAwesome';
81
+ }
82
+ /* line 54, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
83
+ .inkylike-sidebar #logo:hover .logo {
84
+ display: none;
85
+ }
86
+ /* line 55, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
87
+ .inkylike-sidebar #logo:hover .switch-button {
88
+ display: inline-block;
89
+ }
90
+ /* line 59, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
91
+ .inkylike-sidebar #navigator {
92
+ width: inherit;
93
+ }
94
+ /* line 61, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
95
+ .inkylike-sidebar #navigator .menu-triggers {
96
+ margin: 0;
97
+ background-color: #00344A;
98
+ position: absolute;
99
+ bottom: 90px;
100
+ left: 0;
101
+ padding: 15px 20px;
102
+ width: inherit;
103
+ list-style-type: none;
104
+ -webkit-box-sizing: border-box;
105
+ -moz-box-sizing: border-box;
106
+ box-sizing: border-box;
107
+ }
108
+ /* line 71, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
109
+ .inkylike-sidebar #navigator .menu-triggers > li {
110
+ background-color: #002E42;
111
+ border: 1px solid #00293B;
112
+ height: 40px;
113
+ margin-bottom: 10px;
114
+ -webkit-border-radius: 2px;
115
+ -moz-border-radius: 2px;
116
+ -ms-border-radius: 2px;
117
+ -o-border-radius: 2px;
118
+ border-radius: 2px;
119
+ text-align: center;
120
+ vertical-align: middle;
121
+ line-height: 40px;
122
+ cursor: pointer;
123
+ }
124
+ /* line 81, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
125
+ .inkylike-sidebar #navigator .menu-triggers > li a {
126
+ display: block;
127
+ position: relative;
128
+ }
129
+ /* line 84, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
130
+ .inkylike-sidebar #navigator .menu-triggers > li a img.menu-trigger {
131
+ width: 24px;
132
+ height: 24px;
133
+ }
134
+ /* line 88, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
135
+ .inkylike-sidebar #navigator .menu-triggers > li a .title {
136
+ display: none;
137
+ }
138
+ /* line 93, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
139
+ .inkylike-sidebar #navigator .menu-triggers > li:last-child {
140
+ color: #fff;
141
+ margin-bottom: 0;
142
+ line-height: 40px;
143
+ text-align: center;
144
+ }
145
+ /* line 99, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
146
+ .inkylike-sidebar #navigator .menu-triggers > li:hover {
147
+ background-color: #002B3E;
148
+ }
149
+ /* line 104, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
150
+ .inkylike-sidebar #navigator .menu-items {
151
+ position: absolute;
152
+ top: 60px;
153
+ left: 0;
154
+ margin: 0 !important;
155
+ width: inherit;
156
+ }
157
+ /* line 110, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
158
+ .inkylike-sidebar #navigator .menu-items ul {
159
+ margin: 0 !important;
160
+ display: none;
161
+ }
162
+ /* line 113, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
163
+ .inkylike-sidebar #navigator .menu-items ul li {
164
+ height: 48px;
165
+ padding: 16px 26px;
166
+ cursor: pointer;
167
+ }
168
+ /* line 117, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
169
+ .inkylike-sidebar #navigator .menu-items ul li div.icon {
170
+ width: 42px;
171
+ height: 42px;
172
+ border: 3px solid #00293b;
173
+ -webkit-border-radius: 100%;
174
+ -moz-border-radius: 100%;
175
+ -ms-border-radius: 100%;
176
+ -o-border-radius: 100%;
177
+ border-radius: 100%;
178
+ background-color: #fff;
179
+ }
180
+ /* line 123, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
181
+ .inkylike-sidebar #navigator .menu-items ul li div.icon a {
182
+ display: block;
183
+ line-height: 42px;
184
+ text-align: center;
185
+ }
186
+ /* line 127, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
187
+ .inkylike-sidebar #navigator .menu-items ul li div.icon a .title {
188
+ display: none;
189
+ }
190
+ /* line 133, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
191
+ .inkylike-sidebar #navigator .menu-items ul li.active {
192
+ background-color: #002E41;
193
+ }
194
+ /* line 136, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
195
+ .inkylike-sidebar #navigator .menu-items ul li:not([class=active]):hover {
196
+ background-color: #003E59;
197
+ }
198
+ /* line 140, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
199
+ .inkylike-sidebar #navigator .menu-items ul.active {
200
+ display: block;
201
+ }
202
+ /* line 146, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
203
+ .inkylike-sidebar #starter {
204
+ position: absolute;
205
+ bottom: 0;
206
+ left: 0;
207
+ -webkit-box-sizing: border-box;
208
+ -moz-box-sizing: border-box;
209
+ box-sizing: border-box;
210
+ padding: 10px 20px 20px;
211
+ width: inherit;
212
+ height: 90px;
213
+ text-align: center;
214
+ vertical-align: middle;
215
+ line-height: 58px;
216
+ cursor: pointer;
217
+ background-color: #00344A;
218
+ }
219
+ /* line 159, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
220
+ .inkylike-sidebar #starter > a {
221
+ display: block;
222
+ background-color: #002E42;
223
+ border: 1px solid #00293B;
224
+ -webkit-border-radius: 100%;
225
+ -moz-border-radius: 100%;
226
+ -ms-border-radius: 100%;
227
+ -o-border-radius: 100%;
228
+ border-radius: 100%;
229
+ }
230
+ /* line 165, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
231
+ .inkylike-sidebar #starter ul.dropdown-menu {
232
+ position: absolute;
233
+ top: 0px;
234
+ left: 140px;
235
+ -webkit-border-radius: 3px;
236
+ -moz-border-radius: 3px;
237
+ -ms-border-radius: 3px;
238
+ -o-border-radius: 3px;
239
+ border-radius: 3px;
240
+ text-align: left;
241
+ }
242
+
243
+ /* line 175, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
244
+ .inkylike-sidebar.inkylike-sidebar-expanded {
245
+ width: 200px;
246
+ }
247
+ /* line 177, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
248
+ .inkylike-sidebar.inkylike-sidebar-expanded #logo {
249
+ padding: 10px 20px;
250
+ }
251
+ /* line 179, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
252
+ .inkylike-sidebar.inkylike-sidebar-expanded #logo .logo {
253
+ float: left;
254
+ }
255
+ /* line 182, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
256
+ .inkylike-sidebar.inkylike-sidebar-expanded #logo .switch-button {
257
+ float: right;
258
+ display: block;
259
+ }
260
+ /* line 185, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
261
+ .inkylike-sidebar.inkylike-sidebar-expanded #logo .switch-button:before {
262
+ content: '\f061';
263
+ font-family: 'FontAwesome';
264
+ }
265
+ /* line 189, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
266
+ .inkylike-sidebar.inkylike-sidebar-expanded #logo .switch-button:after {
267
+ content: '\f060';
268
+ font-family: 'FontAwesome';
269
+ }
270
+ /* line 195, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
271
+ .inkylike-sidebar.inkylike-sidebar-expanded #logo:hover .logo, .inkylike-sidebar.inkylike-sidebar-expanded #logo:hover .switch-button {
272
+ display: inline-block;
273
+ }
274
+ /* line 200, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
275
+ .inkylike-sidebar.inkylike-sidebar-expanded #navigator .menu-triggers > li a .title {
276
+ display: inline-block;
277
+ color: white;
278
+ text-decoration: none;
279
+ margin-left: 20px;
280
+ }
281
+ /* line 206, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
282
+ .inkylike-sidebar.inkylike-sidebar-expanded #navigator .menu-items ul li {
283
+ padding: 10px 20px;
284
+ height: 32px;
285
+ }
286
+ /* line 209, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
287
+ .inkylike-sidebar.inkylike-sidebar-expanded #navigator .menu-items ul li div.icon {
288
+ width: 100%;
289
+ height: 32px;
290
+ border: none;
291
+ background-color: transparent;
292
+ }
293
+ /* line 214, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
294
+ .inkylike-sidebar.inkylike-sidebar-expanded #navigator .menu-items ul li div.icon a {
295
+ line-height: 32px;
296
+ text-align: left;
297
+ }
298
+ /* line 217, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
299
+ .inkylike-sidebar.inkylike-sidebar-expanded #navigator .menu-items ul li div.icon a .title {
300
+ display: inline-block;
301
+ color: white;
302
+ text-decoration: none;
303
+ margin-left: 20px;
304
+ }
305
+ /* line 228, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
306
+ .inkylike-sidebar.inkylike-sidebar-expanded #starter {
307
+ padding: 10px 68px 20px;
308
+ }
309
+ /* line 230, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/sidebar.css.scss */
310
+ .inkylike-sidebar.inkylike-sidebar-expanded #starter a#home {
311
+ width: 58px;
312
+ height: 58px;
313
+ }
314
+ /* line 1, /Users/tower/Repository/codes/base/ember-inkylike/assets/stylesheets/ember-inkylike/toolbar.css.scss */
315
+ .inkylike-toolbar {
316
+ background-color: #1B81D3;
317
+ width: 100%;
318
+ height: 60px;
319
+ }
@@ -0,0 +1,252 @@
1
+ // Last commit: ebfbee8 (2013-09-04 14:27:04 +0800)
2
+
3
+
4
+ (function() {
5
+ var define, requireModule;
6
+
7
+ (function() {
8
+ var registry = {}, seen = {};
9
+
10
+ define = function(name, deps, callback) {
11
+ registry[name] = { deps: deps, callback: callback };
12
+ };
13
+
14
+ requireModule = function(name) {
15
+ if (seen[name]) { return seen[name]; }
16
+ seen[name] = {};
17
+
18
+ var mod, deps, callback, reified , exports;
19
+
20
+ mod = registry[name];
21
+
22
+ if (!mod) {
23
+ throw new Error("Module '" + name + "' not found.");
24
+ }
25
+
26
+ deps = mod.deps;
27
+ callback = mod.callback;
28
+ reified = [];
29
+ exports;
30
+
31
+ for (var i=0, l=deps.length; i<l; i++) {
32
+ if (deps[i] === 'exports') {
33
+ reified.push(exports = {});
34
+ } else {
35
+ reified.push(requireModule(deps[i]));
36
+ }
37
+ }
38
+
39
+ var value = callback.apply(this, reified);
40
+ return seen[name] = exports || value;
41
+ };
42
+ })();
43
+ (function() {
44
+ /**
45
+ * All Ember InkyLike methods and functions are defined inside of this
46
+ * namespace.
47
+ *
48
+ * @class InkyLike
49
+ * @static
50
+ **/
51
+ window.InkyLike = Ember.Namespace.create();
52
+
53
+ })();
54
+
55
+
56
+
57
+ (function() {
58
+ var get = Ember.get;
59
+
60
+ InkyLike.Pageable = Ember.Mixin.create({
61
+
62
+ hasPaginationSupport: true,
63
+
64
+ total: 0,
65
+
66
+ pageSize: 20,
67
+
68
+ currentPage: 0,
69
+
70
+ startPage: Ember.computed(function() {
71
+ var currentPage = get(this, 'currentPage');
72
+ var totalPages = get(this, 'totalPages');
73
+
74
+ if(totalPages <= 9) return 1;
75
+
76
+ var startPage = currentPage - 4 > 1 ? currentPage - 4 : 1;
77
+ if(startPage + 8 >= totalPages) startPage = totalPages - 8;
78
+
79
+ return startPage;
80
+ }).property('currentPage'),
81
+
82
+ endPage: Ember.computed(function() {
83
+ var startPage = get(this, 'startPage');
84
+ var currentPage = get(this, 'currentPage');
85
+ var totalPages = get(this, 'totalPages');
86
+
87
+ return startPage + 8 >= totalPages ? totalPages : startPage + 8;
88
+ }).property('startPage', 'totalPages'),
89
+
90
+ totalPages: Ember.computed(function() {
91
+ return Math.ceil(get(this, 'total') / get(this, 'pageSize')) || 0;
92
+ }).property('total', 'pageSize').cacheable(),
93
+
94
+ pageLinks: Ember.computed(function() {
95
+ var currentPage = parseInt(get(this, 'currentPage'), 10);
96
+ var totalPages = get(this, 'totalPages');
97
+ var pageUrl = get(this, 'pageUrl');
98
+
99
+ if(totalPages < 1) return [];
100
+
101
+ var pageLinks = [];
102
+
103
+ if(currentPage === 1) {
104
+ pageLinks.push({ title: '|<', disabled: true });
105
+ pageLinks.push({ title: '<', disabled: true });
106
+ } else {
107
+ pageLinks.push({ title: '|<', href: pageUrl + '/' + 1 });
108
+ pageLinks.push({ title: '<', href: pageUrl + '/' + (currentPage - 1) });
109
+ }
110
+
111
+ for(var i = get(this, 'startPage'); i <= get(this, 'endPage'); i++) {
112
+ if(currentPage === i) {
113
+ pageLinks.push({ title: i, disabled: true });
114
+ } else {
115
+ pageLinks.push({ title: i, href: pageUrl + '/' + i });
116
+ }
117
+ }
118
+
119
+ if(currentPage === totalPages) {
120
+ pageLinks.push({ title: '>', disabled: true });
121
+ pageLinks.push({ title: '>|', disabled: true });
122
+ } else {
123
+ pageLinks.push({ title: '>', href: pageUrl + '/' + (currentPage + 1) });
124
+ pageLinks.push({ title: '>|', href: pageUrl + '/' + get(this, 'totalPages') });
125
+ }
126
+
127
+ return pageLinks;
128
+ }).property('startPage', 'endPage', 'currentPage', 'totalPages', 'pageUrl')
129
+ });
130
+
131
+ })();
132
+
133
+
134
+
135
+ (function() {
136
+ var template =
137
+ '<div id="logo">' +
138
+ '<div class="logo">{{view.title}}</div>' +
139
+ '<div class="switch-button" {{action toggleExpanded target="view"}}></div>' +
140
+ '</div>' +
141
+ '<div id="navigator">' +
142
+ '<div class="menu-items">' +
143
+ '{{#each view.menus}}' +
144
+ '<ul {{bindAttr id=text}}>' +
145
+ '{{#each items}}' +
146
+ '<li>' +
147
+ '<div class="icon">' +
148
+ '<a {{bindAttr href=url data-original-title=text}} data-placement="right" rel="tooltip">' +
149
+ '<img {{bindAttr src=icon}} />' +
150
+ '<div class="title">{{text}}</div>' +
151
+ '</a>' +
152
+ '</div>' +
153
+ '</li>' +
154
+ '{{/each}}' +
155
+ '</ul>' +
156
+ '{{/each}}' +
157
+ '</div>' +
158
+ '<ul class="menu-triggers">' +
159
+ '{{#each view.menus}}' +
160
+ '<li>' +
161
+ '<a {{bindAttr href=url data-original-title=text}} data-placement="right" rel="tooltip" data-toggle="tab">' +
162
+ '<img class="menu-trigger" {{bindAttr src=icon}} />' +
163
+ '<div class="title">{{text}}</div>' +
164
+ '</a>' +
165
+ '</li>' +
166
+ '{{/each}}' +
167
+ '</ul>' +
168
+ '</div>' +
169
+ '<div id="starter" class="dropdown">' +
170
+ '<a id="home" class="dropdown-toggle" href="#" rel="tooltip" data-placement="right" data-toggle="dropdown" data-original-title="菜单">' +
171
+ '<i class="icon-th-large icon-white"></i>' +
172
+ '</a>' +
173
+ '<ul class="dropdown-menu">' +
174
+ '{{#each view.starterItems}}' +
175
+ '<li>' +
176
+ '<a {{bindAttr href="url"}}>' +
177
+ '<i {{bindAttr class="icon"}}></i>' +
178
+ ' {{text}}' +
179
+ '</a>' +
180
+ '</li>' +
181
+ '{{/each}}' +
182
+ '</ul>' +
183
+ '</div>'
184
+ ;
185
+
186
+ InkyLike.SidebarView = Ember.View.extend({
187
+ template: Ember.Handlebars.compile(template),
188
+
189
+ classNames: ['inkylike-sidebar'],
190
+ classNameBindings: ['expanded:inkylike-sidebar-expanded'],
191
+
192
+ expanded: false,
193
+
194
+ title: 'A Title',
195
+
196
+ menus: Ember.A(),
197
+ starterItems: Ember.A(),
198
+
199
+ didInsertElement: function() {
200
+ //this.$().find('*[rel="tooltip"]').tooltip();
201
+ this.$().find('.menu-triggers li a').first().click();
202
+ },
203
+
204
+ actions: {
205
+ toggleExpanded: function() {
206
+ this.set('expanded', !this.get('expanded'));
207
+ }
208
+ }
209
+ });
210
+
211
+ })();
212
+
213
+
214
+
215
+ (function() {
216
+ InkyLike.ToolbarView = Ember.View.extend({
217
+ classNames: ['inkylike-toolbar']
218
+ });
219
+
220
+ })();
221
+
222
+
223
+
224
+ (function() {
225
+ var template =
226
+ '{{view InkyLike.SidebarView titleBinding="view.title" menusBinding="view.sidebar.menus" starterItemsBinding="view.sidebar.starterItems" }}' +
227
+ '<div class="inkylike-main">' +
228
+ '{{yield}}' +
229
+ '</div>'
230
+ ;
231
+
232
+ InkyLike.AppView = Ember.View.extend({
233
+ layout: Ember.Handlebars.compile(template),
234
+ classNames: ['inkylike-app'],
235
+
236
+ title: '',
237
+ sidebar: {
238
+ menus: Ember.A(),
239
+ starterItems: Ember.A()
240
+ }
241
+ });
242
+
243
+ })();
244
+
245
+
246
+
247
+ (function() {
248
+
249
+ })();
250
+
251
+
252
+ })();
@@ -0,0 +1,11 @@
1
+ // ================================================================================
2
+ // Project: Ember InkyLike
3
+ // Copyright: ©2011-2013 Beijing Menglifang Network Science and Technology Co.,Ltd.
4
+ // License: Licensed under MIT license (see license.js)
5
+ // ================================================================================
6
+
7
+
8
+ // Last commit: ebfbee8 (2013-09-04 14:27:04 +0800)
9
+
10
+
11
+ !function(){var e,t;!function(){var i={},a={};e=function(e,t,a){i[e]={deps:t,callback:a}},t=function(e){if(a[e])return a[e];a[e]={};var r,n,s,l,d;if(r=i[e],!r)throw new Error("Module '"+e+"' not found.");n=r.deps,s=r.callback,l=[];for(var o=0,c=n.length;c>o;o++)"exports"===n[o]?l.push(d={}):l.push(t(n[o]));var u=s.apply(this,l);return a[e]=d||u}}(),function(){window.InkyLike=Ember.Namespace.create()}(),function(){var e=Ember.get;InkyLike.Pageable=Ember.Mixin.create({hasPaginationSupport:!0,total:0,pageSize:20,currentPage:0,startPage:Ember.computed(function(){var t=e(this,"currentPage"),i=e(this,"totalPages");if(9>=i)return 1;var a=t-4>1?t-4:1;return a+8>=i&&(a=i-8),a}).property("currentPage"),endPage:Ember.computed(function(){var t=e(this,"startPage");e(this,"currentPage");var i=e(this,"totalPages");return t+8>=i?i:t+8}).property("startPage","totalPages"),totalPages:Ember.computed(function(){return Math.ceil(e(this,"total")/e(this,"pageSize"))||0}).property("total","pageSize").cacheable(),pageLinks:Ember.computed(function(){var t=parseInt(e(this,"currentPage"),10),i=e(this,"totalPages"),a=e(this,"pageUrl");if(1>i)return[];var r=[];1===t?(r.push({title:"|<",disabled:!0}),r.push({title:"<",disabled:!0})):(r.push({title:"|<",href:a+"/"+1}),r.push({title:"<",href:a+"/"+(t-1)}));for(var n=e(this,"startPage");n<=e(this,"endPage");n++)t===n?r.push({title:n,disabled:!0}):r.push({title:n,href:a+"/"+n});return t===i?(r.push({title:">",disabled:!0}),r.push({title:">|",disabled:!0})):(r.push({title:">",href:a+"/"+(t+1)}),r.push({title:">|",href:a+"/"+e(this,"totalPages")})),r}).property("startPage","endPage","currentPage","totalPages","pageUrl")})}(),function(){var e='<div id="logo"><div class="logo">{{view.title}}</div><div class="switch-button" {{action toggleExpanded target="view"}}></div></div><div id="navigator"><div class="menu-items">{{#each view.menus}}<ul {{bindAttr id=text}}>{{#each items}}<li><div class="icon"><a {{bindAttr href=url data-original-title=text}} data-placement="right" rel="tooltip"><img {{bindAttr src=icon}} /><div class="title">{{text}}</div></a></div></li>{{/each}}</ul>{{/each}}</div><ul class="menu-triggers">{{#each view.menus}}<li><a {{bindAttr href=url data-original-title=text}} data-placement="right" rel="tooltip" data-toggle="tab"><img class="menu-trigger" {{bindAttr src=icon}} /><div class="title">{{text}}</div></a></li>{{/each}}</ul></div><div id="starter" class="dropdown"><a id="home" class="dropdown-toggle" href="#" rel="tooltip" data-placement="right" data-toggle="dropdown" data-original-title="菜单"><i class="icon-th-large icon-white"></i></a><ul class="dropdown-menu">{{#each view.starterItems}}<li><a {{bindAttr href="url"}}><i {{bindAttr class="icon"}}></i> {{text}}</a></li>{{/each}}</ul></div>';InkyLike.SidebarView=Ember.View.extend({template:Ember.Handlebars.compile(e),classNames:["inkylike-sidebar"],classNameBindings:["expanded:inkylike-sidebar-expanded"],expanded:!1,title:"A Title",menus:Ember.A(),starterItems:Ember.A(),didInsertElement:function(){this.$().find(".menu-triggers li a").first().click()},actions:{toggleExpanded:function(){this.set("expanded",!this.get("expanded"))}}})}(),function(){InkyLike.ToolbarView=Ember.View.extend({classNames:["inkylike-toolbar"]})}(),function(){var e='{{view InkyLike.SidebarView titleBinding="view.title" menusBinding="view.sidebar.menus" starterItemsBinding="view.sidebar.starterItems" }}<div class="inkylike-main">{{yield}}</div>';InkyLike.AppView=Ember.View.extend({layout:Ember.Handlebars.compile(e),classNames:["inkylike-app"],title:"",sidebar:{menus:Ember.A(),starterItems:Ember.A()}})}()}(),"undefined"==typeof location||"localhost"!==location.hostname&&"127.0.0.1"!==location.hostname||Ember.Logger.warn("You are running a production build of Ember on localhost and won't receive detailed error messages. If you want full error messages please use the non-minified build provided on the Ember website.");
@@ -0,0 +1,255 @@
1
+ (function() {
2
+ var define, requireModule;
3
+
4
+ (function() {
5
+ var registry = {}, seen = {};
6
+
7
+ define = function(name, deps, callback) {
8
+ registry[name] = { deps: deps, callback: callback };
9
+ };
10
+
11
+ requireModule = function(name) {
12
+ if (seen[name]) { return seen[name]; }
13
+ seen[name] = {};
14
+
15
+ var mod, deps, callback, reified , exports;
16
+
17
+ mod = registry[name];
18
+
19
+ if (!mod) {
20
+ throw new Error("Module '" + name + "' not found.");
21
+ }
22
+
23
+ deps = mod.deps;
24
+ callback = mod.callback;
25
+ reified = [];
26
+ exports;
27
+
28
+ for (var i=0, l=deps.length; i<l; i++) {
29
+ if (deps[i] === 'exports') {
30
+ reified.push(exports = {});
31
+ } else {
32
+ reified.push(requireModule(deps[i]));
33
+ }
34
+ }
35
+
36
+ var value = callback.apply(this, reified);
37
+ return seen[name] = exports || value;
38
+ };
39
+ })();
40
+ (function() {
41
+ /**
42
+ * All Ember InkyLike methods and functions are defined inside of this
43
+ * namespace.
44
+ *
45
+ * @class InkyLike
46
+ * @static
47
+ **/
48
+ window.InkyLike = Ember.Namespace.create();
49
+
50
+ })();
51
+
52
+
53
+
54
+ (function() {
55
+ var get = Ember.get;
56
+
57
+ InkyLike.Pageable = Ember.Mixin.create({
58
+
59
+ hasPaginationSupport: true,
60
+
61
+ total: 0,
62
+
63
+ pageSize: 20,
64
+
65
+ currentPage: 0,
66
+
67
+ startPage: Ember.computed(function() {
68
+ var currentPage = get(this, 'currentPage');
69
+ var totalPages = get(this, 'totalPages');
70
+
71
+ if(totalPages <= 9) return 1;
72
+
73
+ var startPage = currentPage - 4 > 1 ? currentPage - 4 : 1;
74
+ if(startPage + 8 >= totalPages) startPage = totalPages - 8;
75
+
76
+ return startPage;
77
+ }).property('currentPage'),
78
+
79
+ endPage: Ember.computed(function() {
80
+ var startPage = get(this, 'startPage');
81
+ var currentPage = get(this, 'currentPage');
82
+ var totalPages = get(this, 'totalPages');
83
+
84
+ return startPage + 8 >= totalPages ? totalPages : startPage + 8;
85
+ }).property('startPage', 'totalPages'),
86
+
87
+ totalPages: Ember.computed(function() {
88
+ return Math.ceil(get(this, 'total') / get(this, 'pageSize')) || 0;
89
+ }).property('total', 'pageSize').cacheable(),
90
+
91
+ pageLinks: Ember.computed(function() {
92
+ var currentPage = parseInt(get(this, 'currentPage'), 10);
93
+ var totalPages = get(this, 'totalPages');
94
+ var pageUrl = get(this, 'pageUrl');
95
+
96
+ if(totalPages < 1) return [];
97
+
98
+ var pageLinks = [];
99
+
100
+ if(currentPage === 1) {
101
+ pageLinks.push({ title: '|<', disabled: true });
102
+ pageLinks.push({ title: '<', disabled: true });
103
+ } else {
104
+ pageLinks.push({ title: '|<', href: pageUrl + '/' + 1 });
105
+ pageLinks.push({ title: '<', href: pageUrl + '/' + (currentPage - 1) });
106
+ }
107
+
108
+ for(var i = get(this, 'startPage'); i <= get(this, 'endPage'); i++) {
109
+ if(currentPage === i) {
110
+ pageLinks.push({ title: i, disabled: true });
111
+ } else {
112
+ pageLinks.push({ title: i, href: pageUrl + '/' + i });
113
+ }
114
+ }
115
+
116
+ if(currentPage === totalPages) {
117
+ pageLinks.push({ title: '>', disabled: true });
118
+ pageLinks.push({ title: '>|', disabled: true });
119
+ } else {
120
+ pageLinks.push({ title: '>', href: pageUrl + '/' + (currentPage + 1) });
121
+ pageLinks.push({ title: '>|', href: pageUrl + '/' + get(this, 'totalPages') });
122
+ }
123
+
124
+ return pageLinks;
125
+ }).property('startPage', 'endPage', 'currentPage', 'totalPages', 'pageUrl')
126
+ });
127
+
128
+ })();
129
+
130
+
131
+
132
+ (function() {
133
+ var template =
134
+ '<div id="logo">' +
135
+ '<div class="logo">{{view.title}}</div>' +
136
+ '<div class="switch-button" {{action toggleExpanded target="view"}}></div>' +
137
+ '</div>' +
138
+ '<div id="navigator">' +
139
+ '<div class="menu-items">' +
140
+ '{{#each view.menus}}' +
141
+ '<ul {{bindAttr id=text}}>' +
142
+ '{{#each items}}' +
143
+ '<li>' +
144
+ '<div class="icon">' +
145
+ '<a {{bindAttr href=url data-original-title=text}} data-placement="right" rel="tooltip">' +
146
+ '<img {{bindAttr src=icon}} />' +
147
+ '<div class="title">{{text}}</div>' +
148
+ '</a>' +
149
+ '</div>' +
150
+ '</li>' +
151
+ '{{/each}}' +
152
+ '</ul>' +
153
+ '{{/each}}' +
154
+ '</div>' +
155
+ '<ul class="menu-triggers">' +
156
+ '{{#each view.menus}}' +
157
+ '<li>' +
158
+ '<a {{bindAttr href=url data-original-title=text}} data-placement="right" rel="tooltip" data-toggle="tab">' +
159
+ '<img class="menu-trigger" {{bindAttr src=icon}} />' +
160
+ '<div class="title">{{text}}</div>' +
161
+ '</a>' +
162
+ '</li>' +
163
+ '{{/each}}' +
164
+ '</ul>' +
165
+ '</div>' +
166
+ '<div id="starter" class="dropdown">' +
167
+ '<a id="home" class="dropdown-toggle" href="#" rel="tooltip" data-placement="right" data-toggle="dropdown" data-original-title="菜单">' +
168
+ '<i class="icon-th-large icon-white"></i>' +
169
+ '</a>' +
170
+ '<ul class="dropdown-menu">' +
171
+ '{{#each view.starterItems}}' +
172
+ '<li>' +
173
+ '<a {{bindAttr href="url"}}>' +
174
+ '<i {{bindAttr class="icon"}}></i>' +
175
+ ' {{text}}' +
176
+ '</a>' +
177
+ '</li>' +
178
+ '{{/each}}' +
179
+ '</ul>' +
180
+ '</div>'
181
+ ;
182
+
183
+ InkyLike.SidebarView = Ember.View.extend({
184
+ template: Ember.Handlebars.compile(template),
185
+
186
+ classNames: ['inkylike-sidebar'],
187
+ classNameBindings: ['expanded:inkylike-sidebar-expanded'],
188
+
189
+ expanded: false,
190
+
191
+ title: 'A Title',
192
+
193
+ menus: Ember.A(),
194
+ starterItems: Ember.A(),
195
+
196
+ didInsertElement: function() {
197
+ //this.$().find('*[rel="tooltip"]').tooltip();
198
+ this.$().find('.menu-triggers li a').first().click();
199
+ },
200
+
201
+ actions: {
202
+ toggleExpanded: function() {
203
+ this.set('expanded', !this.get('expanded'));
204
+ }
205
+ }
206
+ });
207
+
208
+ })();
209
+
210
+
211
+
212
+ (function() {
213
+ InkyLike.ToolbarView = Ember.View.extend({
214
+ classNames: ['inkylike-toolbar']
215
+ });
216
+
217
+ })();
218
+
219
+
220
+
221
+ (function() {
222
+ var template =
223
+ '{{view InkyLike.SidebarView titleBinding="view.title" menusBinding="view.sidebar.menus" starterItemsBinding="view.sidebar.starterItems" }}' +
224
+ '<div class="inkylike-main">' +
225
+ '{{yield}}' +
226
+ '</div>'
227
+ ;
228
+
229
+ InkyLike.AppView = Ember.View.extend({
230
+ layout: Ember.Handlebars.compile(template),
231
+ classNames: ['inkylike-app'],
232
+
233
+ title: '',
234
+ sidebar: {
235
+ menus: Ember.A(),
236
+ starterItems: Ember.A()
237
+ }
238
+ });
239
+
240
+ })();
241
+
242
+
243
+
244
+ (function() {
245
+
246
+ })();
247
+
248
+
249
+ })();
250
+
251
+
252
+ if (typeof location !== 'undefined' && (location.hostname === 'localhost' || location.hostname === '127.0.0.1')) {
253
+ Ember.Logger.warn("You are running a production build of Ember on localhost and won't receive detailed error messages. "+
254
+ "If you want full error messages please use the non-minified build provided on the Ember website.");
255
+ }
@@ -0,0 +1,11 @@
1
+ require 'ember/inkylike/version'
2
+
3
+ module Ember
4
+ module Inkylike
5
+ module Source
6
+ def self.bundled_path_for(distro)
7
+ File.expand_path("../../../../dist/#{distro}", __FILE__)
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ module Ember
2
+ module Inkylike
3
+ VERSION = File.read(File.expand_path('../../../../VERSION', __FILE__)).strip
4
+ end
5
+ end
metadata ADDED
@@ -0,0 +1,64 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ember-inkylike-source
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Tower He
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-09-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ember-source
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: ember-inkylike source code wrapper for use with Ruby libs.
28
+ email:
29
+ - towerhe@gmail.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - VERSION
35
+ - dist/ember-inkylike.css
36
+ - dist/ember-inkylike.js
37
+ - dist/ember-inkylike.min.js
38
+ - dist/ember-inkylike.prod.js
39
+ - lib/ember/inkylike/source.rb
40
+ - lib/ember/inkylike/version.rb
41
+ homepage: http://gitlab.menglifang.org/towerhe/ember-inkylike
42
+ licenses: []
43
+ metadata: {}
44
+ post_install_message:
45
+ rdoc_options: []
46
+ require_paths:
47
+ - lib
48
+ required_ruby_version: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - '>='
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ required_rubygems_version: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - '>='
56
+ - !ruby/object:Gem::Version
57
+ version: '0'
58
+ requirements: []
59
+ rubyforge_project:
60
+ rubygems_version: 2.0.5
61
+ signing_key:
62
+ specification_version: 4
63
+ summary: ember-inkylike source code wrapper.
64
+ test_files: []