@@ -181,54 +181,40 @@ Template.mfTrans.helpers({
181
181
}
182
182
} ) ;
183
183
184
- Template . registerHelper ( 'strings' , function ( ) {
185
- var orig = mfPkg . native ;
186
- var lang = RouterLayer . getParam ( 'lang' ) ;
187
-
188
- // summarise matching keys (orig + trans) to a single record
189
- var out = { } , strings = mfPkg . mfStrings . find ( {
190
- $and : [ { $or : [ { lang : orig } , { lang : lang } ] } ,
191
- { removed : undefined } ]
192
- } ) . fetch ( ) ;
193
-
194
- _ . each ( strings , function ( str ) {
195
- if ( ! out [ str . key ] )
196
- out [ str . key ] = { key : str . key } ;
197
- if ( str . lang == orig )
198
- out [ str . key ] . orig = str . text ;
199
- else
200
- out [ str . key ] . trans = str . text ;
201
- if ( str . fuzzy )
202
- out [ str . key ] . fuzzy = true ;
203
- } ) ;
204
-
205
- strings = _ . values ( out ) ;
206
- strings . sort ( function ( a , b ) {
207
- if ( ! a . trans && b . trans )
208
- return - 1 ;
209
- else if ( a . trans && ! b . trans )
210
- return 1 ;
211
-
212
- if ( ! a . fuzzy && b . fuzzy )
213
- return - 1 ;
214
- else if ( b . fuzzy && ! a . fuzzy )
215
- return 1 ;
216
-
217
- return a . text - b . text ;
218
- } ) ;
219
-
220
- return strings ;
221
- } ) ;
222
-
223
184
Template . mfTransLang . helpers ( {
224
185
origLang : mfPkg . native ,
225
186
destLang : function ( ) { return RouterLayer . getParam ( 'lang' ) ; } ,
226
187
allowed : function ( ) {
227
188
return ! mfPkg . webUI . allowed . call ( this ) || mfPkg . webUI . denied . call ( this ) ;
189
+ } ,
190
+ strings : function ( ) {
191
+ var orig = mfPkg . native ;
192
+ var lang = RouterLayer . getParam ( 'lang' ) ;
193
+
194
+ // summarise matching keys (orig + trans) to a single record
195
+ var out = { } , strings = mfPkg . mfStrings . find ( {
196
+ $and : [ { $or : [ { lang : orig } , { lang : lang } ] } ,
197
+ { removed : undefined } ]
198
+ } ) . fetch ( ) ;
199
+
200
+ _ . each ( strings , function ( str ) {
201
+ if ( ! out [ str . key ] )
202
+ out [ str . key ] = { key : str . key } ;
203
+ if ( str . lang == orig )
204
+ out [ str . key ] . orig = str . text ;
205
+ else
206
+ out [ str . key ] . trans = str . text ;
207
+ if ( str . fuzzy )
208
+ out [ str . key ] . fuzzy = true ;
209
+ } ) ;
210
+
211
+ strings = _ . values ( out ) ;
212
+ strings = sortStrings ( strings ) ;
213
+
214
+ return strings ;
228
215
}
229
216
} ) ;
230
217
231
-
232
218
Template . mfTrans . events ( {
233
219
'click #mfTransNewSubmit' : function ( ) {
234
220
RouterLayer . go ( 'mfTransLang' , { lang : $ ( '#mfTransNewText' ) . val ( ) } ) ;
@@ -272,33 +258,6 @@ Template.mfTransLang.events({
272
258
} ) ;
273
259
274
260
Template . mfTransLang . helpers ( {
275
- sortedStrings : function ( ) {
276
- var strings = Blaze . _globalHelpers [ 'strings' ] ;
277
- if ( ! strings ) return ;
278
-
279
- var sortField = Session . get ( 'translationSortField' ) ;
280
- var sortOrder = Session . get ( 'translationSortOrder' ) ;
281
- if ( ! sortField ) {
282
- Session . set ( 'translationSortField' , 'orig' ) ;
283
- sortField = 'orig' ;
284
- }
285
- if ( ! sortOrder ) {
286
- Session . set ( 'translationSortOrder' , 'asc' ) ;
287
- sortOrder = 'asc' ;
288
- }
289
- return strings ( ) . sort ( function ( a , b ) {
290
- var first = a [ sortField ] ;
291
- var second = b [ sortField ] ;
292
- var caseInsensitiveOrdering = Session . get ( 'translationCaseInsensitiveOrdering' ) ;
293
- if ( first && caseInsensitiveOrdering ) first = first . toLowerCase ( ) ;
294
- if ( second && caseInsensitiveOrdering ) second = second . toLowerCase ( ) ;
295
- if ( sortOrder === 'asc' ) {
296
- return first > second ? 1 : ( first < second ? - 1 : 0 ) ;
297
- } else {
298
- return first > second ? - 1 : ( first < second ? 1 : 0 ) ;
299
- }
300
- } ) ;
301
- } ,
302
261
showKey : function ( ) {
303
262
return Session . get ( 'translationShowKey' ) ;
304
263
} ,
@@ -350,6 +309,31 @@ Template.mfTransLang.helpers({
350
309
}
351
310
} ) ;
352
311
312
+ var sortStrings = function ( strings ) {
313
+ var sortField = Session . get ( 'translationSortField' ) ;
314
+ var sortOrder = Session . get ( 'translationSortOrder' ) ;
315
+ if ( ! sortField ) {
316
+ Session . set ( 'translationSortField' , 'orig' ) ;
317
+ sortField = 'orig' ;
318
+ }
319
+ if ( ! sortOrder ) {
320
+ Session . set ( 'translationSortOrder' , 'asc' ) ;
321
+ sortOrder = 'asc' ;
322
+ }
323
+ return strings . sort ( function ( a , b ) {
324
+ var first = a [ sortField ] ;
325
+ var second = b [ sortField ] ;
326
+ var caseInsensitiveOrdering = Session . get ( 'translationCaseInsensitiveOrdering' ) ;
327
+ if ( first && caseInsensitiveOrdering ) first = first . toLowerCase ( ) ;
328
+ if ( second && caseInsensitiveOrdering ) second = second . toLowerCase ( ) ;
329
+ if ( sortOrder === 'asc' ) {
330
+ return first > second ? 1 : ( first < second ? - 1 : 0 ) ;
331
+ } else {
332
+ return first > second ? - 1 : ( first < second ? 1 : 0 ) ;
333
+ }
334
+ } ) ;
335
+ } ;
336
+
353
337
var initialRender = _ . once ( function ( ) {
354
338
var key = Session . get ( 'mfTransKey' ) ,
355
339
tr = $ ( '#mfTransLang tr[data-key="' + key + '"]' ) ;
0 commit comments