Skip to content

Commit

Permalink
main
Browse files Browse the repository at this point in the history
  • Loading branch information
noz-23 authored Aug 17, 2024
1 parent b49facf commit f6b4220
Show file tree
Hide file tree
Showing 3 changed files with 98 additions and 100 deletions.
50 changes: 24 additions & 26 deletions src/html/config.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,40 +3,38 @@ <h2 id="plugin_titile" class="settings-heading">{{html:lang.plugin_titile}}</h2>
<p id="plugin_description" class="kintoneplugin-desc">{{html:lang.plugin_description}}</p>
<form class="js-submit-settings">
<p class="kintoneplugin-row">
<label id="plugin_label" class="kintoneplugin-label">{{html:lang.plugin_label}}</label>
<br>
<label class="kintoneplugin-label">{{html:lang.plugin_label}}</label>
</p>
<label id="calc_label" class="kintoneplugin-label">{{html:lang.calc_label}}</label>
<div class="kintoneplugin-select">
<select id="calc_field">
<option value="">---</option>
</select>
<div display="block" style="background-color: coral;">
<label class="kintoneplugin-label">{{html:lang.label_calc}}</label>
<div class="kintoneplugin-select">
<select id="field_calc">
<option value="">---</option>
</select>
</div>
</div>
<br>
<label id="date_label" class="kintoneplugin-label">{{html:lang.date_label}}</label>
<div class="kintoneplugin-select">
<select id="date_field">
<option value="">---</option>
</select>
<div display="block" style="background-color: aquamarine;">
<label id="date_label" class="kintoneplugin-label">{{html:lang.label_date}}</label>
<div class="kintoneplugin-select">
<select id="field_date">
<option value="">---</option>
</select>
</div>
</div>
<br>
<p class="kintoneplugin-row">
<button type="button" id="plugin_cancel" class="kintoneplugin-button-dialog-cancel">{{html:lang.plugin_cancel}}</button>
<button type="button" id="plugin_ok" class="kintoneplugin-button-dialog-ok">{{html:lang.plugin_ok}}</button>
<button type="button" id="plugin_cancel"
class="kintoneplugin-button-dialog-cancel">{{html:lang.plugin_cancel}}</button>
<button type="button" id="plugin_ok" class="kintoneplugin-button-dialog-ok">{{html:lang.plugin_ok}}</button>
</p>
</form>
<!-- ↓ は広告なので 削除したい人は削除して使って下さい -->
<!-- ↓ は広告なので 削除したい人は削除して使って下さい -->
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8848137110933190"
crossorigin="anonymous"></script>
crossorigin="anonymous"></script>
<!-- KintoneDisplay -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-8848137110933190"
data-ad-slot="3643192887"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-8848137110933190" data-ad-slot="3643192887"
data-ad-format="auto" data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<!-- ↑ は広告なので 削除したい人は削除して使って下さい -->
<!-- ↑ は広告なので 削除したい人は削除して使って下さい -->
</section>
146 changes: 73 additions & 73 deletions src/js/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,143 +17,143 @@
* History
* 2024/03/12 0.1.0 初版とりあえずバージョン
* 2024/03/24 0.2.0 プラグイン設定画面に Google AdSense 追加
*
* 2024/08/17 0.2.1 HTMLの表示変更(とJS変数名変更)
*/

jQuery.noConflict();

