skysan's programming notebook

コーディングして思ったことなどを気ままに

Nuxt3(RC)アプリをElectronで表示する

はじめに

Nuxt3の勉強がてら、electronアプリで表示するための設定を調べた。 オフラインのデスクトップアプリで使うので、CSR(Client-Side-Rendering)でしてみた。

留意事項

2022/7/18時点では、Static Hosting(静的ホスティング)はまだ試験段階。

This feature is still experimental and under development for Nuxt 3. Full static is not yet implemented but will be in a near future.

出典: https://v3.nuxtjs.org/guide/deploy/static-hosting/

続きを読む

フォーカスが外れた時に、編集をキャンセルするコンポーネントを作る

はじめに

  • Trelloのチェックリストは、フォーカスが外れたときに編集内容がキャンセルされる
  • 単純にinputのblurイベントをコールするのではなく、関連機能にフォーカスがある場合はキャンセルされない
    • 対象コンポーネント(textbox、OKボタン、キャンセルボタン)にフォーカスがある場合は編集内容はキャンセルされない
    • それ以外の項目に移動した場合は、キャンセルする
  • この機能を自作してみる

成果物

続きを読む

VSCodeのリモート開発機能でSalesforceプロジェクト開発を試す(on WSL2 without Docker Desktop)

はじめに

以前VSCodeとDocker Desktopを使用してSalesforce開発環境を作成した。 (以下の記事ではmacOS上に構築) skysan87.hatenablog.com

諸般の事情でWindowsPCのDocker Desktopの利用をやめて、WSL上にDocker環境を作成し、VSCodeのRemote Developmentで開発できるようにした。

注意: リモート開発機能は現在ベータ版です。 *1

続きを読む

Auraコンポーネント: 非同期処理の際はライフサイクルに気をつけようという話

はじめに

AuraコンポーネントからApexのアクションをコールする際に、Promiseを利用し汎用の非同期メソッドを実装しました。 then()を使ったメソッドチェーンで、レスポンス取得後の処理がうまく行きませんでした。

  1. 非公開属性のaura:attributeの値が変更されない
  2. e.force:closeQuickActionでモーダルが閉じない
続きを読む

Nuxt.js + Electronの環境構築(Monorepo風)

はじめに

  • Web(Nuxt.js)側のコードを独立して動かせる環境構築
  • mainプロセスとrendererプロセス間の通信方法を検証

成果物

https://github.com/skysan87/nuxt-electron-sample

目次

  • はじめに
  • 成果物
  • 目次
  • プロジェクトの作成
    • ディレクトリ構成
    • 作成手順
      • 1. Nuxt.jsプロジェクト作成
      • 2. Electronプロジェクト作成
    • 3. 出力先フォルダの設定
      • nuxt.config.js
  • ElectronとNuxt.js間の通信
    • 概要
    • preload.js
    • Rendererプロセス
    • Mainプロセス
  • 実行ファイル作成(Macのみ記載)
    • ビルドコマンド
  • 所感
  • 参考文献
続きを読む

Apexで任意のプロパティでリストの並び替え(sort)をしてみる

背景

  • ApexではListクラスにのみsortメソッドがあるが、ソートの柔軟性がない
  • Apexクラス型のListを簡単にソートする方法を検証してみた

留意事項

  • 試験的に実装したため、パフォーマンスは考慮していません
続きを読む