[Salesforce]Long running operation did not complete, continued in background

Long running operation did not complete, continued in background

I am debugging a apex trigger/class and is using the Developer Console. When I click on my log entry it seems like it loads the logs and then I get this popup:

enter image description here

You need to manually download the logs. Go to ‘File’ then ‘Download Log’.

enter image description here

[Salesforce]Lightning Webコンポーネントの非デコレータ

Lightning Webコンポーネントの非デコレータ

// howToUseVariables.js
import { LightningElement } from 'lwc';

export default class HowToUseVariables extends LightningElement {
    name = 'プレーン太郎';
}

// howToUseVariables.html
<template>
    <lightning-card class="slds-m-around_small">
        (そのまま記述)
        <p>name : {name}</p>
    </lightning-card>   
</template>

//howToUseVariables.js-meta.xml
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__AppPage</target>
        <target>lightning__RecordPage</target>
        <target>lightning__HomePage</target>
    </targets>
</LightningComponentBundle>

動作確認

[Salesforce]Lightning Webコンポーネントのデコレータ

Lightning Webコンポーネントのデコレータ

Lightning Web コンポーネントデコレーターの例として、次のようなものがあります。

@api

項目を公開としてマークします。

@track

オブジェクトのプロパティまたは配列の要素の変更を監視するようにフレームワークに指示します。

@wire

Salesforce からデータを簡単に取得してバインドできるようにします。

<!-- app.html -->
<template>
<div>
    <c-bike bike={bike}></c-bike>
</div>
</template>

// app.js
import { LightningElement } from 'lwc';
export default class App extends LightningElement {
    bike = {
        name: 'Electra X4',
        picture: 'https://s3-us-west-1.amazonaws.com/sfdc-demo/ebikes/electrax4.jpg'
    };
}

<!-- bike.html -->
<template>
    <img src={bike.picture} alt="bike picture" />
    <p>{bike.name}</p>
</template>

// bike.js
import { LightningElement, api } from 'lwc';
export default class Bike extends LightningElement {
    @api bike;
}

[Salesforce]Lightning Webコンポーネント作成

Lightning Webコンポーネント作成

LWC.studio に移動します。

app.html

<template>
    <div id="waiting" if:false={ready}>Loading…</div>
    <div id="display" if:true={ready}>
        <div>Name: {name}</div>
        <div>Description: {description}</div>
        <lightning-badge label={material}></lightning-badge>
        <lightning-badge label={category}></lightning-badge>
        <div>Price: {price}</div>
        <div><img src={pictureUrl}/></div>
    </div>
</template>

app.js

import { LightningElement } from 'lwc';
export default class App extends LightningElement {
   name = 'Electra X4';
   description = 'A sweet bike built for comfort.';
   category = 'Mountain';
   material = 'Steel';
   price = '$2,700';
   pictureUrl = 'https://s3-us-west-1.amazonaws.com/sfdc-demo/ebikes/electrax4.jpg';
   ready = false;
   connectedCallback() {
       setTimeout(() => {
           this.ready = true;
       }, 3000);
   }
}

[Technical Method]LWC.studio

LWC.studio

 LWC.studio というサードパーティの IDE を使用した次の手順に従ってください。

  1. LWC.studio に移動します。
  2. GitHub アカウントを使用してログインし、[新規] をクリックします。
  3. 以下の HTML、JavaScript、および CSS の例を、対応する app.x ファイルにコピーします。app ファイル内にあるすべてのコードを置き換えます。

HTML

<template>
    <input value={message}></input>
</template>

JavaScript

import { LightningElement } from 'lwc';
export default class App extends LightningElement {
  message = 'Hello World';
}

CSS

input {
   color: blue;
}

  1. ファイルを保存します。

[Stories (ストーリー)] タブに出力が表示されます。

[Salesforce]Lightning Web コンポーネントの概要

Lightning Web コンポーネントの概要

Lightning Web コンポーネントは、開発者とユーザーエクスペリエンスの両方に重点を置いています。

記述するコードの大部分は、標準の JavaScript および HTML です。

HTML、JavaScript、CSS を使用してコンポーネントを作成するだけです。

Lightning Web コンポーネントは、3 ステップで作成できます。(1) JavaScript ファイルを作成し、(2) HTML ファイルを作成し、必要に応じて (3) CSS ファイルを作成します。

  • HTML は、コンポーネントの構造を提供します。
  • JavaScript は、コアビジネスロジックとイベント処理を定義します。
  • CSS は、コンポーネントのデザインとアニメーションを提供します。

HTML