(async ( jQuery_,PLUGIN_ID_)=>{
(async (jQuery_, PLUGIN_ID_) => {
'use strict';

// 設定パラメータ
const ParameterFieldCalculate='paramFieldCalculate'; // 計算フィールド
const ParameterFieldDate ='paramFieldDate'; // 日付フィールド
const ParameterFieldCalculate = 'paramFieldCalculate'; // 計算フィールド
const ParameterFieldDate = 'paramFieldDate'; // 日付フィールド

// 環境設定
const Parameter = {
// 表示文字
Lang:{
en:{
plugin_titile : 'Associate Calculated With Date Fields Plugin',
plugin_description : 'Sets the result of a calculation in a calculated field to a date field',
plugin_label : 'Please Setting Calculate and Date Field',
calc_label : 'Calculate Field ',
date_label : 'Date Field ',
plugin_cancel : 'Cancel',
plugin_ok : ' Save ',
alert_message : 'Please don\'t same fields Organizations and Primary'
// 表示文字
Lang: {
en: {
plugin_titile: 'Associate Calculated With Date Fields Plugin',
plugin_description: 'Sets the result of a calculation in a calculated field to a date field',
plugin_label: 'Please Setting Calculate and Date Field',

label_calc: 'Calculate Field ',
label_date: 'Date Field ',

plugin_cancel: 'Cancel',
plugin_ok: ' Save ',
},
ja:{
plugin_titile : '計算フィールドと日付フィールドの関連付け プラグイン',
plugin_description : '計算フィールドで計算した結果を日付フィールドに設定します',
plugin_label : '計算フィールドと日付フィールドを設定して下さい',
calc_label : '計算 フィールド',
date_label : '日付 フィールド',
plugin_cancel : 'キャンセル',
plugin_ok : ' 保存 ',
alert_message : '所属組織と優先組織は同じにしないで下さい'
ja: {
plugin_titile: '計算フィールドと日付フィールドの関連付け プラグイン',
plugin_description: '計算フィールドで計算した結果を日付フィールドに設定します',
plugin_label: '計算フィールドと日付フィールドを設定して下さい',

label_calc: '計算 フィールド',
label_date: '日付 フィールド',

plugin_cancel: 'キャンセル',
plugin_ok: ' 保存 ',
},
DefaultSetting:'ja',
UseLang:{}
DefaultSetting: 'ja',
UseLang: {}
},
Html:{
Form : '#plugin_setting_form',
Title : '#plugin_titile',
Description : '#plugin_description',
Label : '#plugin_label',
CalcLabel : '#calc_label',
DateLabel : '#date_label',
Cancel : '#plugin_cancel',
Ok : '#plugin_ok',
Html: {
Form: '#plugin_setting_form',
Title: '#plugin_titile',
Description: '#plugin_description',
Label: '#plugin_label',

Cancel: '#plugin_cancel',
Ok: '#plugin_ok',
},
Elements:{
CalcField :'#calc_field',
DateField :'#date_field',
Elements: {
CalcField: '#field_calc',
DateField: '#field_date',
},
};


/*
HTMLタグの削除
引数 :htmlstr タグ(<>)を含んだ文字列
戻り値:タグを含まない文字列
*/
const escapeHtml =(htmlstr)=>{
const escapeHtml = (htmlstr) => {
return htmlstr.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/'/g, '&quot;').replace(/'/g, '&#39;');
};
};

/*
ユーザーの言語設定の読み込み
引数 :なし
戻り値:なし
*/
const settingLang=()=>{
const settingLang = () => {
// 言語設定の取得
Parameter.Lang.UseLang = kintone.getLoginUser().language;
switch( Parameter.Lang.UseLang)
{
switch (Parameter.Lang.UseLang) {
case 'en':
case 'ja':
break;
default:
Parameter.Lang.UseLang =Parameter.Lang.DefaultSetting;
Parameter.Lang.UseLang = Parameter.Lang.DefaultSetting;
break;
}
// 言語表示の変更
var html = jQuery(Parameter.Html.Form).html();
var tmpl = jQuery.templates(html);
var useLanguage =Parameter.Lang[Parameter.Lang.UseLang];

var useLanguage = Parameter.Lang[Parameter.Lang.UseLang];
// 置き換え
jQuery(Parameter.Html.Form).html(tmpl.render({lang:useLanguage})).show();
jQuery(Parameter.Html.Form).html(tmpl.render({ lang: useLanguage })).show();
};

/*
フィールド設定
引数 :なし
戻り値:なし
*/
const settingHtml= async ()=>{
var listFeild =await kintone.api(kintone.api.url('/k/v1/app/form/fields', true), 'GET', {'app': kintone.app.getId()});
console.log("listFeild:%o",listFeild);
const settingHtml = async () => {
var listFeild = await kintone.api(kintone.api.url('/k/v1/app/form/fields', true), 'GET', { 'app': kintone.app.getId() });
console.log("listFeild:%o", listFeild);

for (const key in listFeild.properties){
for (const key in listFeild.properties) {
//console.log("properties key:%o",key);
try {
const prop = listFeild.properties[key];
//console.log("prop:%o",prop);

// 計算フィールドのみ入れる
if (prop.type === 'CALC'){
if (prop.type === 'CALC') {
const option = jQuery('<option/>');
option.attr('value', escapeHtml(prop.code)).text(escapeHtml(prop.label));
console.log("Add CALC option:%o",option);
console.log("Add CALC option:%o", option);
jQuery(Parameter.Elements.CalcField).append(option);
}
// 日付フィールドのみ入れる
if (prop.type === 'DATE'){
if (prop.type === 'DATE') {
const option = jQuery('<option/>');
option.attr('value', escapeHtml(prop.code)).text(escapeHtml(prop.label));

console.log("Add DATE option:%o",option);
console.log("Add DATE option:%o", option);
jQuery(Parameter.Elements.DateField).append(option);
}

}
catch (error) {
console.log("error:%o",error);
console.log("error:%o", error);
}

// 現在データの呼び出し
var nowConfig =kintone.plugin.app.getConfig(PLUGIN_ID_);
console.log("nowConfig:%o",nowConfig);
var nowConfig = kintone.plugin.app.getConfig(PLUGIN_ID_);
console.log("nowConfig:%o", nowConfig);

// 現在データの表示
if(nowConfig[ParameterFieldCalculate]){
jQuery(Parameter.Elements.CalcField).val(nowConfig[ParameterFieldCalculate]);
if (nowConfig[ParameterFieldCalculate]) {
jQuery(Parameter.Elements.CalcField).val(nowConfig[ParameterFieldCalculate]);
}
if(nowConfig[ParameterFieldDate]){
jQuery(Parameter.Elements.DateField).val(nowConfig[ParameterFieldDate]);
if (nowConfig[ParameterFieldDate]) {
jQuery(Parameter.Elements.DateField).val(nowConfig[ParameterFieldDate]);
}
}
};
Expand All @@ -163,13 +163,13 @@ jQuery.noConflict();
引数 :なし
戻り値:なし
*/
const saveSetting=()=>{
const saveSetting = () => {
// 各パラメータの保存
var config ={};
config[ParameterFieldCalculate]=jQuery(Parameter.Elements.CalcField).val();
config[ParameterFieldDate]=jQuery(Parameter.Elements.DateField).val();
var config = {};
config[ParameterFieldCalculate] = jQuery(Parameter.Elements.CalcField).val();
config[ParameterFieldDate] = jQuery(Parameter.Elements.DateField).val();

console.log('config:%o',config);
console.log('config:%o', config);

// 設定の保存
kintone.plugin.app.setConfig(config);
Expand All @@ -180,7 +180,7 @@ jQuery.noConflict();
await settingHtml();

// 保存
jQuery(Parameter.Html.Ok).click(() =>{saveSetting();});
jQuery(Parameter.Html.Ok).click(() => { saveSetting(); });
// キャンセル
jQuery(Parameter.Html.Cancel).click(()=>{history.back();});
jQuery(Parameter.Html.Cancel).click(() => { history.back(); });
})(jQuery, kintone.$PLUGIN_ID);
2 changes: 1 addition & 1 deletion src/js/desktop.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
* History
* 2024/03/12 0.1.0 初版とりあえずバージョン
* 2024/03/24 0.2.0 プラグイン設定画面に Google AdSense 追加
*
* 2024/08/17 0.2.1 HTMLの表示変更(とJS変数名変更)
*/

jQuery.noConflict();
Expand Down

0 comments on commit f6b4220

Please sign in to comment.