2017-04-05 47 views
2

Aurelia項目使用TypeScript(tsc 2.1.4),JSPM和[email protected]如何爲一個地方的所有實例設置默認的MdDatePicker選項(平日,月......的翻譯),例如App構造函數?

項目是多語言的(翻譯在數據庫中,需要時通過「LanguageService」注入),所以我們需要翻譯實例MdDatePicker

我發現了一種如何的屬性,如monthsFullmonthsShort,今天就這樣,在視圖/視圖模型轉換 ...每MdDatePicker的實例(pickadate.js選擇器的屬性實際上):

<input md-datepicker="container: body;value.two-way: fromDate;" 
      md-datepicker.ref="dpickerFrom" 
      type="date" placeholder=${dtPickTitle} /> 

    attached(
     var picker = (<any>this).dpickerFrom.picker;  
     var settings = picker.component.settings; 

     settings.monthsFull = this.languageService.datePickerTran.monthsFull; // e.g. [ 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember' ] 
     settings.today = this.languageService.datePickerTran.today; //e.g."Heute" 
     picker.render(true); 
    ) 

我試圖在全球範圍內App.ts達到需要的屬性:

import * as bridge from 'aurelia-materialize-bridge'; 

constructor(){ 
    bridge.MdDatePicker.prototype;//Can't find where to put translations 
} 

,但我找不到需要。

這是正確的方法嗎? 考慮到給定的平臺,有沒有什麼辦法在一個地方爲所有實例設置這些屬性(默認值)?

+0

我已經在這裏給出答案:https://github.com/aurelia-ui-toolkits/aurelia-materialize-bridge/issues/133 - 讓我們看看是否有幫助。如果是這樣,我可以把它發回這裏。 :-) – Daniel

+0

是的,這是一個答案! –

回答

1

我已經告訴OP將我的答案發回到這裏。所以在這裏不用.. :-)

有一個options綁定在這裏:https://github.com/aurelia-ui-toolkits/aurelia-materialize-bridge/blob/master/src/datepicker/datepicker.js#L19

該對象在這裏融合:https://github.com/aurelia-ui-toolkits/aurelia-materialize-bridge/blob/master/src/datepicker/datepicker.js#L64

,結果是用來初始化這裏的日期選擇器:https://github.com/aurelia-ui-toolkits/aurelia-materialize-bridge/blob/master/src/datepicker/datepicker.js#L76

現在,如果你訪問過的鏈接,你可以看到這裏的國際化配置的註釋過的例子(德國字符串):https://github.com/aurelia-ui-toolkits/aurelia-materialize-bridge/blob/master/src/datepicker/datepicker.js#L47-L60

所以,如果設置在options綁定的國際化特性,它可以工作..

<input 
    md-datepicker="container: body; value.two-way: selectedDate; options.bind:i18nOptions;" 
    type="date" placeholder="pick a date"/> 

i18nOptions可能是:

{ 
    selectMonths: true, // Creates a dropdown to control month 
    selectYears: 15, // Creates a dropdown of 15 years to control year 
    monthsFull: [ 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember' ], 
    monthsShort: [ 'Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez' ], 
    weekdaysFull: [ 'Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag' ], 
    weekdaysShort: [ 'So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa' ], 
    today: 'Heute', 
    clear: 'Löschen', 
    close: 'Schließen', 
    firstDay: 1, 
    format: 'dddd, dd. mmmm yyyy', 
    formatSubmit: 'yyyy/mm/dd' 
} 

我肯定要使它更加明確。

相關問題