pickles2-module-editor
v0.3.3
Published
Pickles 2 module editor library.
Downloads
8
Readme
pickles2/lib-px2-module-editor
Pickles 2 のモジュール編集インターフェイスを提供します。
Usage
Server Side (PHP)
<?php
/**
* api.php
*/
require_once('vendor/autoload.php');
$px2me = new pickles2\libs\moduleEditor\main( $px );
$px2me->init(array(
'appMode' => 'web', // 'web' or 'desktop'. default to 'web'
'entryScript' => '/path/to/.px_execute.php',
'log' => function($msg){
// エラー発生時にコールされます。
// $msg を受け取り、適切なファイルへ出力するように実装してください。
error_log($msg, 3, '/path/to/error.log');
},
'commands'{
'php': {
// PHPコマンドのパスを表すオブジェクト
// または、 文字列で '/path/to/php' とすることも可 (この場合、 php.ini のパスは指定されない)
'bin': '/path/to/php',
'ini': '/path/to/php.ini'
}
}
));
$value = $px2me->gpi( json_decode( $_REQUEST['data'] ) );
header('Content-type: text/json');
echo json_encode($value);
exit;
Client Side
<div id="canvas"></div>
<!--
エディタが利用する CSS や JavaScript などのリソースファイルがあります。
`$px2ce->get_client_resources()` からリソースの一覧を取得し、読み込んでください。
-->
<?php
require_once('vendor/autoload.php');
$px2me = new pickles2\libs\moduleEditor\main( $px );
$px2me->init( /* any options */ );
$resources = $px2me->get_client_resources();
foreach($resources->css as $css_file){
echo('<link rel="stylesheet" href="'.htmlspecialchars($css_file).'" />');
}
foreach($resources->js as $js_file){
echo('<script src="'.htmlspecialchars($js_file).'"></script>');
}
?>
<script>
var pickles2ModuleEditor = new Pickles2ModuleEditor();
pickles2ModuleEditor.init(
{
'elmCanvas': document.getElementById('canvas'), // <- 編集画面を描画するための器となる要素
'lang': 'en', // language
'preview':{ // プレビュー用サーバーの情報を設定します。
'origin': 'http://127.0.0.1:8081'
},
'gpiBridge': function(input, callback){
// GPI(General Purpose Interface) Bridge
// broccoliは、バックグラウンドで様々なデータ通信を行います。
// GPIは、これらのデータ通信を行うための汎用的なAPIです。
$.ajax({
"url": '/your/api/path',
"type": 'post',
'data': {'data':JSON.stringify(input)},
"success": function(data){
callback(data);
}
});
return;
},
'complete': function(){
alert('完了しました。');
},
'onMessage': function( message ){
// ユーザーへ知らせるメッセージを表示する
console.info('message: '+message);
}
},
function(){
// スタンバイ完了したら呼び出されるコールバックメソッドです。
console.info('standby!!');
}
);
</script>
License
MIT License
for developer
$ npm install
開発環境をセットアップします。
$ npm run submodule-update
サブモジュールを更新します。
$ npm start
アプリケーションをスタートします。
$ npm run up
サーバーを起動します。(npm start
と同じ)
$ npm run preview
ブラウザで開きます。(Macのみ)
$ gulp
ビルドします。
$ gulp watch
更新を監視して自動的にビルドします。
$ npm run test
テストスクリプトを実行します。
更新履歴 - Change log
pickles2/lib-px2-module-editor v0.3.3 (2023年2月11日)
- モジュールの
info.json
にid
が明示されている場合に、一覧画面で表示されない問題を修正した。 - クリップモジュールには モジュールID を表示しないようにした。
- 細かいUI改善、内部コード改善など。
pickles2/lib-px2-module-editor v0.3.2 (2022年11月3日)
- 細かいUI改善、内部コード改善など。
pickles2/lib-px2-module-editor v0.3.1 (2022年6月5日)
$conf->plugins
設定が正しく読み込まれない問題を修正。
pickles2/lib-px2-module-editor v0.3.0 (2022年1月8日)
- サポートするPHPのバージョンを
>=7.3.0
に変更。 - PHP 8.1 に対応した。
pickles2/lib-px2-module-editor v0.2.10 (2022年1月4日)
- Pickles 2 Contents Editor の初期化に関する不具合を修正。
- パフォーマンスに関する改善。
pickles2/lib-px2-module-editor v0.2.9 (2021年7月10日)
- Broccoliの必須オプションが渡らない場合がある問題を修正。
pickles2/lib-px2-module-editor v0.2.8 (2021年2月21日)
- Firefox で初期化が完了できない問題に対する修正。
- 依存ライブラリを更新。
pickles2/lib-px2-module-editor v0.2.7 (2020年8月12日)
- 細かいUIの改善と不具合の修正。
pickles2/lib-px2-module-editor v0.2.6 (2020年1月14日)
- 依存ライブラリを更新。
pickles2/lib-px2-module-editor v0.2.5 (2020年1月2日)
- PHP 7.4 に対応した。
- 内部コードの更新。
pickles2/lib-px2-module-editor v0.2.4 (2019年8月12日)
- 内部のライブラリ構成を調整した。
pickles2/lib-px2-module-editor v0.2.3 (2019年6月15日)
broccoli.json
のid
属性に対応。- その他いくつかのUI改善。
pickles2/lib-px2-module-editor v0.2.2 (2018年8月20日)
- PHP版で、プラグインからモジュールパッケージをインポートできない不具合を修正。
pickles2/lib-px2-module-editor v0.2.1 (2018年7月27日)
- PHP版で、
finalize.php
を編集できるようになった。 - PHP版で、カスタムフィールドが読み込まれない問題を修正した。
$px2me->get_client_resources()
を追加。- その他いくつかの不具合を修正。
pickles2-module-editor, pickles2/lib-px2-module-editor v0.2.0 (2018年7月11日)
- バックエンドスクリプトをPHPに移行した。 (NodeJS の実装は、しばらく残したのち、削除される予定)
pickles2-module-editor v0.1.0 (2018年6月22日)
- Initial Release.
License
MIT License
Author
- Tomoya Koyanagi [email protected]
- website: https://www.pxt.jp/
- Twitter: @tomk79 https://twitter.com/tomk79/