Я пытаюсь добавить некоторые кнопки в MapViewer GeoNetwork 3. К сожалению, я новичок в AngularJS, на котором написан GN3. Так что я сделал редактирование html-шаблона, который использует директива 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 на моем сервере. Но новая кнопка не будет отображаться. Кроме того, изменение комментария «Лучшие правые кнопки» на что-то другое не внесет никаких изменений в отображаемую MapView-страницу. Даже перезапуск сервера ничего не изменит.
Может ли кто-нибудь объяснить мне, почему AngularJS так реагирует? Есть идеи?
Вы уверены, что редактируете правильный шаблон? Ваш подход выглядит нормально. – dcardoso
Насколько я могу судить - Да. Это единственный шаблон, который содержит кнопки, показанные в этом представлении. К сожалению, этот шаблон не загружается, когда я просматриваю запросы в консоли разработчика Chrome. В любом случае эти кнопки отображаются так, чтобы их нужно было загружать где-то - верно? – Antivist
Что я нашел - это файл с именем gn_search_default.js, который использует $ templateCache.put ('../../ catalog/components/viewer/partials/mainviewer.html', [.. html elements ..]; Я думаю, что так загружается шаблон html, но мои изменения не отражаются в этих [html-элементах], которые ставятся. – Antivist