時代はペーパーレスですが、まだまだ「最後は紙に印刷(あるいはPDFに)したい」という要望を無視できないので、標準のkintoneの詳細画面から何故か隠されている印刷メニューを、kintoneライクなUIを使える「kintone UI Component」を使って主役に抜擢してみるサンプルを作ってみました♪
印刷ボタンの復権を切に願いまして、以下にサンプルコードを載せます。
画面イメージ
サンプルコード
(function(){'use strict';kintone.events.on('app.record.detail.show',function(event){newkintone.Promise(function(resolve,reject){letbutton=newkintoneUIComponent.Button({text:'印刷'});letelPrintButton=kintone.app.record.getSpaceElement('printButton');elPrintButton.appendChild(button.render());resolve(button);return;}).then(function(UiButton){leturl=kintone.api.url('/k/v1/records',true);letreg=/http(s)?:\/\/([\w-]+\.)+([\w-]+)+\/([\w-]+)/;console.log(url.match(reg));letappId=kintone.app.getId();console.log(appId);letbody={'id':appId};kintone.api(kintone.api.url('/k/v1/app',true),'GET',body,function(resp){// successconsole.log(resp);letprintURL=url.match(reg)[0]+'/'+resp.appId+'/print?record='+event.recordId;console.log(printURL);UiButton.on('click',function(event){window.open(printURL,null);});});});});})();