Popup: newModeless()

モードレスポップアップを生成します。

構文

Popup.newModeless(container) => AlierView

引数

  • container: PopupContainer

    表示するポップアップのコンテナです。

返値: AlierView

生成されたモードレスポップアップが入っている AlierView です。

例外

  • TypeError
    • 引数 containerPopupContainer のインスタンスでなかった場合。

<div id="myModeless">
    <div>
        <div id="modeless-view">
            <p>modeless popup Test</p>
        </div>
        <button id="ok" class="okButton" data-ui-component data-active-events="click">OK</button>
    </div>
</div>
class MyPopup extends PopupContainer {
    constructor() {
        super();
        this.relateElements(
            this.collectElements(
                this.loadContainer("popupTest_popup.html", "myModeless")
            )
        );
    }
    async messageHandler(msg) {
        msg.deliver({
            ok:(msg) => {
                this.close();
            }
        });
    }
};

let element = Popup.newModeless(new MyPopup());

解説

引数 container をコンテンツとしたモードレスポップアップが生成されます。DOM ツリーの body 直下に AlierView が新たに生成され、その中に生成したモードレスポップアップが入ります。この関数が呼ばれると、副作用として引数containerclose()メソッドが追加されます。モーダルポップアップを閉じるには、このcontainer.close()メソッドを呼び出してください。