2017-05-12 4 views
0

レイアウトを拡張する方法はありますか?GUIDE4YOU - テキストの表示/非表示でレイアウトを変更

フィーチャレイヤーユーザは、画像またはボタンをクリックして、その特定のレイヤのフィーチャのテキストを表示/非表示にすることができます。

フィーチャのテキストの表示/非表示は、レイヤの現在の「showfeaturetext」プロパティの基になっているスタイルファンクションによって処理されます。

これは現在のコードで可能ですか?

敬具、

サム

答えて

0

あなたはguide4youビルドカスタムを作成している場合(https://github.com/KlausBenndorf/guide4you#how-to-install-and-build-guide4youhttps://github.com/KlausBenndorf/guide4you/wiki/How-to-create-an-own-guide4you-moduleを参照)layerselectorを拡張し、buildLayerButtonメソッドを上書きすることができます。残念なことに、buildLayerButtonはボタンを返さないため、少し簡単になります。

export class MyLayerSelector extends LayerSelector { 
    buildLayerButton (layer, $target) { 
     super.buildLayerButton(layer, $target) 
     $target.children(':last-child') // <- this should be your button as a jquery object 
    } 
} 
0

私はこれを成功させることなく試してきました。

  1. 私はソースディレクトリに新しいファイルを作っ:

    は、これらの私の手順です(。\ SRC \コントロール\ MyLayerSelector.js)

  2. 内容:から

    輸入$ ' jqueryの '

    インポート{LayerSelector}から' ./LayerSelector」

    エクスポートクラスMyLayerSelectorはLayerSeleを拡張{ buildLayerButton(layer、$ target){ superbuildLayerButton(layer、$ target) $ button = $ target.children( ':last-child')// < - これはjqueryオブジェクトとしてのボタンにする必要があります } }

  3. edit entry.js。

    インポート{MyLayerSelector} '../../src/Controls/MyLayerSelector'

  4. 編集entry.jsから:私は、この行を追加しました。私は、この行追加した:

    window.createG4U =関数(ターゲット、clientConf = defaultClientConf、layerConf = defaultLayerConf){ リターンcreateG4UInternal(ターゲット、clientConf、layerConf、[ 新しいMyLayerSelector() ]) }

  5. NPMは、出力を構築し実行します。

警告: を[場合は無視されたときに」./src/Controls/Control.js\nThereが同じ名前を持つ別のモジュールである\ nこれがにつながることができます。予想外の他の大文字と小文字を区別してファイルシステム上でコンパイルするときの動作。\ n複数のモジュールが必要な場合はモジュール名を変更するか、1つのモジュールが必要な場合は等価なケーシングを使用する。'、 ' ./src/controls/Control.js\n大文字小文字を無視すると、同じ名前の別のモジュールがあります。\ n他の大文字小文字のセマンティックファイルシステムでコンパイルすると予期しない動作につながる可能性があります。\ n複数のモジュールが期待されているか等しいモジュールが使用されている場合は同じケーシングを使用しています。 '、 ' ./src/Controls/LayerSelector.js \ n大文字と小文字を区別しない場合、同じ名前の別のモジュールがあります。\ nコンパイル時に予期しない動作他の大文字と小文字を区別しないファイルシステム\ n複数のモジュールが必要な場合はモジュール名を変更するか、1つのモジュールが必要な場合は等号を使用する '、 ' ./src/controls/LayerSelector.js\n他の大文字小文字のセマンティクスを持つファイルシステムでコンパイルすると予期しない動作につながる可能性があります。\ n複数のモジュールが必要な場合は\ nモジュール名を指定するか、1つのモジュールが必要な場合は同じケーシングを使用してください。 '、 ' /src/Controls/ControlLogicMixin.js\n大文字小文字を無視すると、同じ名前の別のモジュールがあります。\ n他の大文字小文字のセマンティックを含むファイルシステムでコンパイルすると予期しない動作につながる可能性があります。 '、/ etc/sysctl/etc/sysctl.js \ n大文字小文字を無視すると、同じ名前の別のモジュールがあります。\ nこれは、ファイルシステム上でコンパイルするときに予期しない動作につながる可能性があります-semantic。\ n複数のモジュールが必要な場合はモジュール名を変更するか、1つのモジュールが必要な場合は同じケーシングを使用してください。 キャッチされない例外TypeError:未定義

のプロパティ「selectL10N」を読み取ることができません、私はこれらの警告を無視する場合]

私はjavascriptのエラーを取得します

関連する問題