2

primefaces リッチテキスト エディターのインライン表示の不具合:

commandButton "Open/Clear" (Bean 内のエディター値をクリアするためだけのもの) をクリックすると、エディターが再び表示されます。

 <div id="multilanguage-descriptions">
   <p:inplace  styleClass="ui-multilanguage-description"
       id="ajaxInplace" widgetVar="inplaceeditorWidget" editor="true"
       toggleable="true" label="Edit" effect="slide" effectSpeed="fast">
 <p:editor  widgetVar="editorWidget" rendered="true"
       id="editor"  value="#{editorBean.value}" width="600"/>
  <p:commandButton  process="@this"
       ajax="true" value="Open/Clear" update="editor"
       id="clearButton"  action="#{editorBean.clearValue()}"/>

 </p:inplace>
</div>

Ruby on Rails 3 用の Android Google Cloud Messaging gem

以前は C2DM として知られていた GCM 用の Ruby on Rails の新しい gem はありますか。

そうでない場合は、githubにあるような古い gem を C2DM に使用し続ける必要があります。

前もって感謝します。

4

1 に答える 1

1

私は同じ問題に遭遇し、その日は他に何の関係もなかったので(はい、丸一日かかりました)、それを理解しました(少なくとも私にとっては)。

問題は、更新されるエディターのコンテナー (インプレース要素) にあります。これにより、エディター要素で更新が発生します。エディターには大きな欠点が 1 つあります。それは、レンダリング時にサイズが「ハードコード」されることです。更新が発生するとエディターが非表示になるため、エディターが正しくレンダリングされません。

問題を示す例を作成しました。

<h:head>
</h:head>
<body>
    <h:form>
        <p:commandButton onclick="inplace.show()" icon="ui-icon-pencil" value="edit"/>
        <p:inplace widgetVar="inplace" >
            <p:editor id="editor"/>
            <p:commandButton onclick="inplace.cancel()" icon="ui-icon-cancel"
                value="cancel" />
            <p:commandButton onclick="inplace.save()" icon="ui-icon-disk" value="save" />
        </p:inplace>
    </h:form>
</body>

この例を実行すると、編集ボタンをクリックすると期待どおりに動作します。ただし、キャンセル ボタンをクリックして (更新が発生します)、もう一度編集をクリックすると、エディターは表示されません。

「解決策」は、エディタを強制的に更新することです。この例では、編集ボタンに更新を追加することでこれを行うことができます。

<p:commandButton onclick="inplace.show()" icon="ui-icon-pencil" value="edit" update="editor"/>

更新のため、エディターを表示するときにわずかな遅延がありますが、エディターがまったくないよりはましです。

于 2012-08-29T21:25:34.267 に答える