ラベルのテキスト内容を変更したい。

いつも、大変お世話になっております。

 

今回、

ログイン者の組織に応じて、ラベルの内容を変更したい。

というものを実装したいです。

 

ログイン者の組織を取得するところまではできて、

その組織に応じて、ラベルの内容を変更したいです。

 

どのようにしたらよいでしょうか。

 

(function($){
"use strict";
var events = [
'app.record.edit.show',
'app.record.create.show',
'app.record.detail.show',
'app.record.print.show'
];
var honsyaArray = ['組織A','組織B','組織C','組織D'];
kintone.events.on(events, function (e) {

var user = kintone.getLoginUser();
var record = event.record;

kintone.api('/v1/user/organizations',
'GET', {
code: user.code
},
function(resp) {
var record = kintone.app.record.get();
var organization = resp.organizationTitles[0].organization;

// ログイン者の組織に応じて、
// 見積もり画面の郵便番号と住所を変更する
if (honsyaArray.includes(organization.name)) {
// ここでラベルの文字列を修正したい。

}

// 画面にセット
kintone.app.record.set(record);
});

return e;
});
})(jQuery);

yksh さん

こんにちは!

 

認識があっているのかわからないのですが、「ラベル」フィールドで表示する文字を変更するとなると、

アプリ自体の設定を変更するか、DOM操作での文字列の書き換えになるかと思います。(間違っていたらごめんなさい><;)

 

都度、アプリの更新を行う操作は現実的ではなく、DOM操作も非推奨らしいです。

 

ぱっと思いついたのは、「スペース」フィールドを配置し、「スペース」フィールド上に

文字列を表示する方法が最も簡単かと思いましたが、いかがでしょうか。

 

参考ですが、以下の記述で「スペース」フィールド上に文字列を表示できます。

 

(function() {
   
    "use strict";
   
    var events = [
        'app.record.edit.show',
        'app.record.create.show',
        'app.record.detail.show',
        'app.record.print.show'
    ];

    kintone.events.on(events, function(event) {
       
        var el = document.createElement('text');
        var usercode = kintone.getLoginUser().code;

        el.textContent = 'こんにちは';
       
        kintone.app.record.getSpaceElement('mySpace').appendChild(el);
       
    });
})();

文系男様

ご回答、ありがとうございます!

 

バッチリです!

別ルートのやり方があることを知らず、

ラベルの更新に固執し、ずっと悩んでいました。

 

というか、

スペースの本来の使い方?は、間隔を開けるだけじゃないのですね!

それが、すごく勉強になりました。

 

ありがとうございました!

yksh さん

お役に立てたようで良かったです!^^