お知らせ、通知の表示位置について

お世話になっております。

 

kintoneのポータル画面で表示されるお知らせと通知の位置を変更することは可能でしょうか?

お知らせが長文であったり、添付した画像サイズによっては通知が下へスクロールしなければ見れない状態になってしまいます。

 

よろしくお願いします。

 

Taiki Goto さん

kintone全体のカスタマイズ になります。

画面表示するまで待つ必要がありますので、300 ms は適当に調整してください。

ループ処理で、表示するまで待ってもいいです。

 

window.onload = function(){
// console.log('load', location.hash);
if (location.hash === '#/portal') {
console.log('load', location);
setTimeout(function() {
var ele1 = document.getElementsByClassName('ocean-portal-widget');
if (ele1.length > 0) {
ele1[0].parentNode.appendChild(ele1[0]);
}
}, 300)
}
}

rex0220様

 

コードの提示までありがとうございます。

希望通りの画面が実現できました。

 

アプリのカスタマイズは経験済みですが、kintone全体のカスタマイズは経験が無く、非常に助かりました。

他のkintone画面から、ポータルに遷移した場合、onload が発生しないようです。

下記で試してみてください。

function potalChange() {
if (location.hash === '#/portal') {
console.log('load', location);
setTimeout(function() {
var ele1 = document.getElementsByClassName('ocean-portal-widget');
if (ele1.length > 0) {
ele1[0].parentNode.appendChild(ele1[0]);
}
}, 500)
}
}
window.onload = potalChange;
window.onhashchange = potalChange;

rex0220様

 

重ね重ねありがとうございます。

onloadでは再度ページを読み込みを行わないと動作しないということですね。

 

大変参考になりました。

上記記事参考にさせて頂いております。

プログラムを使わせ頂いたところ、Kintoneの左上のロゴを押下して遷移した際に

potalChange()が2度実行されてしまい、表示が上手く行きません。

回避策はありませんでしょうか?

 

人様の記事で恐縮ではありますが、ご回答頂ければ幸いです。

内容をすっかり忘れています。

対策としては、2回実行させないようにするか、2回実行しても問題ないようにするかですね。

2回実行させないようにすると今度は抜けが出そうですので、2回実行しても問題ないようにしてはいかがですか?

通知の部分が先頭にあるか判定を入れればいいと思います。

rex0220様

 

わざわざご回答頂きありがとうございます。

僭越ながらコードを修正させて頂きました。(やっつけコードで恥ずかしいですが・・・)

function potalChange() {
if (location.hash === '#/portal') {
console.log('load', location);
setTimeout(function() {
var ele1 = document.getElementsByClassName('ocean-portal-widget');
if (ele1.length > 0 && (ele1[0].children[0].className === 'ocean-portal-announcement')) {
ele1[0].parentNode.appendChild(ele1[0]);
}
}, 300)
}
}
window.onload = potalChange;
window.onhashchange = potalChange;

ご教授頂いた通り、ClassNameで通知かどうかを判断して実行するようにしました。

お力添えいただきありがとうございます。