<template>
    <input value={message}></input>
</template>

JavaScript

import { LightningElement } from 'lwc';
export default class App extends LightningElement {
  message = 'Hello World';
}

CSS

input {
   color: blue;
}

[Salesforce]Hello World Lightning Web コンポーネントの作成

Hello World Lightning Web コンポーネントの作成

Lightning Web コンポーネントを作成する

新しいコンポーネントの名前として helloWorld と入力します。

helloWorld.html

<template>
    <lightning-card title="HelloWorld" icon-name="custom:custom14">
        <div class="slds-m-around_medium">
          <p>Hello, {greeting}!</p>
          <lightning-input label="Name" value={greeting} onchange={changeHandler}></lightning-input>
        </div>
    </lightning-card> 
</template>

helloWorld.js

import { LightningElement } from 'lwc';

export default class HelloWorld extends LightningElement {
    greeting = 'World';
    changeHandler(event) {
      this.greeting = event.target.value;
    }    
}

helloWorld.js-meta.xml

<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>57.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__AppPage</target>
        <target>lightning__RecordPage</target>
        <target>lightning__HomePage</target>
    </targets>
</LightningComponentBundle>

Lightning Experience でアプリケーションにコンポーネントを追加する

  1. アプリケーションランチャー (アプリケーションランチャー) で、[Sales (セールス)] を見つけて選択します。
  2. 設定ギア をクリックして、[Edit Page (編集ページ)] を選択します。
  3. Lightning コンポーネントのリストの [Custom (カスタム)] 領域から helloWorld Lightning Web コンポーネントをページキャンバスの上部にドラッグします。

右列に HelloWorld Lightning Web コンポーネントが配置された Lightning アプリケーションビルダー。

  1. [Save (保存)] をクリックします。
  2. [Activate (有効化)] をクリックします。
  3. [Assign as Org Default (組織のデフォルトとして割り当て)] をクリックします。
  4. [Save (保存)] をクリックします。
  5. もう一度 [Save (保存)] をクリックしてから、戻る矢印 をクリックしページに戻ります。
  6. ページを更新すると、新しいコンポーネントが表示されます。

HelloWorld Lightning Web コンポーネントを表示するホームページ。

[Thchnical terms]ユーザーエクスペリエンス(UX)

ユーザーエクスペリエンス(UX)

具体的なを挙げると、あるユーザーがECサイトを利用した際に、欲しい商品が見つけやすかった、商品の写真が鮮明で説明もわかりやすいと感じた、購入への操作や入力がスムーズに進んだといった体験はどれもUXの一部です。

ユーザーエクスペリエンスを向上させるには、コンテンツのビジュアルや構造のデザインを見直す、ユーザーの目的達成までのスピードを改善する、コンテンツのクオリティを上げるといった施策が有効です。 また、高いユーザーエクスペリエンスには「ユーザーのフィードバック」も不可欠となってきます。

企業が質の高いUXを提供すると、ユーザーは自身の需要を心地良く満たす手段を得られます。 UXに注力した企業は、自社の商品やサービスの根強いファンを獲得でき、安定的な収益基盤を得ることにつながるのです。

企業Webサイトの運用においても、サービスや使い勝手の改善だけでなく、UXを検討する必要があります。 とくにスマートフォンやタブレットなどデバイスが急速に進化し、ユーザーとの接点環境が大きく変化しているので、UXはますます重要になっています。

[Salesforce]Lightning Web ComponentでquerySelector()メソッド

Lightning Web ComponentでquerySelector()メソッド

querySelector()メソッドは、DOM要素を検索するためのメソッドの一つ。

LWCコンポーネントのDOM要素を取得するために、

this.template.querySelectorを使用することができます。

これによってどのコンポーネントのDOM要素を取得するのかを指摘できます。

・使い方

使用元のメソッドやプロパティに@apiデコレータをつけて、

他のコンポーネントで使う場合には使用元のDOM要素を指定し、メソッドを記載すれば使用できるようになります。

[Salesforce]Lightning Web Component開発手順

Lightning Web Component開発手順

・JavaScript ファイルを作成

・HTML ファイルを作成

・(必要に応じて)CSS ファイルを作成

HTML:枠組

Javascritp:動く仕組み

デコレータ:昨日を繋ぐアイテム

デコレータの種類

@api

@tract

@wire

@tractについて

・コンポーネント内のJavascriptとHTMLを繋ぐためのデコレータ

@wireについて

・Javascriptの変数とApexのメソッドを繋ぐためのデコレータ

@apiについて

・公開するために使うデコレータ