ember-inkylike-source 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: []