@@ -5,21 +5,23 @@ import SlugGenerator from 'ghost/models/slug-generator';
5
5
import boundOneWay from 'ghost/utils/bound-one-way' ;
6
6
import isNumber from 'ghost/utils/isNumber' ;
7
7
8
- var PostSettingsMenuController = Ember . ObjectController . extend ( SettingsMenuMixin , {
8
+ var PostSettingsMenuController = Ember . Controller . extend ( SettingsMenuMixin , {
9
+ debounceId : null ,
9
10
lastPromise : null ,
10
-
11
11
selectedAuthor : null ,
12
+ uploaderReference : null ,
13
+
12
14
initializeSelectedAuthor : function ( ) {
13
15
var self = this ;
14
16
15
- return this . get ( 'author' ) . then ( function ( author ) {
17
+ return this . get ( 'model. author' ) . then ( function ( author ) {
16
18
self . set ( 'selectedAuthor' , author ) ;
17
19
return author ;
18
20
} ) ;
19
21
} . observes ( 'model' ) ,
20
22
21
23
changeAuthor : function ( ) {
22
- var author = this . get ( 'author' ) ,
24
+ var author = this . get ( 'model. author' ) ,
23
25
selectedAuthor = this . get ( 'selectedAuthor' ) ,
24
26
model = this . get ( 'model' ) ,
25
27
self = this ;
@@ -32,7 +34,7 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
32
34
model . set ( 'author' , selectedAuthor ) ;
33
35
34
36
// if this is a new post (never been saved before), don't try to save it
35
- if ( this . get ( 'isNew' ) ) {
37
+ if ( this . get ( 'model. isNew' ) ) {
36
38
return ;
37
39
}
38
40
@@ -61,8 +63,8 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
61
63
} ) ,
62
64
63
65
/*jshint unused:false */
64
- publishedAtValue : Ember . computed ( 'published_at' , function ( key , value ) {
65
- var pubDate = this . get ( 'published_at' ) ;
66
+ publishedAtValue : Ember . computed ( 'model. published_at' , function ( key , value ) {
67
+ var pubDate = this . get ( 'model. published_at' ) ;
66
68
67
69
// We're using a fake setter to reset
68
70
// the cache for this property
@@ -78,7 +80,7 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
78
80
} ) ,
79
81
/*jshint unused:true */
80
82
81
- slugValue : boundOneWay ( 'slug' ) ,
83
+ slugValue : boundOneWay ( 'model. slug' ) ,
82
84
83
85
// Lazy load the slug generator
84
86
slugGenerator : Ember . computed ( function ( ) {
@@ -91,12 +93,12 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
91
93
// Requests slug from title
92
94
generateAndSetSlug : function ( destination ) {
93
95
var self = this ,
94
- title = this . get ( 'titleScratch' ) ,
96
+ title = this . get ( 'model. titleScratch' ) ,
95
97
afterSave = this . get ( 'lastPromise' ) ,
96
98
promise ;
97
99
98
100
// Only set an "untitled" slug once per post
99
- if ( title === '(Untitled)' && this . get ( 'slug' ) ) {
101
+ if ( title === '(Untitled)' && this . get ( 'model. slug' ) ) {
100
102
return ;
101
103
}
102
104
@@ -113,13 +115,13 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
113
115
this . set ( 'lastPromise' , promise ) ;
114
116
} ,
115
117
116
- metaTitleScratch : boundOneWay ( 'meta_title' ) ,
117
- metaDescriptionScratch : boundOneWay ( 'meta_description' ) ,
118
+ metaTitleScratch : boundOneWay ( 'model. meta_title' ) ,
119
+ metaDescriptionScratch : boundOneWay ( 'model. meta_description' ) ,
118
120
119
- seoTitle : Ember . computed ( 'titleScratch' , 'metaTitleScratch' , function ( ) {
121
+ seoTitle : Ember . computed ( 'model. titleScratch' , 'metaTitleScratch' , function ( ) {
120
122
var metaTitle = this . get ( 'metaTitleScratch' ) || '' ;
121
123
122
- metaTitle = metaTitle . length > 0 ? metaTitle : this . get ( 'titleScratch' ) ;
124
+ metaTitle = metaTitle . length > 0 ? metaTitle : this . get ( 'model. titleScratch' ) ;
123
125
124
126
if ( metaTitle . length > 70 ) {
125
127
metaTitle = metaTitle . substring ( 0 , 70 ) . trim ( ) ;
@@ -130,7 +132,7 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
130
132
return metaTitle ;
131
133
} ) ,
132
134
133
- seoDescription : Ember . computed ( 'scratch' , 'metaDescriptionScratch' , function ( ) {
135
+ seoDescription : Ember . computed ( 'model. scratch' , 'metaDescriptionScratch' , function ( ) {
134
136
var metaDescription = this . get ( 'metaDescriptionScratch' ) || '' ,
135
137
el ,
136
138
html = '' ,
@@ -166,9 +168,9 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
166
168
return placeholder ;
167
169
} ) ,
168
170
169
- seoURL : Ember . computed ( 'slug' , function ( ) {
171
+ seoURL : Ember . computed ( 'model. slug' , function ( ) {
170
172
var blogUrl = this . get ( 'config' ) . blogUrl ,
171
- seoSlug = this . get ( 'slug' ) ? this . get ( 'slug' ) : '' ,
173
+ seoSlug = this . get ( 'model. slug' ) ? this . get ( 'model. slug' ) : '' ,
172
174
seoURL = blogUrl + '/' + seoSlug ;
173
175
174
176
// only append a slash to the URL if the slug exists
@@ -187,18 +189,18 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
187
189
// observe titleScratch, keeping the post's slug in sync
188
190
// with it until saved for the first time.
189
191
addTitleObserver : function ( ) {
190
- if ( this . get ( 'isNew' ) || this . get ( 'title' ) === '(Untitled)' ) {
191
- this . addObserver ( 'titleScratch' , this , 'titleObserver' ) ;
192
+ if ( this . get ( 'model. isNew' ) || this . get ( 'model. title' ) === '(Untitled)' ) {
193
+ this . addObserver ( 'model. titleScratch' , this , 'titleObserver' ) ;
192
194
}
193
195
} . observes ( 'model' ) ,
194
196
195
197
titleObserver : function ( ) {
196
198
var debounceId ,
197
- title = this . get ( 'title' ) ;
199
+ title = this . get ( 'model. title' ) ;
198
200
199
201
// generate a slug if a post is new and doesn't have a title yet or
200
202
// if the title is still '(Untitled)' and the slug is unaltered.
201
- if ( ( this . get ( 'isNew' ) && ! title ) || title === '(Untitled)' ) {
203
+ if ( ( this . get ( 'model. isNew' ) && ! title ) || title === '(Untitled)' ) {
202
204
debounceId = Ember . run . debounce ( this , 'generateAndSetSlug' , [ 'slug' ] , 700 ) ;
203
205
}
204
206
@@ -218,10 +220,10 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
218
220
togglePage : function ( ) {
219
221
var self = this ;
220
222
221
- this . toggleProperty ( 'page' ) ;
223
+ this . toggleProperty ( 'model. page' ) ;
222
224
// If this is a new post. Don't save the model. Defer the save
223
225
// to the user pressing the save button
224
- if ( this . get ( 'isNew' ) ) {
226
+ if ( this . get ( 'model. isNew' ) ) {
225
227
return ;
226
228
}
227
229
@@ -234,11 +236,11 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
234
236
toggleFeatured : function ( ) {
235
237
var self = this ;
236
238
237
- this . toggleProperty ( 'featured' ) ;
239
+ this . toggleProperty ( 'model. featured' ) ;
238
240
239
241
// If this is a new post. Don't save the model. Defer the save
240
242
// to the user pressing the save button
241
- if ( this . get ( 'isNew' ) ) {
243
+ if ( this . get ( 'model. isNew' ) ) {
242
244
return ;
243
245
}
244
246
@@ -252,7 +254,7 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
252
254
* triggered by user manually changing slug
253
255
*/
254
256
updateSlug : function ( newSlug ) {
255
- var slug = this . get ( 'slug' ) ,
257
+ var slug = this . get ( 'model. slug' ) ,
256
258
self = this ;
257
259
258
260
newSlug = newSlug || slug ;
@@ -294,15 +296,15 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
294
296
}
295
297
}
296
298
297
- self . set ( 'slug' , serverSlug ) ;
299
+ self . set ( 'model. slug' , serverSlug ) ;
298
300
299
- if ( self . hasObserverFor ( 'titleScratch' ) ) {
300
- self . removeObserver ( 'titleScratch' , self , 'titleObserver' ) ;
301
+ if ( self . hasObserverFor ( 'model. titleScratch' ) ) {
302
+ self . removeObserver ( 'model. titleScratch' , self , 'titleObserver' ) ;
301
303
}
302
304
303
305
// If this is a new post. Don't save the model. Defer the save
304
306
// to the user pressing the save button
305
- if ( self . get ( 'isNew' ) ) {
307
+ if ( self . get ( 'model. isNew' ) ) {
306
308
return ;
307
309
}
308
310
@@ -321,13 +323,13 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
321
323
setPublishedAt : function ( userInput ) {
322
324
var errMessage = '' ,
323
325
newPublishedAt = parseDateString ( userInput ) ,
324
- publishedAt = this . get ( 'published_at' ) ,
326
+ publishedAt = this . get ( 'model. published_at' ) ,
325
327
self = this ;
326
328
327
329
if ( ! userInput ) {
328
330
// Clear out the published_at field for a draft
329
- if ( this . get ( 'isDraft' ) ) {
330
- this . set ( 'published_at' , null ) ;
331
+ if ( this . get ( 'model. isDraft' ) ) {
332
+ this . set ( 'model. published_at' , null ) ;
331
333
}
332
334
333
335
return ;
@@ -355,11 +357,11 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
355
357
}
356
358
357
359
// Validation complete
358
- this . set ( 'published_at' , newPublishedAt ) ;
360
+ this . set ( 'model. published_at' , newPublishedAt ) ;
359
361
360
362
// If this is a new post. Don't save the model. Defer the save
361
363
// to the user pressing the save button
362
- if ( this . get ( 'isNew' ) ) {
364
+ if ( this . get ( 'model. isNew' ) ) {
363
365
return ;
364
366
}
365
367
@@ -371,18 +373,18 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
371
373
372
374
setMetaTitle : function ( metaTitle ) {
373
375
var self = this ,
374
- currentTitle = this . get ( 'meta_title' ) || '' ;
376
+ currentTitle = this . get ( 'model. meta_title' ) || '' ;
375
377
376
378
// Only update if the title has changed
377
379
if ( currentTitle === metaTitle ) {
378
380
return ;
379
381
}
380
382
381
- this . set ( 'meta_title' , metaTitle ) ;
383
+ this . set ( 'model. meta_title' , metaTitle ) ;
382
384
383
385
// If this is a new post. Don't save the model. Defer the save
384
386
// to the user pressing the save button
385
- if ( this . get ( 'isNew' ) ) {
387
+ if ( this . get ( 'model. isNew' ) ) {
386
388
return ;
387
389
}
388
390
@@ -393,18 +395,18 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
393
395
394
396
setMetaDescription : function ( metaDescription ) {
395
397
var self = this ,
396
- currentDescription = this . get ( 'meta_description' ) || '' ;
398
+ currentDescription = this . get ( 'model. meta_description' ) || '' ;
397
399
398
400
// Only update if the description has changed
399
401
if ( currentDescription === metaDescription ) {
400
402
return ;
401
403
}
402
404
403
- this . set ( 'meta_description' , metaDescription ) ;
405
+ this . set ( 'model. meta_description' , metaDescription ) ;
404
406
405
407
// If this is a new post. Don't save the model. Defer the save
406
408
// to the user pressing the save button
407
- if ( this . get ( 'isNew' ) ) {
409
+ if ( this . get ( 'model. isNew' ) ) {
408
410
return ;
409
411
}
410
412
@@ -416,9 +418,9 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
416
418
setCoverImage : function ( image ) {
417
419
var self = this ;
418
420
419
- this . set ( 'image' , image ) ;
421
+ this . set ( 'model. image' , image ) ;
420
422
421
- if ( this . get ( 'isNew' ) ) {
423
+ if ( this . get ( 'model. isNew' ) ) {
422
424
return ;
423
425
}
424
426
@@ -431,9 +433,9 @@ var PostSettingsMenuController = Ember.ObjectController.extend(SettingsMenuMixin
431
433
clearCoverImage : function ( ) {
432
434
var self = this ;
433
435
434
- this . set ( 'image' , '' ) ;
436
+ this . set ( 'model. image' , '' ) ;
435
437
436
- if ( this . get ( 'isNew' ) ) {
438
+ if ( this . get ( 'model. isNew' ) ) {
437
439
return ;
438
440
}
439
441
0 commit comments