Григорианский календарь не отображается в правильном формате в JSF - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть требование, где есть текстовое поле, которое всплывает в календаре, и есть флажок. При снятии флажка при щелчке на текстовом поле он должен отображать григорианский календарь, а при снятии флажка в текстовом поле должен отображаться исламский календарь. Он отображает исламский календарь, как и ожидалось, но когда текстовое поле переключено на григорианский календарь, месяц и год отображаются должным образом, но часть текста по-прежнему отображается на арабском языке, а выравнивание равно RTL, как арабский.

Я использовал некоторый источник здесь: http://keith -wood.name / calendarspicker.html #

Ниже мой код:

HTML-код:

<p:inputText value="#{gen.dateAcc}" id="dateAcc"
onchange="changeEVENT();" styleClass="calenderType"
disabled="#{gen.disableGen}"  readonly="false">
<f:convertDateTime pattern="dd/mm/yyyy"/> 
</p:inputText>
<p:selectBooleanCheckbox style="valign:bottom;" value="false" id="toggle1" 
disabled="#{gen.disableGen}"  
onchange="toggleCalender(this,'dateAcc','hijri')"  widgetVar="hijri" />

JS:

function setGregorianCal(){
var classtype = '.calenderType'; 
$(classtype).calendarsPicker($.extend({
     localNumbers: true,
     dateFormat:'dd/mm/yyyy'
    }
    ));
  }


function toggleCalender(obj,target,widgetVar){
    var objId = obj.id;
    var checkVal= PrimeFaces.widgets[widgetVar].input.is(':checked'); 
    var lastIndex = objId.lastIndexOf(":");
    var initialId = objId.slice(0, lastIndex);
    var targetId= '#'+initialId+':'+target;
    var finalID = targetId.replace(/:/g, '\\:');

     if(checkVal){
         $(finalID).calendarsPicker('destroy');
            $(finalID).calendarsPicker($.extend({
                calendar: $.calendars.instance('UmmAlQura'),
                 localNumbers: true,
                 dateFormat:'dd/mm/yyyy'
                },
                $.calendarsPicker.regionalOptions['ar']
                ));
     }else{
         $(finalID).calendarsPicker('destroy');
            $(finalID).calendarsPicker($.extend({
                calendar: $.calendars.instance(),
                 localNumbers: true,
                 dateFormat:'dd/mm/yyyy'
                }
            ));
     }
}

Ниже приведен скриншот:

Григорианский календарь:

enter image description here

Исламский календарь:

enter image description here

...