1

GeoNetwork 3 MapViewer にいくつかのボタンを追加しようとしています。残念ながら、私は GN3 が記述されている AngularJS を初めて使用します。そのため、「gnMainViewer」ディレクティブが使用している html テンプレートを編集しました。

ViewerDirectve.js:

module.directive('gnMainViewer', [
'gnMap',
function(gnMap) {
  return {
    restrict: 'A',
    replace: true,
    scope: true,
    templateUrl: '../../catalog/components/viewer/' +
        'partials/mainviewer.html',
[...]
}]);

このテンプレートでは、MapView に表示されるボタンを見つけることができます。

mainviewer.html:

  <div class="wrapper" data-ng-controller="gnViewerController">

  <div data-gn-alert-manager=""></div>
  <div id="map" ngeo-map="map" class="map"></div>
  <div gn-gfi="" map="map"></div>
  <div gn-localisation-input map="map"></div>

  <!--Top right buttons - Tools-->
  <div class="tools tools-right" gi-btn-group gnv-close-panel data-ng-controller="toolsController">
    <button class="btn btn-default" ng-model="activeTools.addLayers" type="submit"
            rel="#addLayers" gi-btn gnv-tools-btn>
      <span class="fa fa-plus"></span>
      <span role="tooltip" data-translate="">addLayers</span>
    </button>
    <button class="btn btn-default" ng-model="activeTools.layers" type="submit"
            rel="#layers" gi-btn gnv-tools-btn>
      <span class="fa fa-tasks"></span>
      <span role="tooltip" data-translate="">Layers</span>
    </button>

[...]
</div>
</div>

だから私は言ってみましょうボタンを追加しました:

<button class="btn btn-default" ng-model="" type="submit"
            rel="#" gi-btn gnv-tools-btn>
      <span class="fa fa-beer"></span>
      <span role="tooltip">NewButton</span>
    </button>

テンプレートに。

次に、変更を保存し、サーバー上の MapView-Page を更新しました。ただし、新しいボタンは表示されません。また、「右上のボタン」というコメントを別のものに変更しても、表示される MapView-Page は変更されません。サーバーを再起動しても何も変わりません。

AngularJS がこのように反応する理由を誰か説明してもらえますか? 何か案は?

4

1 に答える 1

1

http://localhost:8080/geonetwork/srv/ger/catalog.search?debug#/mapなどのデバッグ モードでページを実行して、 すべての AngularJS ファイルを個別にキャッシュなしで強制的にロードする必要があることがわかりました。

于 2015-06-09T07:31:06.333 に答える